diff --git api.wordpress.org/public_html/core/browse-happy/1.0/index.php api.wordpress.org/public_html/core/browse-happy/1.0/index.php
index 1228d038b..6bf6f22e1 100644
--- api.wordpress.org/public_html/core/browse-happy/1.0/index.php
+++ api.wordpress.org/public_html/core/browse-happy/1.0/index.php
@@ -37,6 +37,7 @@ if ( $jsonp ) {
  *
  * @param string $ua   The user-agent string.
  * @param array  $data Parsed user-agent data.
+ * @global wpdb  $wpdb WordPress database abstraction object.
  */
 function bh_record_data( $ua, $data ) {
 	global $wpdb;
diff --git api.wordpress.org/public_html/core/credits/index.php api.wordpress.org/public_html/core/credits/index.php
index d57d990e2..6246c91a4 100644
--- api.wordpress.org/public_html/core/credits/index.php
+++ api.wordpress.org/public_html/core/credits/index.php
@@ -49,30 +49,6 @@ $locale = false;
 if ( ( isset( $_GET['locale'] ) && 'en_US' != $_GET['locale'] ) || ( 'cli' == php_sapi_name() && isset( $argv[2] ) ) ) {
 	require GLOTPRESS_LOCALES_PATH;
 
-	// Temporary: Add language variants to the list of GlotPress locales.
-	$GLOBALS['gp_locales'] = new GP_Locales();
-
-	$de_formal = clone GP_Locales::by_field( 'wp_locale', 'de_DE' );
-	$de_formal->english_name = 'German (Formal)';
-	$de_formal->native_name = 'Deutsch (Sie)';
-	$de_formal->slug = 'de/formal';
-	$de_formal->wp_locale = 'de_DE_formal';
-	$GLOBALS['gp_locales']->locales['de/formal'] = $de_formal;
-
-	$nl_formal = clone GP_Locales::by_field( 'wp_locale', 'nl_NL' );
-	$nl_formal->english_name = 'Dutch (Formal)';
-	$nl_formal->native_name = 'Nederlands (Formeel)';
-	$nl_formal->slug = 'nl/formal';
-	$nl_formal->wp_locale = 'nl_NL_formal';
-	$GLOBALS['gp_locales']->locales['nl/formal'] = $nl_formal;
-
-	$de_ch_informal = clone GP_Locales::by_field( 'wp_locale', 'de_CH' );
-	$de_ch_informal->english_name = 'German (Switzerland, Informal)';
-	$de_ch_informal->native_name = 'Deutsch (Schweiz, Du)';
-	$de_ch_informal->slug = 'de-ch/informal';
-	$de_ch_informal->wp_locale = 'de_CH_informal';
-	$GLOBALS['gp_locales']->locales['de-ch/informal'] = $de_ch_informal;
-
 	$gp_locale = GP_Locales::by_field( 'wp_locale', isset( $argv[2] ) ? $argv[2] : $_GET['locale'] );
 	if ( $gp_locale ) {
 		$locale = $gp_locale;
diff --git api.wordpress.org/public_html/core/credits/wp-48.php api.wordpress.org/public_html/core/credits/wp-48.php
index acbc6c50a..0000456d4 100644
--- api.wordpress.org/public_html/core/credits/wp-48.php
+++ api.wordpress.org/public_html/core/credits/wp-48.php
@@ -157,7 +157,7 @@ class WP_48_Credits extends WP_Credits {
 			'dhaval-parekh',
 			'diddledan',
 			'dimadin',
-			'dingo_bastard',
+			'dingo_d',
 			'dlh',
 			'dllh',
 			'dotancohen',
diff --git api.wordpress.org/public_html/core/credits/wp-49.php api.wordpress.org/public_html/core/credits/wp-49.php
index 8ce0599df..316edf913 100644
--- api.wordpress.org/public_html/core/credits/wp-49.php
+++ api.wordpress.org/public_html/core/credits/wp-49.php
@@ -224,7 +224,7 @@ class WP_49_Credits extends WP_Credits {
 			'desrosj',
 			'diedeexterkate',
 			'dimadin',
-			'dingo_bastard',
+			'dingo_d',
 			'dipeshkakadiya',
 			'div33',
 			'dixitadusara',
diff --git api.wordpress.org/public_html/core/credits/wp-50.php api.wordpress.org/public_html/core/credits/wp-50.php
index ac8450df0..df43198f8 100644
--- api.wordpress.org/public_html/core/credits/wp-50.php
+++ api.wordpress.org/public_html/core/credits/wp-50.php
@@ -140,6 +140,7 @@ class WP_50_Credits extends WP_Credits {
 			'cantothemes',
 			'cathibosco',
 			'caxco93',
+			'celloexpressions',
 			'chanthaboune',
 			'charlestonsw',
 			'chetan200891',
@@ -184,7 +185,7 @@ class WP_50_Credits extends WP_Credits {
 			'diegoliv',
 			'diegoreymendez',
 			'dimadin',
-			'dingo_bastard',
+			'dingo_d',
 			'dixitadusara',
 			'dlh',
 			'dlocc',
@@ -282,6 +283,7 @@ class WP_50_Credits extends WP_Credits {
 			'jhoffm34',
 			'jipmoors',
 			'jnylen0',
+			'jobthomas',
 			'joedolson',
 			'joehoyle',
 			'joemaller',
@@ -314,6 +316,7 @@ class WP_50_Credits extends WP_Credits {
 			'kevinwhoffman',
 			'khleomix',
 			'kjellr',
+			'kloon',
 			'kluny',
 			'koke',
 			'kopepasah',
@@ -418,6 +421,7 @@ class WP_50_Credits extends WP_Credits {
 			'omarreiss',
 			'oskosk',
 			'otto42',
+			'panchen',
 			'pareshradadiya-1',
 			'pauldechov',
 			'paulstonier',
@@ -450,6 +454,7 @@ class WP_50_Credits extends WP_Credits {
 			'rianrietveld',
 			'richsalvucci',
 			'richtabor',
+			'rickalee',
 			'riddhiehta02',
 			'rileybrook',
 			'rmccue',
@@ -495,11 +500,13 @@ class WP_50_Credits extends WP_Credits {
 			'stubgo',
 			'subrataemfluence',
 			'sumobi',
+			'superpoincare',
 			'swissspidy',
 			'tacrapo',
 			'talldan',
 			'tammie_l',
 			'technosiren',
+			'tellyworth',
 			'tfrommen',
 			'themeroots',
 			'thrijith',
@@ -512,8 +519,8 @@ class WP_50_Credits extends WP_Credits {
 			'tlxo',
 			'tmatsuur',
 			'tobifjellner',
-			'toro_unit',
 			'torontodigits',
+			'toro_unit',
 			'travel_girl',
 			'travislopes',
 			'truongwp',
diff --git api.wordpress.org/public_html/core/credits/wp-51.php api.wordpress.org/public_html/core/credits/wp-51.php
new file mode 100644
index 000000000..76675d18e
--- /dev/null
+++ api.wordpress.org/public_html/core/credits/wp-51.php
@@ -0,0 +1,670 @@
+<?php
+
+class WP_51_Credits extends WP_Credits {
+
+	public function groups() {
+		$groups = [
+			'core-developers'         => [
+				'name'    => 'Noteworthy Contributors',
+				'type'    => 'titles',
+				'shuffle' => false,
+				'data'    => [
+					'matt'             => [ 'Matt Mullenweg', 'Release Lead' ],
+					'pento'            => [ 'Gary Pendergast', 'Release Lead' ],
+					'SergeyBiryukov'   => [ 'Sergey Biryukov', 'Core Developer' ],
+					'azaozz'           => [ 'Andrew Ozz', 'Core Developer' ],
+					'flixos90'         => [ 'Felix Arntz', 'Core Developer' ],
+					'johnbillion'      => [ 'John Blackbourn', 'Core Developer' ],
+					'peterwilsoncc'    => [ 'Peter Wilson', 'Core Developer' ],
+					'jrf'              => [ 'Juliette Reinders Folmer', 'Core Developer' ],
+					'desrosj'          => [ 'Jonathan Desrosiers', 'Core Developer' ],
+					'melchoyce'        => 'Mel Choyce',
+					'schlessera'       => 'Alain Schlesser',
+					'soulseekah'       => 'Gennady Kovshenin',
+				],
+			],
+			'contributing-developers' => [
+				'name'    => false,
+				'type'    => 'titles',
+				'shuffle' => true,
+				'data'    => [
+					'ryelle'            => 'Kelly Dwan',
+					'chetan200891'      => 'Chetan Prajapati',
+					'mukesh27'          => 'Mukesh Panchal',
+					'birgire'           => 'Birgir Erlendsson',
+					'netweb'            => 'Stephen Edgar',
+					'afercia'           => 'Andrea Fercia',
+					'atimmer'           => 'Anton Timmermans',
+					'herregroen'        => 'Herre Groen',
+					'jorbin'            => 'Aaron Jorbin',
+					'kadamwhite'        => 'K.Adam White',
+					'ocean90'           => 'Dominik Schilling',
+					'DrewAPicture'      => 'Drew Jaynes',
+					'boonebgorges'      => 'Boone Gorges',
+					'joemcgill'         => 'Joe McGill',
+					'subrataemfluence'  => 'Subrata Sarkar',
+					'ireneyoast'        => 'Irene Strikkers',
+					'audrasjb'          => 'Jb Audras',
+					'Rarst'             => 'Andrey Savchenko',
+					'omarreiss'         => 'Omar Reiss',
+					'mcsf'              => 'Miguel Fonseca',
+					'gziolo'            => 'Grzegorz Ziółkowski',
+					'youknowriad'       => 'Riad Benguella',
+					'iseulde'           => 'Ella Van Durpe',
+					'aduth'             => 'Andrew Duthie',
+					'jorgefilipecosta'  => 'Jorge Costa',
+					'mkaz'              => 'Marcus Kazmierczak',
+					'kjellr'            => 'Kjell Reigstad',
+					'nosolosw'          => 'Andrés Maneiro',
+					'TimothyBlynJacobs' => 'Timothy Jacobs',
+					'nerrad'            => 'Darren Ethier',
+				],
+			],
+		];
+
+		return $groups;
+	}
+
+	public function props() {
+		return [
+			'0x6f0',
+			'1265578519-1',
+			'1naveengiri',
+			'360zen',
+			'aardrian',
+			'abdullahramzan',
+			'abhayvishwakarma',
+			'abhijitrakas',
+			'achbed',
+			'acirujano',
+			'adamsilverstein',
+			'aduth',
+			'afercia',
+			'afragen',
+			'ajitbohra',
+			'aldavigdis',
+			'alejandroxlopez',
+			'alexgso',
+			'alexstine',
+			'alexvorn2',
+			'allancole',
+			'allendav',
+			'alvarogois',
+			'anantajitjg',
+			'andg',
+			'andizer',
+			'andreamiddleton',
+			'andrei0x309',
+			'andreiglingeanu',
+			'andrewza',
+			'anevins',
+			'antaltettinger',
+			'antipole',
+			'antonioeatgoat',
+			'aranwer104',
+			'aryamaaru',
+			'ashokrd2013',
+			'atimmer',
+			'audrasjb',
+			'avillegasn',
+			'ayeshrajans',
+			'ayubadiputra',
+			'azaozz',
+			'bamadesigner',
+			'bandonrandon',
+			'barryceelen',
+			'behzod',
+			'benhuberman',
+			'benoitchantre',
+			'benvaassen',
+			'bhargavmehta',
+			'bikecrazyy',
+			'birgire',
+			'bjornw',
+			'blair-jersyer',
+			'blobfolio',
+			'bobbingwide',
+			'boblinthorst',
+			'boda1982',
+			'boemedia',
+			'boonebgorges',
+			'bor0',
+			'bpayton',
+			'bradleyt',
+			'bradparbs',
+			'bramheijmink',
+			'brentswisher',
+			'bridgetwillard',
+			'bruceallen',
+			'bulletdigital',
+			'burhandodhy',
+			'burlingtonbytes',
+			'calin',
+			'campusboy1987',
+			'carolinegeven',
+			'casiepa',
+			'ccismaru',
+			'celloexpressions',
+			'chasewg',
+			'cheffheid',
+			'chetan200891',
+			'chouby',
+			'chrico',
+			'chriscct7',
+			'clarinetlord',
+			'claudiu',
+			'cliffpaulick',
+			'clorith',
+			'codegrau',
+			'codestor',
+			'coffee2code',
+			'coleh',
+			'conner_bw',
+			'coreymckrill',
+			'croce',
+			'cthreelabs',
+			'daniel-koskinen',
+			'danielbachhuber',
+			'danieltj',
+			'danimalbrown',
+			'dannycooper',
+			'dannydehaan',
+			'darko-a7',
+			'davepullig',
+			'davidakennedy',
+			'davidanderson',
+			'davidbinda',
+			'dd32',
+			'dekervit',
+			'denisco',
+			'desertsnowman',
+			'designsimply',
+			'desrosj',
+			'dfangstrom',
+			'dglingren',
+			'dhanendran',
+			'dharm1025',
+			'dhavalkasvala',
+			'dhruvin',
+			'diedeexterkate',
+			'dilipbheda',
+			'dimadin',
+			'dingo_d',
+			'dipeshkakadiya',
+			'dlh',
+			'dmsnell',
+			'donncha',
+			'dontstealmyfish',
+			'drewapicture',
+			'drivingralle',
+			'drywallbmb',
+			'dschalk',
+			'dshanske',
+			'dsifford',
+			'dyrer',
+			'eamax',
+			'earnjam',
+			'eartboard',
+			'edo888',
+			'edocev',
+			'electricfeet',
+			'ericdaams',
+			'erich_k4wp',
+			'ericlewis',
+			'ericmeyer',
+			'ethitter',
+			'etoledom',
+			'evansolomon',
+			'faisal03',
+			'fclaussen',
+			'felipeelia',
+			'fierevere',
+			'flipkeijzer',
+			'flixos90',
+			'fpcsjames',
+			'frank-klein',
+			'fuchsws',
+			'fullyint',
+			'garetharnold',
+			'garrett-eclipse',
+			'garyj',
+			'girishpanchal',
+			'gm_alex',
+			'gma992',
+			'gnif',
+			'grapplerulrich',
+			'graymouser',
+			'greatislander',
+			'greenshady',
+			'greg',
+			'guido07111975',
+			'gutendev',
+			'gziolo',
+			'hafiz',
+			'hailite',
+			'hansjovisyoast',
+			'hardeepasrani',
+			'hardik-amipara',
+			'harsh175',
+			'haruharuharuby',
+			'hedgefield',
+			'helen',
+			'henrywright',
+			'herregroen',
+			'hitendra-chopda',
+			'iamfriendly',
+			'ianbelanger',
+			'iandunn',
+			'ibachal',
+			'ibantxillo',
+			'ibenic',
+			'icaleb',
+			'iceable',
+			'idea15',
+			'igmoweb',
+			'igorsch',
+			'imath',
+			'ionvv',
+			'ireneyoast',
+			'isabel104',
+			'iseulde',
+			'ishitaka',
+			'itowhid06',
+			'ixkaito',
+			'j-falk',
+			'jackreichert',
+			'jainnidhi',
+			'jakept',
+			'jamosova',
+			'janak007',
+			'janalwin',
+			'jankimoradiya',
+			'janthiel',
+			'jaswrks',
+			'javorszky',
+			'jaydeep-rami',
+			'jaymanpandya',
+			'jdgrimes',
+			'jeffpaul',
+			'jeherve',
+			'jeremeylduvall',
+			'jeremyescott',
+			'jeremyfelt',
+			'jesperher',
+			'jfarthing84',
+			'jipmoors',
+			'jirihon',
+			'jjcomack',
+			'jmdodd',
+			'jnylen0',
+			'joanrho',
+			'jobthomas',
+			'joedolson',
+			'joehoyle',
+			'joelcj91',
+			'joemcgill',
+			'joen',
+			'johnalarcon',
+			'johnbillion',
+			'johnjamesjacoby',
+			'johnny5',
+			'johnpgreen',
+			'johnschulz',
+			'joneiseman',
+			'joostdevalk',
+			'jorbin',
+			'jorgefilipecosta',
+			'josephscott',
+			'joshuawold',
+			'joyously',
+			'jpry',
+			'jpurdy647',
+			'jrchamp',
+			'jrdelarosa',
+			'jrf',
+			'jryancard',
+			'jtsternberg',
+			'juiiee8487',
+			'juliemoynat',
+			'junaidkbr',
+			'justinsainton',
+			'kadamwhite',
+			'kapteinbluf',
+			'karmatosed',
+			'keesiemeijer',
+			'kelvink',
+			'khaihong',
+			'kiranpotphode',
+			'kjellr',
+			'kkarpieszuk',
+			'kloon',
+			'kmeze',
+			'knutsp',
+			'konainm',
+			'kraftbj',
+			'kristastevens',
+			'krutidugade',
+			'kwonye',
+			'la-geek',
+			'laghee',
+			'lakenh',
+			'lancewillett',
+			'lanche86',
+			'larrach',
+			'laurelfulford',
+			'lbenicio',
+			'leanderiversen',
+			'leemon',
+			'lenasterg',
+			'lisannekluitmans',
+			'littlebigthing',
+			'littlerchicken',
+			'lizkarkoski',
+			'lonelyvegan',
+			'lorenzone92',
+			'lucagrandicelli',
+			'lucasrolff',
+			'luciano-croce',
+			'lukecarbis',
+			'luminus',
+			'maartenleenders',
+			'macbookandrew',
+			'mako09',
+			'manikmist09',
+			'manuel_84',
+			'manuelaugustin',
+			'marcelo2605',
+			'marcomarsala',
+			'marcomartins',
+			'marcwieland95',
+			'mariovalney',
+			'mariusvw',
+			'markjaquith',
+			'mathieuhays',
+			'mattyrob',
+			'mbelchev',
+			'mboynes',
+			'mcmwebsol',
+			'mcsf',
+			'meatman89fs',
+			'melchoyce',
+			'mensmaximus',
+			'mermel',
+			'metalandcoffee',
+			'metodiew',
+			'mgibbs189',
+			'michielatyoast',
+			'mihaiiceyro',
+			'mihdan',
+			'mikegillihan',
+			'mikejolley',
+			'mikeschroder',
+			'milana_cap',
+			'milindmore22',
+			'mirkoschubert',
+			'mirucon',
+			'miss_jwo',
+			'mista-flo',
+			'miyauchi',
+			'mkaz',
+			'mmaumio',
+			'mmtr86',
+			'mnelson4',
+			'monikarao',
+			'mrasharirfan',
+			'mrmadhat',
+			'mrtortai',
+			'mt8biz',
+			'mte90',
+			'mukesh27',
+			'munklefish',
+			'munyagu',
+			'mythemeshop',
+			'mzorz',
+			'nacin',
+			'nadim0988',
+			'nahuelmahe',
+			'nandorsky',
+			'nao',
+			'naoki0h',
+			'natacado',
+			'nataliashitova',
+			'nateallen',
+			'nathanatmoz',
+			'ndavison',
+			'ndiego',
+			'nerrad',
+			'netweb',
+			'nextendweb',
+			'nick_thegeek',
+			'nickmomrik',
+			'nicollle',
+			'nielslange',
+			'nikeo',
+			'nikschavan',
+			'noisysocks',
+			'nosolosw',
+			'notnownikki',
+			'obenland',
+			'ocean90',
+			'odysseygate',
+			'omarreiss',
+			'othellobloke',
+			'otto42',
+			'ov3rfly',
+			'paaljoachim',
+			'palmiak',
+			'panchen',
+			'parbaugh',
+			'paulschreiber',
+			'pbearne',
+			'pbiron',
+			'pento',
+			'peterwilsoncc',
+			'piewp',
+			'piyush9100',
+			'pmbaldha',
+			'poena',
+			'pputzer',
+			'pratikkry',
+			'pratikthink',
+			'precies',
+			'presskopp',
+			'presslabs',
+			'presstigers',
+			'professor44',
+			'programmin',
+			'promz',
+			'pross',
+			'pskli',
+			'punit5658',
+			'purnendu',
+			'qcmiao',
+			'rabmalin',
+			'rachelbaker',
+			'rafsuntaskin',
+			'rahulsprajapati',
+			'ramiy',
+			'ramizmanked',
+			'ramonopoly',
+			'rarst',
+			'ravanh',
+			'redcastor',
+			'remyvv',
+			'rensw90',
+			'rhetorical',
+			'rianrietveld',
+			'rickalee',
+			'rinkuyadav999',
+			'rishishah',
+			'rmccue',
+			'robbie505',
+			'robdxw',
+			'robinvandervliet',
+			'ryelle',
+			'ryotsun',
+			'rzen',
+			'sagarnasit',
+			'samikeijonen',
+			'sasiddiqui',
+			'sayedwp',
+			'schlessera',
+			'scottlee',
+			'seanchayes',
+			'sebakurzyn',
+			'sebastianpisula',
+			'sebastienserre',
+			'sebastienthivinfocom',
+			'sephsekla',
+			'sergeybiryukov',
+			'shamim51',
+			'shaneeckert',
+			'sharaz',
+			'shashwatmittal',
+			'sherwood',
+			'shital-patel',
+			'shivapoudel',
+			'shooper',
+			'sivel',
+			'sjardo',
+			'skoldin',
+			'skostadinov',
+			'slilley',
+			'slushman',
+			'soean',
+			'sonjaleix',
+			'sonjanyc',
+			'soulseekah',
+			'spacedmonkey',
+			'spartank',
+			'spyderbytes',
+			'sstoqnov',
+			'stazdotio',
+			'stephenharris',
+			'stevenlinx',
+			'stodorovic',
+			'stormrockwell',
+			'strategio',
+			'subrataemfluence',
+			'superdav42',
+			'superpoincare',
+			'swift',
+			'swissspidy',
+			'takahashi_fumiki',
+			'talldanwp',
+			'teddytime',
+			'tellyworth',
+			'terriann',
+			'terwdan',
+			'tferry',
+			'tfrommen',
+			'tharsheblows',
+			'themezee',
+			'thomas-vitale',
+			'thomasplevy',
+			'thomaswm',
+			'thrijith',
+			'tiagohillebrandt',
+			'tigertech',
+			'timhavinga',
+			'timmydcrawford',
+			'timothyblynjacobs',
+			'tinkerbelly',
+			'titodevera',
+			'tjnowell',
+			'tkama',
+			'tlovett1',
+			'tobifjellner',
+			'tomdxw',
+			'tomharrigan',
+			'tonybogdanov',
+			'torontodigits',
+			'transl8or',
+			'travel_girl',
+			'tz-media',
+			'upadalavipul',
+			'usmankhalid',
+			'utsav72640',
+			'uttam007',
+			'vaishalipanchal',
+			'valchovski',
+			'valer1e',
+			'vanyukov',
+			'vishaldodiya',
+			'vnsavage',
+			'voneff',
+			'vortfu',
+			'walbo',
+			'warmlaundry',
+			'wbrubaker',
+			'webdevmattcrom',
+			'welcher',
+			'westonruter',
+			'whyisjake',
+			'williampatton',
+			'wizzard_',
+			'wpscholar',
+			'wpzinc',
+			'xhezairi',
+			'xknown',
+			'xkon',
+			'xparham',
+			'xpertone',
+			'xyfi',
+			'yahil',
+			'yoavf',
+			'youknowriad',
+			'yuriv',
+			'zanematthew',
+			'zebulan',
+			'zottto',
+		];
+	}
+
+	public function external_libraries() {
+		return [
+			[ 'Babel Polyfill', 'https://babeljs.io/docs/en/babel-polyfill' ],
+			[ 'Backbone.js', 'http://backbonejs.org/' ],
+			[ 'Class POP3', 'https://squirrelmail.org/' ],
+			[ 'Closest', 'https://github.com/jonathantneal/closest' ],
+			[ 'CodeMirror', 'https://codemirror.net/' ],
+			[ 'Color Animations', 'https://plugins.jquery.com/color/' ],
+			[ 'getID3()', 'http://getid3.sourceforge.net/' ],
+			[ 'FormData', 'https://github.com/jimmywarting/FormData' ],
+			[ 'Horde Text Diff', 'https://pear.horde.org/' ],
+			[ 'hoverIntent', 'http://cherne.net/brian/resources/jquery.hoverIntent.html' ],
+			[ 'imgAreaSelect', 'http://odyniec.net/projects/imgareaselect/' ],
+			[ 'Iris', 'https://github.com/Automattic/Iris' ],
+			[ 'jQuery', 'https://jquery.com/' ],
+			[ 'jQuery UI', 'https://jqueryui.com/' ],
+			[ 'jQuery Hotkeys', 'https://github.com/tzuryby/jquery.hotkeys' ],
+			[ 'jQuery serializeObject', 'http://benalman.com/projects/jquery-misc-plugins/' ],
+			[ 'jQuery.query', 'https://plugins.jquery.com/query-object/' ],
+			[ 'jQuery.suggest', 'https://github.com/pvulgaris/jquery.suggest' ],
+			[ 'jQuery UI Touch Punch', 'http://touchpunch.furf.com/' ],
+			[ 'json2', 'https://github.com/douglascrockford/JSON-js' ],
+			[ 'Lodash', 'https://lodash.com/' ],
+			[ 'Masonry', 'http://masonry.desandro.com/' ],
+			[ 'MediaElement.js', 'http://mediaelementjs.com/' ],
+			[ 'Moment', 'http://momentjs.com/' ],
+			[ 'PclZip', 'http://www.phpconcept.net/pclzip/' ],
+			[ 'PemFTP', 'https://www.phpclasses.org/package/1743-PHP-FTP-client-in-pure-PHP.html' ],
+			[ 'phpass', 'http://www.openwall.com/phpass/' ],
+			[ 'PHPMailer', 'https://github.com/PHPMailer/PHPMailer' ],
+			[ 'Plupload', 'http://www.plupload.com/' ],
+			[ 'random_compat', 'https://github.com/paragonie/random_compat' ],
+			[ 'React', 'https://reactjs.org/' ],
+			[ 'Redux', 'https://redux.js.org/' ],
+			[ 'Requests', 'http://requests.ryanmccue.info/' ],
+			[ 'SimplePie', 'http://simplepie.org/' ],
+			[ 'The Incutio XML-RPC Library', 'http://scripts.incutio.com/xmlrpc/' ],
+			[ 'Thickbox', 'http://codylindley.com/thickbox/' ],
+			[ 'TinyMCE', 'https://www.tinymce.com/' ],
+			[ 'Twemoji', 'https://github.com/twitter/twemoji' ],
+			[ 'Underscore.js', 'http://underscorejs.org/' ],
+			[ 'whatwg-fetch', 'https://github.com/github/fetch' ],
+			[ 'zxcvbn', 'https://github.com/dropbox/zxcvbn' ],
+		];
+	}
+}
+
diff --git api.wordpress.org/public_html/core/credits/wp-credits.php api.wordpress.org/public_html/core/credits/wp-credits.php
index d0206bf63..8583a2bd7 100644
--- api.wordpress.org/public_html/core/credits/wp-credits.php
+++ api.wordpress.org/public_html/core/credits/wp-credits.php
@@ -45,6 +45,7 @@ abstract class WP_Credits {
 		'4.8' => '2016-12-07 00:00:00',
 		'4.9' => '2017-06-01 00:00:00',
 		'5.0' => '2017-11-15 00:00:00',
+		'5.1' => '2017-11-15 00:00:00', // Yes, 5.0 and 5.1 have the same date. #blamepento
 	);
 
 	final public static function factory( $version, $gp_locale ) {
diff --git api.wordpress.org/public_html/core/serve-happy/1.0/include.php api.wordpress.org/public_html/core/serve-happy/1.0/include.php
index 3bc36b89d..b1e00749f 100644
--- api.wordpress.org/public_html/core/serve-happy/1.0/include.php
+++ api.wordpress.org/public_html/core/serve-happy/1.0/include.php
@@ -26,6 +26,7 @@ function parse_request( $request ) {
 
 	return array(
 		'recommended_version' => RECOMMENDED_PHP,
+		'minimum_version'     => MINIMUM_PHP,
 		'is_supported'        => version_compare( $php_version, SUPPORTED_PHP, '>=' ),
 		'is_secure'           => version_compare( $php_version, SECURE_PHP, '>=' ),
 		'is_acceptable'       => version_compare( $php_version, ACCEPTABLE_PHP, '>=' ),
diff --git api.wordpress.org/public_html/core/serve-happy/1.0/index.php api.wordpress.org/public_html/core/serve-happy/1.0/index.php
index 760021d56..17c266482 100644
--- api.wordpress.org/public_html/core/serve-happy/1.0/index.php
+++ api.wordpress.org/public_html/core/serve-happy/1.0/index.php
@@ -6,7 +6,7 @@ define( 'API_VERSION', '1.0' );
 require dirname( dirname( dirname( __DIR__ ) ) ) . '/init.php';
 
 require __DIR__ . '/include.php';
-require __DIR__ . '/config.php';
+require WPORGPATH . 'wp-content/mu-plugins/pub/servehappy-config.php';
 
 // Output the API response.
 output_response(
diff --git api.wordpress.org/public_html/core/serve-happy/1.0/tests/bootstrap.php api.wordpress.org/public_html/core/serve-happy/1.0/tests/bootstrap.php
index 797ffb2f8..e1853c90a 100644
--- api.wordpress.org/public_html/core/serve-happy/1.0/tests/bootstrap.php
+++ api.wordpress.org/public_html/core/serve-happy/1.0/tests/bootstrap.php
@@ -21,5 +21,11 @@ if ( file_exists( $api_init_file ) ) {
 	include $api_init_file;
 }
 
-require dirname( __DIR__ ) . '/config.php';
 require dirname( __DIR__ ) . '/include.php';
+if ( defined( 'WPORGPATH' ) ) {
+	// Running on WordPress.org, include the main mu-plugins config
+	require WPORGPATH . 'wp-content/mu-plugins/pub/servehappy-config.php';
+} else {
+	// Assume meta-environment.
+	require dirname( dirname( dirname( dirname( dirname( dirname( __DIR__ ) ) ) ) ) ) . '/wordpress.org/public_html/wp-content/mu-plugins/pub/servehappy-config.php';
+}
diff --git api.wordpress.org/public_html/translations/lib.php api.wordpress.org/public_html/translations/lib.php
index c5b4fe052..1f459b782 100644
--- api.wordpress.org/public_html/translations/lib.php
+++ api.wordpress.org/public_html/translations/lib.php
@@ -51,35 +51,6 @@ function find_all_translations_for_type_and_domain( $type, $domain = 'default',
 	}
 
 	require_once GLOTPRESS_LOCALES_PATH;
-	// Temporary: Add language variants to the list of GlotPress locales.
-	$GLOBALS['gp_locales'] = new GP_Locales;
-	$de_formal = clone GP_Locales::by_field( 'wp_locale', 'de_DE' );
-	$de_formal->english_name = 'German (Formal)';
-	$de_formal->native_name = 'Deutsch (Sie)';
-	$de_formal->slug = 'de/formal';
-	$de_formal->wp_locale = 'de_DE_formal';
-	$GLOBALS['gp_locales']->locales['de/formal'] = $de_formal;
-
-	$nl_formal = clone GP_Locales::by_field( 'wp_locale', 'nl_NL' );
-	$nl_formal->english_name = 'Dutch (Formal)';
-	$nl_formal->native_name = 'Nederlands (Formeel)';
-	$nl_formal->slug = 'nl/formal';
-	$nl_formal->wp_locale = 'nl_NL_formal';
-	$GLOBALS['gp_locales']->locales['nl/formal'] = $nl_formal;
-
-	$de_ch_informal = clone GP_Locales::by_field( 'wp_locale', 'de_CH' );
-	$de_ch_informal->english_name = 'German (Switzerland, Informal)';
-	$de_ch_informal->native_name = 'Deutsch (Schweiz, Du)';
-	$de_ch_informal->slug = 'de-ch/informal';
-	$de_ch_informal->wp_locale = 'de_CH_informal';
-	$GLOBALS['gp_locales']->locales['de-ch/informal'] = $de_ch_informal;
-
-	$pt_pt_ao90 = clone GP_Locales::by_field( 'wp_locale', 'pt_PT' );
-	$pt_pt_ao90->english_name = 'Portuguese (Portugal, AO90)';
-	$pt_pt_ao90->native_name = 'Português (AO90)';
-	$pt_pt_ao90->slug = 'pt/ao90';
-	$pt_pt_ao90->wp_locale = 'pt_PT_ao90';
-	$GLOBALS['gp_locales']->locales['pt/ao90'] = $pt_pt_ao90;
 
 	$base_url = is_ssl() ? 'https' : 'http';
 	$base_url .= '://downloads.wordpress.org/translation/';
diff --git browsehappy.com/public_html/functions.php browsehappy.com/public_html/functions.php
index bb3bb6d08..a89422f2e 100644
--- browsehappy.com/public_html/functions.php
+++ browsehappy.com/public_html/functions.php
@@ -200,20 +200,6 @@ function browsehappy_clear_version_cache() {
 		delete_transient( 'browsehappy_version_' . $browser );
 }
 
-add_action( 'browsehappy_like_button', 'browsehappy_like_button' );
-
-function browsehappy_like_button( $browser ) {
-	$facebook_page = browsehappy_get_browser_data( $browser )->facebook;
-	if ( false === $facebook_page ) {
-		echo '<p class="likebutton"></p>';
-		return;
-	}
-
-?>
-<p class="likebutton"><iframe src="https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2F<?php echo $facebook_page; ?>&amp;layout=button_count&amp;show_faces=false&amp;width=172&amp;action=like&amp;font=lucida+grande&amp;colorscheme=light&amp;height=20" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:172px; height:20px;"></iframe></p>
-<?php
-}
-
 add_action( 'init', 'browsehappy_init' );
 
 remove_action( 'template_redirect', 'wp_old_slug_redirect' );
diff --git browsehappy.com/public_html/index.php browsehappy.com/public_html/index.php
index 4c22974a7..8048585a5 100644
--- browsehappy.com/public_html/index.php
+++ browsehappy.com/public_html/index.php
@@ -14,7 +14,7 @@
 	<meta name="author" content="WordPress" />
 	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
 
-	<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/style.css?7" />
+	<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/style.css?9" />
 	<script src="<?php echo get_template_directory_uri(); ?>/js/modernizr-1.6.min.js"></script>
 	<script src="https://use.typekit.com/lsw6yis.js"></script>
 	<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
@@ -44,12 +44,12 @@
 			<li id="<?php echo $browser; ?>">
 				<a href="<?php echo esc_url( $data->url ); ?>" title="<?php echo esc_attr( $data->long_name ); ?>">
 					<div class="icon"></div>
-					<h2><?php echo $data->name; ?></h2>
+					<h2 lang="en"><?php echo $data->name; ?></h2>
 					<p class="info"><?php echo $data->info; ?></p>
 					<p class="version"><?php printf( __( 'Latest Version: %s', 'browsehappy' ), '<strong>' . apply_filters( 'get_browsehappy_version', $browser ) . '</strong>' ); ?></p>
 					<p class="website"><?php _e( 'Visit website for more info', 'browsehappy' ); ?></p>
 				</a>
-				<?php do_action( 'browsehappy_like_button', $browser ); ?>
+				<?php do_action( 'browsehappy_browser_after', $browser ); ?>
 			</li><!-- #<?php echo $browser; ?> -->
 <?php endforeach; ?>
 		</ul><!-- #browserlist -->
@@ -87,7 +87,7 @@ $facebook_pieces = array(
 				</nav>
 			</section><!-- #share -->
 			<div id="byline">
-				<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'browsehappy' ) ); ?>" title="WordPress"><?php printf( __( 'Brought to you by %s', 'browsehappy' ), 'WordPress' ); ?></a>
+				<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'browsehappy' ) ); ?>" title="WordPress"><?php printf( __( 'Brought to you by %s', 'browsehappy' ), '<strong>WordPress</strong>' ); ?></a>
 			</div><!-- #byline -->
 		</div>
 	</footer>
diff --git browsehappy.com/public_html/languages/af.mo browsehappy.com/public_html/languages/af.mo
index e4012b1f8..a1b45f674 100644
Binary files browsehappy.com/public_html/languages/af.mo and browsehappy.com/public_html/languages/af.mo differ
diff --git browsehappy.com/public_html/languages/ar.mo browsehappy.com/public_html/languages/ar.mo
index 20e34c323..945e8e303 100644
Binary files browsehappy.com/public_html/languages/ar.mo and browsehappy.com/public_html/languages/ar.mo differ
diff --git browsehappy.com/public_html/languages/az.mo browsehappy.com/public_html/languages/az.mo
index 44f5c31ad..c6170ab47 100644
Binary files browsehappy.com/public_html/languages/az.mo and browsehappy.com/public_html/languages/az.mo differ
diff --git browsehappy.com/public_html/languages/bel.mo browsehappy.com/public_html/languages/bel.mo
index 0cf0caa5c..1cd23b7af 100644
Binary files browsehappy.com/public_html/languages/bel.mo and browsehappy.com/public_html/languages/bel.mo differ
diff --git browsehappy.com/public_html/languages/bg.mo browsehappy.com/public_html/languages/bg.mo
index e51f01e4d..02adae0f3 100644
Binary files browsehappy.com/public_html/languages/bg.mo and browsehappy.com/public_html/languages/bg.mo differ
diff --git browsehappy.com/public_html/languages/bo.mo browsehappy.com/public_html/languages/bo.mo
new file mode 100644
index 000000000..b8327fd4a
Binary files /dev/null and browsehappy.com/public_html/languages/bo.mo differ
diff --git browsehappy.com/public_html/languages/bs.mo browsehappy.com/public_html/languages/bs.mo
index 5d6a86890..89e253cd8 100644
Binary files browsehappy.com/public_html/languages/bs.mo and browsehappy.com/public_html/languages/bs.mo differ
diff --git browsehappy.com/public_html/languages/ca.mo browsehappy.com/public_html/languages/ca.mo
index 8525d63d4..a03af6643 100644
Binary files browsehappy.com/public_html/languages/ca.mo and browsehappy.com/public_html/languages/ca.mo differ
diff --git browsehappy.com/public_html/languages/ckb.mo browsehappy.com/public_html/languages/ckb.mo
new file mode 100644
index 000000000..0b15f0b1f
Binary files /dev/null and browsehappy.com/public_html/languages/ckb.mo differ
diff --git browsehappy.com/public_html/languages/cs.mo browsehappy.com/public_html/languages/cs.mo
index f0a8154d1..5a8c0f3d1 100644
Binary files browsehappy.com/public_html/languages/cs.mo and browsehappy.com/public_html/languages/cs.mo differ
diff --git browsehappy.com/public_html/languages/cy.mo browsehappy.com/public_html/languages/cy.mo
index 02986d817..e91d91f0e 100644
Binary files browsehappy.com/public_html/languages/cy.mo and browsehappy.com/public_html/languages/cy.mo differ
diff --git browsehappy.com/public_html/languages/da.mo browsehappy.com/public_html/languages/da.mo
index 411402d8a..1e0fab4dc 100644
Binary files browsehappy.com/public_html/languages/da.mo and browsehappy.com/public_html/languages/da.mo differ
diff --git browsehappy.com/public_html/languages/de.mo browsehappy.com/public_html/languages/de.mo
index 31a77d35b..b166896c2 100644
Binary files browsehappy.com/public_html/languages/de.mo and browsehappy.com/public_html/languages/de.mo differ
diff --git browsehappy.com/public_html/languages/el.mo browsehappy.com/public_html/languages/el.mo
index 791936866..f8d6e4410 100644
Binary files browsehappy.com/public_html/languages/el.mo and browsehappy.com/public_html/languages/el.mo differ
diff --git browsehappy.com/public_html/languages/en_AU.mo browsehappy.com/public_html/languages/en_AU.mo
index 7353dcb40..cdc95230a 100644
Binary files browsehappy.com/public_html/languages/en_AU.mo and browsehappy.com/public_html/languages/en_AU.mo differ
diff --git browsehappy.com/public_html/languages/en_CA.mo browsehappy.com/public_html/languages/en_CA.mo
index 35361f1ca..0ea963a1d 100644
Binary files browsehappy.com/public_html/languages/en_CA.mo and browsehappy.com/public_html/languages/en_CA.mo differ
diff --git browsehappy.com/public_html/languages/en_GB.mo browsehappy.com/public_html/languages/en_GB.mo
index c5604ea45..201781b38 100644
Binary files browsehappy.com/public_html/languages/en_GB.mo and browsehappy.com/public_html/languages/en_GB.mo differ
diff --git browsehappy.com/public_html/languages/en_NZ.mo browsehappy.com/public_html/languages/en_NZ.mo
index 828077e6f..cac6de2aa 100644
Binary files browsehappy.com/public_html/languages/en_NZ.mo and browsehappy.com/public_html/languages/en_NZ.mo differ
diff --git browsehappy.com/public_html/languages/en_ZA.mo browsehappy.com/public_html/languages/en_ZA.mo
new file mode 100644
index 000000000..b23a4b2b9
Binary files /dev/null and browsehappy.com/public_html/languages/en_ZA.mo differ
diff --git browsehappy.com/public_html/languages/eo.mo browsehappy.com/public_html/languages/eo.mo
index 0ee9c24a7..415d840a6 100644
Binary files browsehappy.com/public_html/languages/eo.mo and browsehappy.com/public_html/languages/eo.mo differ
diff --git browsehappy.com/public_html/languages/es.mo browsehappy.com/public_html/languages/es.mo
index c93a1966c..4982d4df4 100644
Binary files browsehappy.com/public_html/languages/es.mo and browsehappy.com/public_html/languages/es.mo differ
diff --git browsehappy.com/public_html/languages/es_AR.mo browsehappy.com/public_html/languages/es_AR.mo
index 5a48394a9..304b65bc5 100644
Binary files browsehappy.com/public_html/languages/es_AR.mo and browsehappy.com/public_html/languages/es_AR.mo differ
diff --git browsehappy.com/public_html/languages/es_CL.mo browsehappy.com/public_html/languages/es_CL.mo
index c24fed0ee..eeede844f 100644
Binary files browsehappy.com/public_html/languages/es_CL.mo and browsehappy.com/public_html/languages/es_CL.mo differ
diff --git browsehappy.com/public_html/languages/es_MX.mo browsehappy.com/public_html/languages/es_MX.mo
index e3de18ea5..49c702311 100644
Binary files browsehappy.com/public_html/languages/es_MX.mo and browsehappy.com/public_html/languages/es_MX.mo differ
diff --git browsehappy.com/public_html/languages/es_PE.mo browsehappy.com/public_html/languages/es_PE.mo
index 20b96473d..da94c3351 100644
Binary files browsehappy.com/public_html/languages/es_PE.mo and browsehappy.com/public_html/languages/es_PE.mo differ
diff --git browsehappy.com/public_html/languages/es_VE.mo browsehappy.com/public_html/languages/es_VE.mo
index 5043bfbf9..cdf4dcf14 100644
Binary files browsehappy.com/public_html/languages/es_VE.mo and browsehappy.com/public_html/languages/es_VE.mo differ
diff --git browsehappy.com/public_html/languages/eu.mo browsehappy.com/public_html/languages/eu.mo
index 1324d724a..3b2003705 100644
Binary files browsehappy.com/public_html/languages/eu.mo and browsehappy.com/public_html/languages/eu.mo differ
diff --git browsehappy.com/public_html/languages/fa.mo browsehappy.com/public_html/languages/fa.mo
new file mode 100644
index 000000000..e2a524f7d
Binary files /dev/null and browsehappy.com/public_html/languages/fa.mo differ
diff --git browsehappy.com/public_html/languages/fi.mo browsehappy.com/public_html/languages/fi.mo
index c8e420cc3..8bee6ba5a 100644
Binary files browsehappy.com/public_html/languages/fi.mo and browsehappy.com/public_html/languages/fi.mo differ
diff --git browsehappy.com/public_html/languages/fr.mo browsehappy.com/public_html/languages/fr.mo
index 25cfec9be..743717227 100644
Binary files browsehappy.com/public_html/languages/fr.mo and browsehappy.com/public_html/languages/fr.mo differ
diff --git browsehappy.com/public_html/languages/fr_BE.mo browsehappy.com/public_html/languages/fr_BE.mo
index df3da8bf3..87b8ceb9d 100644
Binary files browsehappy.com/public_html/languages/fr_BE.mo and browsehappy.com/public_html/languages/fr_BE.mo differ
diff --git browsehappy.com/public_html/languages/fr_CA.mo browsehappy.com/public_html/languages/fr_CA.mo
index 1e17d5736..023349819 100644
Binary files browsehappy.com/public_html/languages/fr_CA.mo and browsehappy.com/public_html/languages/fr_CA.mo differ
diff --git browsehappy.com/public_html/languages/ga.mo browsehappy.com/public_html/languages/ga.mo
index bfe4255a7..ab46b01ad 100644
Binary files browsehappy.com/public_html/languages/ga.mo and browsehappy.com/public_html/languages/ga.mo differ
diff --git browsehappy.com/public_html/languages/gd.mo browsehappy.com/public_html/languages/gd.mo
index af3d8e5ad..fb42e829e 100644
Binary files browsehappy.com/public_html/languages/gd.mo and browsehappy.com/public_html/languages/gd.mo differ
diff --git browsehappy.com/public_html/languages/gl.mo browsehappy.com/public_html/languages/gl.mo
index 93fa44fa6..42bc7625d 100644
Binary files browsehappy.com/public_html/languages/gl.mo and browsehappy.com/public_html/languages/gl.mo differ
diff --git browsehappy.com/public_html/languages/he.mo browsehappy.com/public_html/languages/he.mo
index 5a5ab2f0d..83d6496f1 100644
Binary files browsehappy.com/public_html/languages/he.mo and browsehappy.com/public_html/languages/he.mo differ
diff --git browsehappy.com/public_html/languages/hi.mo browsehappy.com/public_html/languages/hi.mo
index 1392c31ce..38eece6dd 100644
Binary files browsehappy.com/public_html/languages/hi.mo and browsehappy.com/public_html/languages/hi.mo differ
diff --git browsehappy.com/public_html/languages/hr.mo browsehappy.com/public_html/languages/hr.mo
index 248bb558d..6694627f0 100644
Binary files browsehappy.com/public_html/languages/hr.mo and browsehappy.com/public_html/languages/hr.mo differ
diff --git browsehappy.com/public_html/languages/hu.mo browsehappy.com/public_html/languages/hu.mo
index 70f4db87b..36381dc69 100644
Binary files browsehappy.com/public_html/languages/hu.mo and browsehappy.com/public_html/languages/hu.mo differ
diff --git browsehappy.com/public_html/languages/hy.mo browsehappy.com/public_html/languages/hy.mo
index 3a718db66..a9baeedf7 100644
Binary files browsehappy.com/public_html/languages/hy.mo and browsehappy.com/public_html/languages/hy.mo differ
diff --git browsehappy.com/public_html/languages/id.mo browsehappy.com/public_html/languages/id.mo
index 4ce56b5d1..cdd360996 100644
Binary files browsehappy.com/public_html/languages/id.mo and browsehappy.com/public_html/languages/id.mo differ
diff --git browsehappy.com/public_html/languages/is.mo browsehappy.com/public_html/languages/is.mo
index d7deded92..f5425d1ef 100644
Binary files browsehappy.com/public_html/languages/is.mo and browsehappy.com/public_html/languages/is.mo differ
diff --git browsehappy.com/public_html/languages/it.mo browsehappy.com/public_html/languages/it.mo
index c11448451..281a2d33c 100644
Binary files browsehappy.com/public_html/languages/it.mo and browsehappy.com/public_html/languages/it.mo differ
diff --git browsehappy.com/public_html/languages/ja.mo browsehappy.com/public_html/languages/ja.mo
index f9bb8c236..bf52e15b4 100644
Binary files browsehappy.com/public_html/languages/ja.mo and browsehappy.com/public_html/languages/ja.mo differ
diff --git browsehappy.com/public_html/languages/jv.mo browsehappy.com/public_html/languages/jv.mo
index 9a7923679..d18b886ad 100644
Binary files browsehappy.com/public_html/languages/jv.mo and browsehappy.com/public_html/languages/jv.mo differ
diff --git browsehappy.com/public_html/languages/ka.mo browsehappy.com/public_html/languages/ka.mo
index fb1067e34..b48fa29f3 100644
Binary files browsehappy.com/public_html/languages/ka.mo and browsehappy.com/public_html/languages/ka.mo differ
diff --git browsehappy.com/public_html/languages/km.mo browsehappy.com/public_html/languages/km.mo
index 01339ae7a..b8ec2afdd 100644
Binary files browsehappy.com/public_html/languages/km.mo and browsehappy.com/public_html/languages/km.mo differ
diff --git browsehappy.com/public_html/languages/ko.mo browsehappy.com/public_html/languages/ko.mo
index 24315b996..b771ade94 100644
Binary files browsehappy.com/public_html/languages/ko.mo and browsehappy.com/public_html/languages/ko.mo differ
diff --git browsehappy.com/public_html/languages/lt.mo browsehappy.com/public_html/languages/lt.mo
index 5bba48799..0270dab2e 100644
Binary files browsehappy.com/public_html/languages/lt.mo and browsehappy.com/public_html/languages/lt.mo differ
diff --git browsehappy.com/public_html/languages/lv.mo browsehappy.com/public_html/languages/lv.mo
index e7a8c1993..f59919c42 100644
Binary files browsehappy.com/public_html/languages/lv.mo and browsehappy.com/public_html/languages/lv.mo differ
diff --git browsehappy.com/public_html/languages/mn.mo browsehappy.com/public_html/languages/mn.mo
index 3449b46a2..7f1cf447a 100644
Binary files browsehappy.com/public_html/languages/mn.mo and browsehappy.com/public_html/languages/mn.mo differ
diff --git browsehappy.com/public_html/languages/mr.mo browsehappy.com/public_html/languages/mr.mo
index e00f50a16..ed097b0f6 100644
Binary files browsehappy.com/public_html/languages/mr.mo and browsehappy.com/public_html/languages/mr.mo differ
diff --git browsehappy.com/public_html/languages/ms.mo browsehappy.com/public_html/languages/ms.mo
index f0c92dacf..3f122fea9 100644
Binary files browsehappy.com/public_html/languages/ms.mo and browsehappy.com/public_html/languages/ms.mo differ
diff --git browsehappy.com/public_html/languages/mya.mo browsehappy.com/public_html/languages/mya.mo
index f1069cf37..6b16a6409 100644
Binary files browsehappy.com/public_html/languages/mya.mo and browsehappy.com/public_html/languages/mya.mo differ
diff --git browsehappy.com/public_html/languages/nb.mo browsehappy.com/public_html/languages/nb.mo
index 537892f77..0ac3645a6 100644
Binary files browsehappy.com/public_html/languages/nb.mo and browsehappy.com/public_html/languages/nb.mo differ
diff --git browsehappy.com/public_html/languages/nl.mo browsehappy.com/public_html/languages/nl.mo
index 53d965b0a..abeda6307 100644
Binary files browsehappy.com/public_html/languages/nl.mo and browsehappy.com/public_html/languages/nl.mo differ
diff --git browsehappy.com/public_html/languages/nn.mo browsehappy.com/public_html/languages/nn.mo
index e0ba706cc..e77b29cca 100644
Binary files browsehappy.com/public_html/languages/nn.mo and browsehappy.com/public_html/languages/nn.mo differ
diff --git browsehappy.com/public_html/languages/oci.mo browsehappy.com/public_html/languages/oci.mo
index 3bcdb77db..2d532d551 100644
Binary files browsehappy.com/public_html/languages/oci.mo and browsehappy.com/public_html/languages/oci.mo differ
diff --git browsehappy.com/public_html/languages/os.mo browsehappy.com/public_html/languages/os.mo
index 83f6b98fa..612d44f68 100644
Binary files browsehappy.com/public_html/languages/os.mo and browsehappy.com/public_html/languages/os.mo differ
diff --git browsehappy.com/public_html/languages/pl.mo browsehappy.com/public_html/languages/pl.mo
index 2e7684a13..37d7d7a4e 100644
Binary files browsehappy.com/public_html/languages/pl.mo and browsehappy.com/public_html/languages/pl.mo differ
diff --git browsehappy.com/public_html/languages/pt.mo browsehappy.com/public_html/languages/pt.mo
index 832b3ce48..c55b80d72 100644
Binary files browsehappy.com/public_html/languages/pt.mo and browsehappy.com/public_html/languages/pt.mo differ
diff --git browsehappy.com/public_html/languages/pt_BR.mo browsehappy.com/public_html/languages/pt_BR.mo
index 0f90f55dc..f4e6b8484 100644
Binary files browsehappy.com/public_html/languages/pt_BR.mo and browsehappy.com/public_html/languages/pt_BR.mo differ
diff --git browsehappy.com/public_html/languages/ro.mo browsehappy.com/public_html/languages/ro.mo
index 4289a22f1..8587aa7bd 100644
Binary files browsehappy.com/public_html/languages/ro.mo and browsehappy.com/public_html/languages/ro.mo differ
diff --git browsehappy.com/public_html/languages/ru.mo browsehappy.com/public_html/languages/ru.mo
index 799096287..7235d84f3 100644
Binary files browsehappy.com/public_html/languages/ru.mo and browsehappy.com/public_html/languages/ru.mo differ
diff --git browsehappy.com/public_html/languages/sa_IN.mo browsehappy.com/public_html/languages/sa_IN.mo
index b8957d376..d469ec7fd 100644
Binary files browsehappy.com/public_html/languages/sa_IN.mo and browsehappy.com/public_html/languages/sa_IN.mo differ
diff --git browsehappy.com/public_html/languages/si.mo browsehappy.com/public_html/languages/si.mo
index ab80421fd..ba4e27308 100644
Binary files browsehappy.com/public_html/languages/si.mo and browsehappy.com/public_html/languages/si.mo differ
diff --git browsehappy.com/public_html/languages/sk.mo browsehappy.com/public_html/languages/sk.mo
index 7d40766b3..cff1d9ba9 100644
Binary files browsehappy.com/public_html/languages/sk.mo and browsehappy.com/public_html/languages/sk.mo differ
diff --git browsehappy.com/public_html/languages/sl.mo browsehappy.com/public_html/languages/sl.mo
index 11cbc0e22..cf6014c35 100644
Binary files browsehappy.com/public_html/languages/sl.mo and browsehappy.com/public_html/languages/sl.mo differ
diff --git browsehappy.com/public_html/languages/so.mo browsehappy.com/public_html/languages/so.mo
index 73ad2a068..054e94172 100644
Binary files browsehappy.com/public_html/languages/so.mo and browsehappy.com/public_html/languages/so.mo differ
diff --git browsehappy.com/public_html/languages/sq.mo browsehappy.com/public_html/languages/sq.mo
index 0d9a1b3b9..fbbf3060b 100644
Binary files browsehappy.com/public_html/languages/sq.mo and browsehappy.com/public_html/languages/sq.mo differ
diff --git browsehappy.com/public_html/languages/sr.mo browsehappy.com/public_html/languages/sr.mo
index ff7e798f0..bfcc8f9b9 100644
Binary files browsehappy.com/public_html/languages/sr.mo and browsehappy.com/public_html/languages/sr.mo differ
diff --git browsehappy.com/public_html/languages/sv.mo browsehappy.com/public_html/languages/sv.mo
index 92d31b277..b9aa8058f 100644
Binary files browsehappy.com/public_html/languages/sv.mo and browsehappy.com/public_html/languages/sv.mo differ
diff --git browsehappy.com/public_html/languages/ta.mo browsehappy.com/public_html/languages/ta.mo
index d5680e79d..085ca9de2 100644
Binary files browsehappy.com/public_html/languages/ta.mo and browsehappy.com/public_html/languages/ta.mo differ
diff --git browsehappy.com/public_html/languages/ta_LK.mo browsehappy.com/public_html/languages/ta_LK.mo
index da01ac15d..7247e2840 100644
Binary files browsehappy.com/public_html/languages/ta_LK.mo and browsehappy.com/public_html/languages/ta_LK.mo differ
diff --git browsehappy.com/public_html/languages/th.mo browsehappy.com/public_html/languages/th.mo
index 0614fbb00..da1880004 100644
Binary files browsehappy.com/public_html/languages/th.mo and browsehappy.com/public_html/languages/th.mo differ
diff --git browsehappy.com/public_html/languages/tl.mo browsehappy.com/public_html/languages/tl.mo
index aeefba19d..a246e25d3 100644
Binary files browsehappy.com/public_html/languages/tl.mo and browsehappy.com/public_html/languages/tl.mo differ
diff --git browsehappy.com/public_html/languages/tr.mo browsehappy.com/public_html/languages/tr.mo
index 6d828d190..854abfc8b 100644
Binary files browsehappy.com/public_html/languages/tr.mo and browsehappy.com/public_html/languages/tr.mo differ
diff --git browsehappy.com/public_html/languages/uk.mo browsehappy.com/public_html/languages/uk.mo
index fb375a0cb..898a139f9 100644
Binary files browsehappy.com/public_html/languages/uk.mo and browsehappy.com/public_html/languages/uk.mo differ
diff --git browsehappy.com/public_html/languages/ur.mo browsehappy.com/public_html/languages/ur.mo
index a3d438e78..f30c3c8a1 100644
Binary files browsehappy.com/public_html/languages/ur.mo and browsehappy.com/public_html/languages/ur.mo differ
diff --git browsehappy.com/public_html/languages/vi.mo browsehappy.com/public_html/languages/vi.mo
index 4c7b3f976..96de6f36c 100644
Binary files browsehappy.com/public_html/languages/vi.mo and browsehappy.com/public_html/languages/vi.mo differ
diff --git browsehappy.com/public_html/languages/zh_CN.mo browsehappy.com/public_html/languages/zh_CN.mo
index 62dec5f84..ecd330a4d 100644
Binary files browsehappy.com/public_html/languages/zh_CN.mo and browsehappy.com/public_html/languages/zh_CN.mo differ
diff --git browsehappy.com/public_html/languages/zh_TW.mo browsehappy.com/public_html/languages/zh_TW.mo
index a1886551e..d0769deaf 100644
Binary files browsehappy.com/public_html/languages/zh_TW.mo and browsehappy.com/public_html/languages/zh_TW.mo differ
diff --git browsehappy.com/public_html/style.css browsehappy.com/public_html/style.css
index 0a909f68e..e2fc68d52 100644
--- browsehappy.com/public_html/style.css
+++ browsehappy.com/public_html/style.css
@@ -471,16 +471,6 @@ html[dir="rtl"] #browserlist li {
 	transition: all .1s ease-out;
 }
 
-#browserlist p.likebutton {
-	text-align: center;
-	margin: 15px 5px 0;
-	min-height: 25px;
-}
-
-html[dir="rtl"] #browserlist p.likebutton iframe html {
-	float: right;
-}
-
 /* Footer */
 
 footer {
@@ -593,27 +583,16 @@ html[dir="rtl"] #share nav li {
 }
 
 #byline a {
-	width: 300px;
-	height: 20px;
+	color: #fff;
 	margin: 0 auto;
 	display: block;
-	background-image: url(imgs/browsehappy-sprite.png);
-	background-repeat: no-repeat;
-	background-position: 0 -135px;
-	text-indent: -9999px;
-	-moz-opacity: 0.6;
-	-khtml-opacity: 0.6;
-	opacity: 0.6;
-	-webkit-transition: all .5s;
-	-moz-transition: all .5s;
-	-o-transition: all .5s;
-	transition: all .5s;
+	font-size: large;
+	font-variant: all-small-caps;
+	text-align: center;
 }
 
-#byline a:hover {
-	-moz-opacity: 1;
-	-khtml-opacity: 1;
-	opacity: 1;
+#byline a strong {
+	font-variant: initial;
 }
 
 @media (max-width: 1168px) { #main .wrap { max-width: 960px; } }
@@ -663,7 +642,7 @@ html[dir="rtl"] #share nav li {
 @media only screen and (-webkit-min-device-pixel-ratio: 1.5),
        only screen and (min-resolution: 1.5dppx),
        only screen and (min-resolution: 144dpi) {
-	#browserlist li .icon, #share nav li a, #byline a {
+	#browserlist li .icon, #share nav li a {
 		background-image: url(imgs/browsehappy-sprite-2x.png);
 		background-repeat: no-repeat;
 		background-size: 750px 170px;
diff --git buddypress.org/public_html/wp-content/plugins/bbpress-org/toolbar.php buddypress.org/public_html/wp-content/plugins/bbpress-org/toolbar.php
index d97bd3381..0f2ba7853 100644
--- buddypress.org/public_html/wp-content/plugins/bbpress-org/toolbar.php
+++ buddypress.org/public_html/wp-content/plugins/bbpress-org/toolbar.php
@@ -21,7 +21,7 @@ add_action( 'add_admin_bar_menus', 'bborg_toolbar_tweaks', 11 );
  * Remove the BuddyPress and bbPress about menus
  *
  * @author johnjamesjacoby
- * @global object $wp_admin_bar
+ * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance, passed by reference.
  */
 function bbporg_remove_about_pages( $wp_admin_bar ) {
 	$wp_admin_bar->remove_menu( 'bp-about'  );
diff --git buddypress.org/public_html/wp-content/plugins/buddypress-org/extensions.php buddypress.org/public_html/wp-content/plugins/buddypress-org/extensions.php
index 7f6e9d692..a5f049d6f 100644
--- buddypress.org/public_html/wp-content/plugins/buddypress-org/extensions.php
+++ buddypress.org/public_html/wp-content/plugins/buddypress-org/extensions.php
@@ -85,8 +85,8 @@ add_filter( 'bp_group_members_count_user_join_filter', 'bporg_group_members_coun
  */
 function bporg_redirect() {
 
-	// Explode the request (could use parse_url() here too)
-	$uri_chunks = explode( '/', $_SERVER['REQUEST_URI'] );
+	// Explode the request. parse_url() is used here to exclude any query args which caused some redirects to be missed.
+	$uri_chunks = explode( '/', parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ) );
 
 	// Redirect /forums/ to /support/
 	if ( $uri_chunks[1] === 'forums' && empty( $uri_chunks[2] ) ) {
diff --git buddypress.org/public_html/wp-content/plugins/buddypress-org/toolbar.php buddypress.org/public_html/wp-content/plugins/buddypress-org/toolbar.php
index 588b52609..a9cf62482 100644
--- buddypress.org/public_html/wp-content/plugins/buddypress-org/toolbar.php
+++ buddypress.org/public_html/wp-content/plugins/buddypress-org/toolbar.php
@@ -28,7 +28,7 @@ add_action( 'add_admin_bar_menus', 'bporg_toolbar_tweaks', 11 );
  * Remove the BuddyPress and bbPress about menus
  *
  * @author johnjamesjacoby
- * @global object $wp_admin_bar
+ * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance, passed by reference.
  */
 function bporg_remove_about_pages( $wp_admin_bar ) {
 	$wp_admin_bar->remove_menu( 'bp-about'  );
diff --git common/includes/slack/announce/config.php common/includes/slack/announce/config.php
index 3c9571a2b..5bf2731b4 100644
--- common/includes/slack/announce/config.php
+++ common/includes/slack/announce/config.php
@@ -55,6 +55,7 @@ function get_whitelist() {
 		) ),
 		'community-team' => array_merge( $wordcamp_central, array(
 			'francina',
+			'myselfkhayer',
 		) ),
 		'core' => array_merge( get_committers(), array(
 			'antpb',
@@ -63,10 +64,11 @@ function get_whitelist() {
 			'danieltj',
 			'desrosj',
 			'JeffPaul',
-			'karmatosed',
-			'psykro', // @jon_bossenger on Slack
 			'JoshuaWold',
+			'karmatosed',
+			'lukecarbis',
 			'pbiron',
+			'psykro', // @jon_bossenger on Slack
 			'welcher',
 			'whitneyyadrich', // @Whitney on Slack
 		) ),
@@ -148,8 +150,11 @@ function get_whitelist() {
 			'allendav',
 			'azaozz',
 			'casiepa',
+			'dejliglama',
 			'desrosj',
+			'garrett-eclipse',
 			'idea15', // @Heather Burns on Slack
+			'lakenh',
 		) ),
 		'core-restapi' => array_merge( get_committers(), array(
 			'danielbachhuber',
@@ -213,10 +218,14 @@ function get_whitelist() {
 			'andrew.taylor', // @ataylorme on Slack
 			'mikeschroder', // @mike on Slack
 			'jadonn',
+			'brechtryckaert',
+			'brettface',
 		),
 		'marketing' => array(
+			'joostdevalk',
 			'rosso99', // @sararosso on Slack
 			'bridgetwillard', // @gidgey on Slack
+			'siobhanseija',
 		),
 		'meta' => array(
 			'obenland',
@@ -240,6 +249,7 @@ function get_whitelist() {
 			'petya',
 			'SergeyBiryukov', // @sergey on Slack
 			'tobifjellner',
+			'tokyobiyori',
 		),
 		'polyglots-events' => array(
 			'casiepa',
@@ -250,6 +260,7 @@ function get_whitelist() {
 			'petya',
 			'SergeyBiryukov', // @sergey on Slack
 			'tobifjellner',
+			'tokyobiyori',
 		),
 		'themereview' => array(
 			'cais',
@@ -289,6 +300,7 @@ function get_whitelist() {
 			'DrewAPicture', // @drew on Slack
 		),
 		'wptv' => array(
+			'casiepa',
 			'JerrySarcastic',
 			'RoseAppleMedia',
 		),
@@ -297,13 +309,17 @@ function get_whitelist() {
 
 function get_committers() {
 	return array(
-		'dd32', 'nacin', 'helen', 'azaozz', 'westi',
-		'ocean90', 'wonderboymusic', 'johnbillion',
-		'jorbin', 'jeremyfelt', 'pento', 'obenland', 'iseulde',
+		'matt', 'dd32', 'nacin', 'helen', 'azaozz', 'westi',
+		'ocean90', 'wonderboymusic', 'johnbillion', 'mdawaffe',
+		'jorbin', 'jeremyfelt', 'pento', 'obenland', 'josephscott',
 		'westonruter', 'afercia', 'karmatosed', 'rmccue', 'michaelarestad',
 		'swissspidy', 'rachelbaker', 'joehoyle', 'melchoyce',
 		'peterwilsoncc', 'joemcgill', 'davidakennedy', 'adamsilverstein',
-		'flixos90', 'iandunn', 'kadamwhite',
+		'flixos90', 'iandunn', 'kadamwhite', 'jrf', 'atimmer', 'laurelfulford',
+		'allendav', 'omarreiss', 'allancole', 'antpb', 'mcsf',
+		'herregroen', 'youknowriad', 'gziolo', 'aduth', 'jorgefilipecosta',
+		'bpayton', 'noisysocks', 'desrosj', 'tellyworth', 'aaroncampbell',
+		'mattmiklic', 'kovshenin', 'joen', 'lancewillett', 'iandstewart',
 
 		'markjaquith',    // @mark on Slack
 		'nbachiyski',     // @nb on Slack
@@ -314,6 +330,9 @@ function get_committers() {
 		'mikeschroder',   // @mike on Slack
 		'jnylen0',        // @jnylen on Slack
 		'matveb',         // @matias on Slack
+		'iseulde',        // @ella on Slack
+		'johnjamesjacoby',// @JJJ on Slack
+		'lonelyvegan',    // @tofumatt on Slack
 	);
 }
 
@@ -323,7 +342,7 @@ function get_pingable_wordcamp_deputies() {
 		'00Sleepy', '_DorsVenabili', 'adityakane', 'andreamiddleton', 'bph', 'brandondove', 'camikaos',
 		'chanthaboune', 'courtneypk', 'drebbits', 'francina', 'gounder', 'heysherie', 'hlashbrooke',
 		'karenalma', 'kcristiano', 'kdrewien', 'Kenshino', 'mayukojpn', 'mikelking', 'miss_jwo',
-		'remediosgraphic', 'Savione', 'vc27', 'yaycheryl',
+		'nukaga', 'remediosgraphic', 'Savione', 'vc27', 'yaycheryl',
 
 		'coreymckrill', 'iandunn', // todo remove after testing
 	);
diff --git common/includes/slack/announce/lib.php common/includes/slack/announce/lib.php
index 6f78a9d44..68853d487 100644
--- common/includes/slack/announce/lib.php
+++ common/includes/slack/announce/lib.php
@@ -83,18 +83,7 @@ function run( $data ) {
 		return;
 	}
 
-	if ( $data['command'] === '/committers' ) {
-		// This command seems to not be used actively, in preference for the slack @committers group pings.
-		$committers = get_committers();
-		if ( ! in_array( $user, $committers, true ) ) {
-			return;
-		}
-
-		// TODO: Note that pinging users by `@username` is deprecated, and we now have WordPress.org usernames in the above list.
-		// This should be upadted to ping users by the `<@U.....>` format.
-
-		$text = sprintf( "*@committers:* %s\n_(cc: %s)_", $data['text'], '@' . implode( ', @', $committers ) );
-	} elseif ( $data['command'] === '/deputies' ) {
+	if ( $data['command'] === '/deputies' ) {
 		$pingable_deputies = get_pingable_wordcamp_deputies();
 
 		if ( ! in_array( $user, $pingable_deputies, true ) ) {
diff --git common/includes/slack/trac/commit-handler.php common/includes/slack/trac/commit-handler.php
index bd8c4497f..aca8516f2 100644
--- common/includes/slack/trac/commit-handler.php
+++ common/includes/slack/trac/commit-handler.php
@@ -35,27 +35,31 @@ class Commit_Handler {
 	}
 
 	protected function generate_payload() {
-		$author = $this->svnlook( 'author' );
-		$log = Commit::format_commit_for_slack( $this->trac, $this->svnlook( 'log' ) );
-
-		$url = $this->trac->get_commit_template( $this->rev );
+		$author   = $this->svnlook( 'author' );
+		$message  = Commit::format_commit_for_slack( $this->trac, $this->svnlook( 'log' ) );
+		$date     = $this->svnlook( 'date' );
+		$url      = $this->trac->get_commit_template( $this->rev );
 		$revision = 'r' . $this->rev;
-
 		$username = $this->trac->get_commit_username();
 		$icon     = $this->trac->get_icon();
 		$color    = $this->trac->get_color();
-
-		$pretext = "*$username <$url|$revision>* by $author:";
-		$fallback = "$revision by $author: $log";
+		$title    = "$username $revision";
+		$fallback = "$username $revision by $author";
 
 		$this->send->set_username( $username );
 		$this->send->set_icon( $icon );
 		$this->send->add_attachment( array(
-			'color'     => $color,
-			'pretext'   => $pretext,
-			'text'      => $log,
-			'fallback'  => $fallback,
-			'mrkdwn_in' => array( 'text', 'pretext', 'fallback' ),
+			'title'       => $title,
+			'title_link'  => $url,
+			'author_name' => $author,
+			'author_icon' => sprintf( 'https://wordpress.org/grav-redirect.php?user=%s&s=32', $author ),
+			'color'       => $color,
+			'text'        => $message,
+			'fallback'    => $fallback,
+			'mrkdwn_in'   => array( 'text' ),
+			'ts'          => $date,
+			'footer'      => sprintf( '<%s|%s>', $this->trac->get_url(), $this->trac->get_name() ),
+			'footer_icon' => sprintf( '%s/chrome/common/trac.ico', $this->trac->get_url() ),
 		) );
 	}
 
@@ -72,6 +76,11 @@ class Commit_Handler {
 			$command .= ' | awk \'{print $2}\'';
 		}
 
+		if ( $subcommand === 'date' ) {
+			// Convert output to timestamp.
+			$command = 'date --date "$( ' . $command . ' )" +%s';
+		}
+
 		exec( $command, $output, $return_var );
 		if ( $return_var === 0 ) {
 			return trim( implode( "\n", $output ) );
diff --git common/includes/slack/trac/commit.php common/includes/slack/trac/commit.php
index 8a844c562..ad2718db6 100644
--- common/includes/slack/trac/commit.php
+++ common/includes/slack/trac/commit.php
@@ -26,29 +26,44 @@ class Commit extends Resource {
 			return false;
 		}
 
-		$text = $this->get_text();
+		$username = $this->trac->get_commit_username();
+		$revision = 'r' . $this->id;
+		$author   = $this->author;
+		$message  = self::format_commit_for_slack( $this->trac, $this->message );
 
-		return array(
-			'text'      => $text,
-			'fallback' => $text,
-			'mrkdwn_in' => array( 'text', 'fallback' ),
-		);
+		$attachment = [];
+
+		$attachment['title']      = "$username $revision";
+		$attachment['title_link'] = $this->get_url();
+
+		$attachment['author_name'] = $author;
+		$attachment['author_icon'] = sprintf( 'https://wordpress.org/grav-redirect.php?user=%s&s=32', $author );
+
+		$attachment['text']      = $message;
+		$attachment['fallback']  = "$username $revision by $author";
+		$attachment['mrkdwn_in'] = [ 'text' ];
+
+		$attachment['ts']          = $this->created;
+		$attachment['footer']      = sprintf( '<%s|%s>', $this->trac->get_url(), $this->trac->get_name() );
+		$attachment['footer_icon'] = sprintf( '%s/chrome/common/trac.ico', $this->trac->get_url() );
+
+		return $attachment;
 	}
 
 	function fetch() {
-		if ( isset( $this->message ) ) {
-			return $this->message;
+		if ( isset( $this->data ) ) {
+			return $this->data;
 		}
 
 		if ( ! $this->trac->is_public() || ! $this->trac->has_commits() ) {
-			$this->message = false;
+			$this->data = false;
 			return;
 		}
 
 		$url = $this->trac->get_commit_info_url( $this->id );
 		$contents = @file_get_contents( $url );
 		if ( false === $contents ) {
-			$this->message = false;
+			$this->data = false;
 			return;
 		}
 
@@ -56,11 +71,18 @@ class Commit extends Resource {
 		// Second \n\n separates the metadata (including file changes)
 		// from the log message.
 		$contents = explode( "\n\n", $contents, 3 );
+
+		// Get author and timestamp.
+		$metadata = strtok( $contents[1], "\n" ); // <date> GMT <committer> [<rev>]
+		preg_match( '/^(?<date>(?:.+)GMT) (?<author>.*) \[/', $metadata, $matches );
+		$created = strtotime( $matches['date'] );
+		$author  = $matches['author'];
+
 		// Trim tabs from the start of each line.
-		$message = preg_replace( '/^\t+/', '', $contents[2] );
+		$message = preg_replace( '/^\t+/m', '', $contents[2] );
 
-		$this->message = $message;
-		$this->fetched = true;
+		$this->data = (object) compact( 'created', 'author', 'message' );
+		return $this->data;
 	}
 
 	static function format_commit_for_slack( Trac $trac, $message ) {
@@ -69,6 +91,11 @@ class Commit extends Resource {
 			return chr( $matches[1] );
 		}, $message );
 
+		// Converts {U+201C} to an UTF-8 character.
+		$message = preg_replace_callback( '/\{U\+([0-9A-F]{4,6})\}/', function( $matches ) {
+			return html_entity_decode( "&#x{$matches[1]};", ENT_NOQUOTES, 'UTF-8' );
+		}, $message );
+
 		foreach ( $trac->get_log_replacements() as $find => $replace ) {
 			$message = preg_replace( $find, '<' . $replace . '|$0>', $message );
 		}
diff --git common/includes/slack/trac/config.php common/includes/slack/trac/config.php
index d892bfac2..554a0d673 100644
--- common/includes/slack/trac/config.php
+++ common/includes/slack/trac/config.php
@@ -71,6 +71,7 @@ class Meta extends Trac {
 		'plugins/rosetta'                       => '#meta-i18n',
 		'plugins/wporg-gp-'                     => '#meta-i18n',
 		'translations'                          => '#meta-i18n',
+		'mu-plugins/pub/locales'                => '#meta-i18n',
 		'developer-reference/'                  => '#meta-devhub',
 		'wporg-developer/'                      => '#meta-devhub',
 		'trac.wordpress.org/'                   => '#meta-tracdev',
@@ -88,6 +89,7 @@ class Meta extends Trac {
 		'Trac'                          => '#meta-tracdev',
 		'WordPress.tv'                  => '#wptv',
 		'WordCamp Site & Plugins'       => '#meta-wordcamp',
+		'HelpHub'                       => '#meta-helphub',
 	);
 }
 
diff --git common/includes/slack/trac/new-ticket.php common/includes/slack/trac/new-ticket.php
index 9fb50ecee..c75ac0eeb 100644
--- common/includes/slack/trac/new-ticket.php
+++ common/includes/slack/trac/new-ticket.php
@@ -22,10 +22,11 @@ class New_Ticket extends Ticket {
 			return $attachment;
 		}
 
-		$attachment['pretext'] = preg_replace( '/: /', ": \n", $attachment['text'], 1 );
-		$attachment['mrkdwn_in'][] = 'pretext';
-		$attachment['text'] = Trac::format_for_slack( $this->description );
+		$attachment['pretext'] = sprintf( 'New %s opened by %s', self::get_type( $this->type ), $this->reporter );
+
+		$attachment['text']  = Trac::format_for_slack( $this->description );
 		$attachment['color'] = $this->trac->get_color();
+
 		return $attachment;
 	}
 
@@ -55,5 +56,5 @@ class New_Ticket extends Ticket {
 		}
 
 		return $attachments;
-	}	
+	}
 }
diff --git common/includes/slack/trac/ticket.php common/includes/slack/trac/ticket.php
index 601f56276..251795f53 100644
--- common/includes/slack/trac/ticket.php
+++ common/includes/slack/trac/ticket.php
@@ -38,7 +38,17 @@ class Ticket extends Resource {
 			return false;
 		}
 
+		unset( $attachment['text'] ); // Moved to title and title_link.
+
+		$attachment['title']      = sprintf( '#%s: %s', $this->id, htmlspecialchars( $this->summary, ENT_NOQUOTES ) );
+		$attachment['title_link'] = $this->get_url();
+
 		$attachment['fields'] = self::get_ticket_fields( $this->data );
+		$attachment['ts']     = strtotime( $this->data->created );
+
+		$attachment['footer']      = sprintf( '<%s|%s>', $this->trac->get_url(), $this->trac->get_name() );
+		$attachment['footer_icon'] = sprintf( '%s/chrome/common/trac.ico', $this->trac->get_url() );
+
 		return $attachment;
 	}
 
@@ -52,7 +62,11 @@ class Ticket extends Resource {
 			return;
 		}
 
-		$url = $this->get_url() . '?format=csv';
+		$url = sprintf(
+			'%s/query?id=%s&col=id&col=summary&col=owner&col=type&col=cc&col=status&col=priority&col=milestone&col=component&col=version&col=severity&col=resolution&col=time&col=focuses&col=reporter&col=keywords&col=description&format=csv',
+			$this->trac->get_url(),
+			$this->id
+		);
 		$contents = @file_get_contents( $url );
 		if ( $contents === false ) {
 			$this->data = false;
@@ -63,7 +77,7 @@ class Ticket extends Resource {
 		// of a single CSV row (there can be \n in content).
 		$contents = explode( "\n", $contents, 2 );
 		$ticket_info = array_combine(
-			str_getcsv( $contents[0], ',', '"', '"' ),
+			str_getcsv( strtolower( $contents[0] ), ',', '"', '"' ),
 			str_getcsv( $contents[1], ',', '"', '"' )
 		);
 
diff --git global.wordpress.org/public_html/wp-content/mu-plugins/roles/rosetta-roles.php global.wordpress.org/public_html/wp-content/mu-plugins/roles/rosetta-roles.php
index 2f27bd7f4..ec2d434c9 100644
--- global.wordpress.org/public_html/wp-content/mu-plugins/roles/rosetta-roles.php
+++ global.wordpress.org/public_html/wp-content/mu-plugins/roles/rosetta-roles.php
@@ -510,8 +510,25 @@ class Rosetta_Roles {
 	 * @param \WP_User $user The user object of the translation editor.
 	 */
 	public function update_wporg_profile_badge( $user ) {
+		global $wpdb;
+
 		$action = 'translation_editor_added' === current_filter() ? 'add' : 'remove';
 
+		// Remove badge only when all roles have been removed.
+		if ( 'remove' === $action ) {
+			$count = (int) $wpdb->get_var(
+				$wpdb->prepare(
+					"SELECT COUNT(*) FROM {$wpdb->wporg_translation_editors}
+					WHERE `user_id` = %d AND `locale` != 'all-locales'",
+					$user->ID
+				)
+			);
+
+			if ( 0 !== $count ) {
+				return;
+			}
+		}
+
 		$this->notify_profiles_wporg_translation_editor_update( $user->ID, $action );
 	}
 
diff --git jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp-captcha.php jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp-captcha.php
index 5e14e7b5c..be9f77e5d 100644
--- jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp-captcha.php
+++ jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp-captcha.php
@@ -2,7 +2,7 @@
 /**
  * Plugin Name: JobsWP reCaptcha
  * Version:     1.1
- * Plugin URI:  http://jobs.wordpress.net
+ * Plugin URI:  https://jobs.wordpress.net/
  * Author:      Scott Reilly
  * Description: Adds reCaptcha field to job posting form for jobs.wordpress.net.
  *
@@ -18,7 +18,7 @@ class Jobs_Dot_WP_Captcha {
 	 * Initializes plugin.
 	 */
 	public static function init() {
-		add_filter( 'jobswb_save_job_errors',   array( __CLASS__, 'check_captcha' ) );
+		add_filter( 'jobswp_save_job_errors',   array( __CLASS__, 'check_captcha' ) );
 		add_filter( 'jobswp_remove_job_errors', array( __CLASS__, 'check_captcha' ) );
 		add_action( 'jobswp_post_job_form',     array( __CLASS__, 'recaptcha_field' ) );
 		add_action( 'jobswp_remove_job_form',   array( __CLASS__, 'recaptcha_field' ) );
diff --git jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp.php jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp.php
index 4e2140539..5195bc827 100644
--- jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp.php
+++ jobs.wordpress.net/public_html/wp-content/plugins/jobswp/jobswp.php
@@ -2,7 +2,7 @@
 /*
 Plugin Name: JobsWP
 Version: 1.2
-Plugin URI: http://jobs.wordpress.net
+Plugin URI: https://jobs.wordpress.net/
 Author: Scott Reilly
 Description: Functionality for jobs.wordpress.net
 */
@@ -19,7 +19,7 @@ class Jobs_Dot_WP {
 	 * Fields that must have a value when submitted by job poster.
 	 */
 	private $required_fields = array(
-		'first_name', 'last_name', 'email', 'phone',
+		'first_name', 'last_name', 'email',
 		'company', 'howtoapply_method', 'howtoapply',
 		'job_title', 'category', 'jobtype', 'job_description'
 	);
@@ -28,7 +28,7 @@ class Jobs_Dot_WP {
 	 * All of the meta fields.
 	 */
 	private $meta_fields = array(
-		'first_name', 'last_name', 'email', 'phone',
+		'first_name', 'last_name', 'email',
 		'company', 'howtoapply_method', 'howtoapply',
 		'budget', 'jobtype', 'location'
 	);
@@ -68,7 +68,7 @@ class Jobs_Dot_WP {
 	 * @return int
 	 */
 	public static function get_days_until_pruning() {
-		return apply_filters( 'jobswp_days_until_pruning', 21 );
+		return (int) apply_filters( 'jobswp_days_until_pruning', 21 );
 	}
 
 	/**
@@ -118,8 +118,9 @@ class Jobs_Dot_WP {
 		add_filter( 'posts_search',                   array( $this, 'admin_search_job_posts_search' ), 10, 2 );
 		add_filter( 'posts_request',                  array( $this, 'admin_search_job_posts_request' ), 10, 2 );
 
-		foreach ( array( 'the_content', 'the_title', 'single_post_title' ) as $filter )
-			add_filter( $filter,                      array( $this, 'WordPress_dangit' ) );
+		foreach ( [ 'the_content', 'the_title', 'single_post_title' ] as $filter ) {
+			add_filter( $filter,                  array( $this, 'proper_project_names_dangit' ) );
+		}
 
 		add_action( 'save_post_job',                  array( $this, 'email_job_poster' ), 10, 3 );
 		add_action( 'wp',                             array( $this, 'maybe_remove_job' ) );
@@ -496,19 +497,33 @@ class Jobs_Dot_WP {
 	}
 
 	/**
-	 * Replaces all malformed attempts at "WordPress" with "WordPress".
+	 * Replaces all malformed attempts at "WordPress", "BuddyPress", and "bbPress"
+	 * project names with proper spelling of the names.
 	 *
 	 * This is a bit broad-stroked for general use, but should be sufficient for job postings.
 	 *
-	 * @param string $text Text to process for malformed "WordPress" usage
+	 * @param string $text Text to process for malformed project names.
 	 * @return string The fixed text
 	 */
-	public function WordPress_dangit( $text ) {
-		return str_replace(
-			array( 'Wordpress', 'wordpress', 'wordPress', 'word press', 'Word press', 'word Press', 'Word Press' ),
+	public function proper_project_names_dangit( $text ) {
+		$text = str_replace(
+			[ 'Wordpress', 'wordpress', 'wordPress', 'word press', 'Word press', 'word Press', 'Word Press' ],
 			'WordPress',
 			$text
 		);
+
+		$text = str_replace(
+			[ 'Buddypress', 'buddypress', 'buddyPress', 'buddy press', 'Buddy press', 'buddy Press', 'Buddy Press' ],
+			'BuddyPress',
+			$text
+		);
+
+		$text = str_replace(
+			[ 'Bbpress', 'BBpress', 'BBPress', 'BbPress', 'bbpress', 'bb press', 'Bb press', 'bb Press', 'BB press', 'BB Press' ],
+			'bbPress',
+			$text
+		);
+
 		return $text;
 	}
 
@@ -554,7 +569,7 @@ class Jobs_Dot_WP {
 	 * @return string The token.
 	 */
 	protected function generate_job_token( $job_id ) {
-		return $job_id . '|' . bin2hex( openssl_random_pseudo_bytes( 20 ) );
+		return $job_id . '_' . bin2hex( openssl_random_pseudo_bytes( 20 ) );
 	}
 
 	/**
@@ -566,7 +581,13 @@ class Jobs_Dot_WP {
 	public function get_job_by_token( $token ) {
 		$job = false;
 
-		$parts = explode( '|', trim( $token ), 2 );
+		// Reformat legacy token (at least for the few weeks that
+		// they are still valid).
+		if ( false !== strpos( $token, '|' ) ) {
+			$parts = explode( '|', trim( $token ), 2 );
+		} else {
+			$parts = explode( '_', trim( $token ), 2 );
+		}
 
 		if ( count( $parts ) > 1 ) {
 			list( $job_id, $job_token ) = $parts;
@@ -654,10 +675,10 @@ Cheers.
 
 EMAIL;
 
-			$headers = '';
+			$headers = [];
 			$headers['From'] = 'jobs.wordpress.net <jobs@wordpress.net>';
 
-			$body = sprintf( $body, $title, 'http://jobs.wordpress.net/', $token, self::get_days_until_pruning(), 'http://jobs.wordpress.net/remove-a-job/' );
+			$body = sprintf( $body, $title, 'https://jobs.wordpress.net/', $token, self::get_days_until_pruning(), 'https://jobs.wordpress.net/remove-a-job/' );
 
 			if ( $to ) {
 				wp_mail( $to, $subject, $body, $headers );
@@ -694,6 +715,10 @@ EMAIL;
 				} elseif ( 'email' == $_POST['howtoapply_method'] && ! is_email( $_POST['howtoapply'] ) ) {
 					$has_errors = __( 'The provided "How to Apply" email address is not a proper email address.', 'jobswp' );
 					unset( $_POST['howtoapply'] );
+				} elseif ( 'web' == $_POST['howtoapply_method'] && is_email( $_POST['howtoapply'] ) ) {
+					$has_errors = __( 'The provided "How to Apply" online form address appear to be an email address. Either supply a website address or change the dropdown to "Email Address".', 'jobswp' );
+				} elseif ( 'web' == $_POST['howtoapply_method'] && ! wp_http_validate_url( esc_url_raw( $_POST['howtoapply'] ) ) ) {
+					$has_errors = __( 'The provided "How to Apply" online form address is not a proper URL.', 'jobswp' );
 				}
 			endif;
 
@@ -702,7 +727,7 @@ EMAIL;
 				$has_errors = __( 'You must also mark the checkbox indicating that you agree to the terms listed below the form.', 'jobswp' );
 			}
 
-			$has_errors = apply_filters( 'jobswb_save_job_errors', $has_errors );
+			$has_errors = apply_filters( 'jobswp_save_job_errors', $has_errors );
 			if ( $has_errors )
 				$_POST['errors'] = $has_errors;
 			elseif ( $needs_to_verify )
@@ -714,16 +739,16 @@ EMAIL;
 			if ( $this->success ) {
 				$job_id = $this->create_job();
 
-				// Generate and store a unique token for the job, primarily to be used by
-				// job posters to close their jobs themselves despite the site's lack of
-				// users.
-				$_POST['job_token'] = $this->generate_job_token( $job_id );
-				add_post_meta( $job_id, 'job_token', $_POST['job_token'], true );
-
 				if ( is_wp_error( $job_id ) ) {
 					$_POST['errors'] = $job_id->get_error_message();
 					$this->success = false;
 				} else {
+					// Generate and store a unique token for the job, primarily to be used by
+					// job posters to close their jobs themselves despite the site's lack of
+					// users.
+					$_POST['job_token'] = $this->generate_job_token( $job_id );
+					add_post_meta( $job_id, 'job_token', $_POST['job_token'], true );
+
 					$this->success = $job_id;
 				}
 			}
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/content-post-job.php jobs.wordpress.net/public_html/wp-content/themes/jobswp/content-post-job.php
index 8141ca162..538723a4b 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/content-post-job.php
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/content-post-job.php
@@ -14,8 +14,10 @@
 <?php elseif ( isset( $_POST['verify'] ) ) : ?>
 
 	<div class="notice notice-info">
-		<span>!</span><span><?php _e( 'Please review the data you submitted for accuracy. Make any necessary corrections, then re-submit this form.', 'jobswp' ); ?></span>
+		<div>
+		<?php _e( 'Please review the data you submitted for accuracy. Make any necessary corrections, then re-submit this form.', 'jobswp' ); ?>
 		<?php do_action( 'jobswp_notice', 'verify' ); ?>
+		</div>
 	</div>
 
 <?php endif; ?>
@@ -31,9 +33,6 @@
 	<?php jobswp_text_field( 'last_name', __( 'Last Name', 'jobswp' ), true ); ?>
 
 	<?php jobswp_text_field( 'email', __( 'Email Address', 'jobswp' ), true, 'email', __( 'This is the email address you would use in contacting us and for us to contact you.', 'jobswp' ) ); ?>
-
-	<?php jobswp_text_field( 'phone', __( 'Phone Number', 'jobswp' ), true, 'tel' ); ?>
-
 </div>
 
 <div class="post-job-company-info grid_4 alpha omega">
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/functions.php jobs.wordpress.net/public_html/wp-content/themes/jobswp/functions.php
index a88ce9e60..927fd4eb2 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/functions.php
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/functions.php
@@ -37,7 +37,7 @@ function jobswp_setup() {
 	/**
 	 * Enable support for Post Thumbnails on posts and pages
 	 *
-	 * @link http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails
+	 * @link https://developer.wordpress.org/reference/functions/add_theme_support/#post-thumbnails
 	 */
 	//add_theme_support( 'post-thumbnails' );
 
@@ -109,7 +109,7 @@ function jobswp_scripts() {
 	wp_enqueue_style( '996-style',     get_template_directory_uri() . '/css/996/style.css' );
 	wp_enqueue_style( 'dashicons' );
 	wp_enqueue_style( 'open-sans' );
-	wp_enqueue_style( 'jobswp-style', get_stylesheet_uri(), array(), '20170419' );
+	wp_enqueue_style( 'jobswp-style', get_stylesheet_uri(), array(), '20190311' );
 
 	wp_enqueue_script( 'jobswp-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery'), '20131107', true );
 	wp_enqueue_script( 'jobswp-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true );
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/custom-header.php jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/custom-header.php
index a64c49e08..4e48204aa 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/custom-header.php
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/custom-header.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Sample implementation of the Custom Header feature
- * http://codex.wordpress.org/Custom_Headers
+ * https://codex.wordpress.org/Custom_Headers
  *
  * You can add an optional custom header image to header.php like so ...
 
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/jetpack.php jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/jetpack.php
index 60c79216f..a047904b2 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/jetpack.php
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/inc/jetpack.php
@@ -1,14 +1,14 @@
 <?php
 /**
  * Jetpack Compatibility File
- * See: http://jetpack.me/
+ * See: https://jetpack.me/
  *
  * @package jobswp
  */
 
 /**
  * Add theme support for Infinite Scroll.
- * See: http://jetpack.me/support/infinite-scroll/
+ * See: https://jetpack.me/support/infinite-scroll/
  */
 function jobswp_jetpack_setup() {
 	add_theme_support( 'infinite-scroll', array(
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/index.php jobs.wordpress.net/public_html/wp-content/themes/jobswp/index.php
index 85b8e4f12..e0d0cad29 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/index.php
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/index.php
@@ -6,7 +6,7 @@
  * and one of the two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * E.g., it puts together the home page when no home.php file exists.
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package jobswp
  */
@@ -61,4 +61,4 @@ get_header(); ?>
 		</main><!-- #main -->
 	</div><!-- #primary -->
 
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/_s.pot jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/_s.pot
index ee44a4150..49a7f4b78 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/_s.pot
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/_s.pot
@@ -3,7 +3,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: _s 1.3-wpcom\n"
-"Report-Msgid-Bugs-To: http://wordpress.org/tags/_s\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n"
 "POT-Creation-Date: 2013-05-28 16:41:49+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -336,7 +336,7 @@ msgid "_s"
 msgstr ""
 
 #. Theme URI of the plugin/theme
-msgid "http://underscores.me"
+msgid "https://jobs.wordpress.net/"
 msgstr ""
 
 #. Description of the plugin/theme
@@ -346,11 +346,3 @@ msgid ""
 "Theme</em>. Instead try turning me into the next, most awesome, WordPress "
 "theme out there. That's what I'm here for."
 msgstr ""
-
-#. Author of the plugin/theme
-msgid "Automattic"
-msgstr ""
-
-#. Author URI of the plugin/theme
-msgid "http://automattic.com/"
-msgstr ""
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/readme.txt jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/readme.txt
index 2f675c2df..8725bb099 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/readme.txt
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/languages/readme.txt
@@ -2,5 +2,5 @@ Place your theme language files in this directory.
 
 Please visit the following links to learn more about translating WordPress themes:
 
-http://codex.wordpress.org/Translating_WordPress
-http://codex.wordpress.org/Function_Reference/load_theme_textdomain
+https://make.wordpress.org/polyglots/handbook/
+https://codex.wordpress.org/Function_Reference/load_theme_textdomain
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/no-results.php jobs.wordpress.net/public_html/wp-content/themes/jobswp/no-results.php
index f05b2ce16..50d41f144 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/no-results.php
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/no-results.php
@@ -2,7 +2,7 @@
 /**
  * The template part for displaying a message that posts cannot be found.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package jobswp
  */
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/rtl.css jobs.wordpress.net/public_html/wp-content/themes/jobswp/rtl.css
index cced0ae1a..2d10d9262 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/rtl.css
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/rtl.css
@@ -5,7 +5,7 @@ Adding support for language written in a Right To Left (RTL) direction is easy -
 it's just a matter of overwriting all the horizontal positioning attributes
 of your CSS stylesheet in a separate stylesheet file named rtl.css.
 
-http://codex.wordpress.org/Right_to_Left_Language_Support
+https://codex.wordpress.org/Right_to_Left_Language_Support
 
 */
 
@@ -14,4 +14,4 @@ body {
 	direction: rtl;
 	unicode-bidi: embed;
 }
-*/
\ No newline at end of file
+*/
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/style.css jobs.wordpress.net/public_html/wp-content/themes/jobswp/style.css
index c0aa59279..77c509e16 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/style.css
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/style.css
@@ -1,6 +1,6 @@
 /*
 Theme Name: jobswp
-Theme URI: http://underscores.me/
+Theme URI: https://jobs.wordpress.net/
 Author: melchoyce, coffee2code
 Description: Theme for jobs.wordpress.net
 Version: 1.0.1
@@ -11,11 +11,11 @@ Tags:
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.
 
- jobswp is based on Underscores http://underscores.me/, (C) 2012-2013 Automattic, Inc.
+ jobswp is based on Underscores https://underscores.me/, (C) 2012-2013 Automattic, Inc.
 
 Resetting and rebuilding styles have been helped along thanks to the fine work of
-Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
-along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
+Eric Meyer https://meyerweb.com/eric/tools/css/reset/index.html
+along with Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/
 and Blueprint http://www.blueprintcss.org/
 */
 
@@ -1115,6 +1115,7 @@ input[type="button"].submit-job:hover, input[type="submit"].submit-job:hover,
 	border-style: solid;
 	border-color: #FFF;
 	padding: 1em 1.5em;
+	position: relative;
 	margin-right: 1.5em;
 }
 .notice h2 {
@@ -1134,24 +1135,22 @@ input[type="button"].submit-job:hover, input[type="submit"].submit-job:hover,
 	color: #9F6000;
 	border-color: #9F6000;
 }
+.notice-info:not(.accept)::before {
+	content: "\f348";
+	font-family: "dashicons";
+	font-size: 36px;
+	position: absolute;
+	top: 6px;
+}
+.notice-info div:first-child {
+	display: block;
+	margin-left: 48px;
+}
 .notice-error {
 	background-color: #FFBABA;
 	color: #D8000C;
 	border-color: #D8000C;
 }
-.notice span:first-child {
-	padding: 1px 10px 3px;
-	border-radius: 25px;
-	color: white;
-	font-size: 18px;
-	font-weight: bold;
-	font-family: Verdana;
-	float: left;
-	margin: 0 0.8em 0 0;
-}
-.notice-info span:first-child {
-	background-color: #9F6000;
-}
 
 .accept {
 	font-size: 1.1em;
@@ -1202,8 +1201,48 @@ input[type="button"].submit-job:hover, input[type="submit"].submit-job:hover,
 	margin-left: 24px;
 }
 
-#wporg-footer ul:first-child {
-	margin-left: 0;
+@media screen and (min-width:960px) {
+    #wporg-footer ul:first-child {
+        margin-left: 0;
+    }
+}
+
+@media screen and (min-width:561px) and (max-width:995px) {
+    #wporg-footer .wrapper {
+        max-width: 600px;
+    }
+
+    #wporg-footer ul:nth-child(3n+1) {
+        margin-left: 0;
+    }
+
+    #wporg-footer ul:nth-child(4n) {
+        clear: both;
+    }
+
+    #wporg-footer ul {
+        margin-left: 2%;
+        width: 32%;
+    }
+}
+
+@media screen and (max-width:560px) {
+    #wporg-footer .wrapper {
+        max-width: 360px;
+    }
+
+    #wporg-footer ul:nth-child(2n+1) {
+        margin-left: 0;
+    }
+
+    #wporg-footer ul:nth-child(odd) {
+        clear: both;
+    }
+
+    #wporg-footer ul {
+        margin-left: 4%;
+        width: 48%;
+    }
 }
 
 #wporg-footer ul li {
@@ -1249,7 +1288,7 @@ input[type="button"].submit-job:hover, input[type="submit"].submit-job:hover,
 	padding-right: 0;
 }
 .jobswp #wporg-footer .wrapper {
-	width: 100%;
+	margin: 0 auto;
 	text-align: left;
 }
 .jobswp #wporg-footer p {
@@ -1263,7 +1302,6 @@ input[type="button"].submit-job:hover, input[type="submit"].submit-job:hover,
 .jobswp #wporg-footer ol, .jobswp #wporg-footer ul {
 	padding-left: 0;
 	margin-top: 0;
-	margin-left: 28px;
 }
 .jobswp #wporg-footer a:hover {
 	color: #d54e21;
@@ -1272,6 +1310,18 @@ input[type="button"].submit-job:hover, input[type="submit"].submit-job:hover,
 	color: #4ca6cf;
 }
 
+@media only screen and (max-width: 767px) {
+	.jobswp #wporg-footer .wrapper {
+		width: 442px;
+	}
+}
+
+@media only screen and (max-width: 560px) {
+	.jobswp #wporg-footer .wrapper {
+		width: 285px;;
+	}
+}
+
 /* Mobile */
 
 @media only screen and (max-width: 995px) {
@@ -1285,9 +1335,6 @@ input[type="button"].submit-job:hover, input[type="submit"].submit-job:hover,
 	#subhead .wporg-link a {
 		font-size: 0.78em;
 	}
-	#wporg-footer ul {
-		width: 110px;
-	}
 }
 @media only screen and (max-width: 767px) {
 	.container .hentry .grid_3,
diff --git jobs.wordpress.net/public_html/wp-content/themes/jobswp/wporg-footer.php jobs.wordpress.net/public_html/wp-content/themes/jobswp/wporg-footer.php
index dd6b99886..e5ae143c8 100644
--- jobs.wordpress.net/public_html/wp-content/themes/jobswp/wporg-footer.php
+++ jobs.wordpress.net/public_html/wp-content/themes/jobswp/wporg-footer.php
@@ -11,14 +11,12 @@
 			<li><a href="https://wordpress.org/support/" title="Forums, documentation, and other resources">Support</a></li>
 			<li><a href="https://developer.wordpress.org/" title="Resources for WordPress developers">Developers</a></li>
 			<li><a href="https://make.wordpress.org/" title="Give back to WordPress through code, support, translation and more">Get Involved</a></li>
-			<li><a href="https://learn.wordpress.org/" title="Workshops and training materials">Learn</a></li>
 		</ul>
 
 		<ul>
 			<li><a href="https://wordpress.org/showcase/" title="Some of the best WordPress sites on the Web">Showcase</a></li>
 			<li><a href="https://wordpress.org/plugins/" title="Add extra functionality to WordPress">Plugins</a></li>
 			<li><a href="https://wordpress.org/themes/" title="Make your WordPress pretty">Themes</a></li>
-			<li><a href="https://wordpress.org/ideas/" title="Share your ideas for improving WordPress">Ideas</a></li>
 		</ul>
 
 		<ul>
@@ -36,16 +34,8 @@
 		</ul>
 
 		<ul>
-			<li>
-				<iframe allowtransparency="true" frameborder="0" scrolling="no" src="//platform.twitter.com/widgets/follow_button.html?screen_name=WordPress&show_count=false" style="width:135px; height:20px;"></iframe>
-			</li>
-			<li>
-				<iframe src="//www.facebook.com/plugins/like.php?app_id=121415197926116&amp;href=http%3A%2F%2Fwww.facebook.com%2Fwordpress&amp;send=false&amp;layout=button_count&amp;width=135&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=lucida+grande&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:135px; height:21px;" allowTransparency="true"></iframe>
-			</li>
-			<li>
-				<script src="https://apis.google.com/js/platform.js" async defer></script>
-				<div class="g-plusone" data-size="medium" data-href="https://plus.google.com/+WordPress"></div>
-			</li>
+			<li><span class="dashicons dashicons-twitter"></span><a href="https://twitter.com/WordPress" title="<?php echo esc_attr( sprintf( __( 'Follow %s on Twitter', 'jobswp' ), '@WordPress' ) ); ?>">@WordPress</a></li>
+			<li><span class="dashicons dashicons-facebook"></span><a href="https://www.facebook.com/WordPress/" title="<?php echo esc_attr( sprintf( __( 'Like %s on Facebook', 'jobswp' ), 'WordPress' ) ); ?>">WordPress</a></li>
 		</ul>
 	</div>
 
diff --git trac.wordpress.org/conf/common-extended.ini trac.wordpress.org/conf/common-extended.ini
index 24fd4cad6..b6b1072e6 100644
--- trac.wordpress.org/conf/common-extended.ini
+++ trac.wordpress.org/conf/common-extended.ini
@@ -56,3 +56,5 @@ render_unsafe_content = false
 max_size = 1048576
 split_page_names = false
 
+[ticket]
+preserve_newlines = true
diff --git trac.wordpress.org/templates/core/site-specific.html trac.wordpress.org/templates/core/site-specific.html
index e55c2d61d..d53ec0675 100644
--- trac.wordpress.org/templates/core/site-specific.html
+++ trac.wordpress.org/templates/core/site-specific.html
@@ -40,6 +40,8 @@ var wpTracContributorLabels = {
 	ocean90: 'Core Committer',
 	aaroncampbell: 'Core Committer',
 
+	josephscott: 'Core Committer',
+	mdawaffe: 'Core Committer',
 	kovshenin: 'Core Committer',
 	obenland: 'Core Committer',
 	rmccue: 'Core Committer',
@@ -65,10 +67,21 @@ var wpTracContributorLabels = {
 	mcsf: 'Core Committer',
 	herregroen: 'Core Committer',
 	atimmer: 'Core Committer',
+	youknowriad: 'Core Committer',
+	gziolo: 'Core Committer',
+	jorgefilipecosta: 'Core Committer',
+	aduth: 'Core Committer',
+	bpayton: 'Core Committer',
+	noisysocks: 'Core Committer',
+	desrosj: 'Core Committer',
+	talldanwp: 'Core Committer',
 	johnjamesjacoby: 'Core Committer',
 	tellyworth: 'Core Committer',
-
+	xknown: 'Core Committer',
+	whyisjack: 'Core Committer',
 	iammattthomas: 'Core Committer',
+	mattmiklic: 'Core Committer',
+
 	lancewillett: 'Themes Committer',
 	iandstewart: 'Themes Committer',
 	davidakennedy: 'Themes Committer',
diff --git trac.wordpress.org/templates/site-ticket.html trac.wordpress.org/templates/site-ticket.html
index d0c2dee25..9e74adc65 100644
--- trac.wordpress.org/templates/site-ticket.html
+++ trac.wordpress.org/templates/site-ticket.html
@@ -47,7 +47,7 @@
 
 <!--! Gravatars for the ticket reporter -->
 <td py:match="td[@headers='h_reporter']" py:attrs="select('@*')" py:with="wporg_user = wporg_sanitize_user_nicename(ticket.reporter)">
-  <a href="${profile_link + wporg_user}">
+  <a href="${profile_link + wporg_user}" data-nicename="${wporg_user}">
     <img class="avatar" src="https://wordpress.org/grav-redirect.php?user=${wporg_user}&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=${wporg_user}&amp;s=96 2x" height="48" width="48" />
   </a>
     ${select('*|comment()|text()')}
diff --git trac.wordpress.org/templates/site.html trac.wordpress.org/templates/site.html
index 29e340855..c5508f356 100644
--- trac.wordpress.org/templates/site.html
+++ trac.wordpress.org/templates/site.html
@@ -4,7 +4,7 @@
      py:strip="">
 
 <?python
-	scripts_version = '106'
+	scripts_version = '117'
 	project_slug = req.environ['HTTP_HOST'].split(':')[0].split('.')[0]
 	wporg_endpoint = 'https://make.wordpress.org/' + project_slug + '/'
 	is_bug_gardener = 'TICKET_EDIT_DESCRIPTION' in perm(resource)
@@ -19,6 +19,22 @@
 	else :
 		support_link = 'https://wordpress.org/support/'
 
+	# <link rel="canonical">
+	if req.environ['PATH_INFO'].startswith('/ticket/') :
+		canonical = 'https://' + req.environ['HTTP_HOST'] + '/ticket/' + req.environ['PATH_INFO'].split('/')[2]
+	else :
+		canonical = false;
+
+	# <meta name="robots">
+	if req.environ['PATH_INFO'].startswith('/attachment/') :
+		robots = 'noindex, follow'
+	elif req.environ['PATH_INFO'].startswith('/browser/') and 'rev' in req.args : # eg: /browser/trunk/?rev=37670
+		robots = 'noindex, follow'
+	elif req.environ['PATH_INFO'].startswith('/changeset/') and len( filter( None, req.environ['PATH_INFO'].split('/') ) ) > 2 : # eg: /changeset/123/trunk
+		robots = 'noindex, follow'
+	else :
+		robots = false
+
 	profile_to_edit = 'https://wordpress.org/support/users/'
 
 	# Fix https://meta.trac.wordpress.org/ticket/21
@@ -44,6 +60,16 @@
 
 <!--! Styles and such. Load before first JS file (jquery.js) -->
 <py:match path="head/script[contains(@src,'jquery.js')]">
+	<link rel="dns-prefetch" href="//s.w.org" />
+	<link rel="dns-prefetch" href="//fonts.googleapis.com" />
+	<link rel="dns-prefetch" href="//fonts.gstatic.com" />
+	<link rel="dns-prefetch" href="//www.googletagmanager.com" />
+	<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+		new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+		j=d.createElement(s);j.async=true;j.src=
+		'https://www.googletagmanager.com/gtm.js?id='+i;f.parentNode.insertBefore(j,f);
+	})(window,document,'script','dataLayer','GTM-5Z8B3BX');</script>
+
 	<!--! WP.org Global Header -->
 	<xi:include href="wporg-head.html" />
 	<meta name="viewport" content="width=device-width" />
@@ -61,6 +87,14 @@
 		});
 		</script>
 	</py:if>
+
+	<py:if test="canonical">
+		<link rel="canonical" href="$canonical"/>
+	</py:if>
+
+	<py:if test="robots">
+		<meta name="robots" content="$robots"/>
+	</py:if>
 </py:match>
 
 <!--! Append a version string to JS files hosted on the w.org CDN -->
@@ -178,7 +212,7 @@
  		${select('*|comment()|text()')}
 	</div>
 	<div class="wp-notice" id="wp-reporter-feedback-notice" py:if="ticket.reporter == req.authname and 'reporter-feedback' in ticket.keywords and ticket.resolution != 'fixed'">
-		<p><strong>Howdy!</strong></p><p></p>
+		<p><strong>Howdy!</strong></p>
 		<p>A contributor marked this ticket with the reporter-feedback keyword. <strong>That means we need feedback from you.</strong></p>
 		<p>Please answer their questions and address their concerns, then remove the keyword, below.</p>
 		<p>If this is a support question, you're better off in the <a href="${support_link}" class="ext-link"><span class="icon">&nbsp;</span>support forums</a>.</p>
@@ -253,17 +287,7 @@
 </py:if>
 
 <body py:match="body" id="wordpress-org" class="${project_slug} trac wporg-make make-${project_slug}" py:attrs="select('@*')">
-
-	<!--! Analytics for Core Trac -->
-	<py:if test="project_slug == 'core'">
-		<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
-			new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
-			j=d.createElement(s);j.async=true;j.src=
-			'https://www.googletagmanager.com/gtm.js?id='+i;f.parentNode.insertBefore(j,f);
-		})(window,document,'script','dataLayer','GTM-5Z8B3BX');</script>
-		<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5Z8B3BX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
-	</py:if>
-
+	<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5Z8B3BX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
 	<!--! WP.org Global Header -->
 	<xi:include href="wporg-header.html" />
 
@@ -291,6 +315,7 @@
 	</script>
 
 	<!--! JavaScript -->
+	<script src="https://s.w.org/style/js/navigation.min.js?20190128"></script>
 	<script src="https://s.w.org/style/trac/jquery.caret.min.js?ver=2015-02-01"></script>
 	<script src="https://s.w.org/style/trac/jquery.atwho.min.js?ver=1.0.1"></script>
 	<script src="https://s.w.org/style/trac/wp-trac.js?${scripts_version}"></script>
diff --git trac.wordpress.org/templates/ticket_change.html trac.wordpress.org/templates/ticket_change.html
index 9d754e17d..e378365da 100644
--- trac.wordpress.org/templates/ticket_change.html
+++ trac.wordpress.org/templates/ticket_change.html
@@ -77,7 +77,7 @@ Arguments:
       <py:when test="'author' in change" py:with="wporg_user = wporg_sanitize_user_nicename(change.author)">
         <span class="avatar" py:if="change">
           <span class="username-line"><a href="https://profiles.wordpress.org/${wporg_user}" class="profile-link">
-            <img src="https://wordpress.org/grav-redirect.php?user=${wporg_user}&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=${wporg_user}&amp;s=96 2x" height="48" width="48" /> @<span class="username" data-username="${change.author}">${authorinfo(change.author)}</span></a></span>
+            <img src="https://wordpress.org/grav-redirect.php?user=${wporg_user}&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=${wporg_user}&amp;s=96 2x" height="48" width="48" /> @<span class="username" data-username="${change.author}" data-nicename="${wporg_user}">${authorinfo(change.author)}</span></a></span>
           <py:if test="'date' in change">
             <br /><span class="time-ago">${dateinfo(change.date)} ago</span>
           </py:if>
diff --git trac.wordpress.org/templates/wporg-footer.html trac.wordpress.org/templates/wporg-footer.html
index f1da6effa..36a5b6499 100644
--- trac.wordpress.org/templates/wporg-footer.html
+++ trac.wordpress.org/templates/wporg-footer.html
@@ -16,14 +16,12 @@
 			<li><a href="https://wordpress.org/support/" title="Forums, documentation, and other resources">Support</a></li>
 			<li><a href="https://developer.wordpress.org" title="Resources for WordPress developers">Developers</a></li>
 			<li><a href="https://make.wordpress.org/" title="Give back to WordPress through code, support, translation and more">Get Involved</a></li>
-			<li><a href="https://learn.wordpress.org/" title="Workshops and training materials">Learn</a></li>
 		</ul>
 
 		<ul>
 			<li><a href="https://wordpress.org/showcase/" title="Some of the best WordPress sites on the Web">Showcase</a></li>
 			<li><a href="https://wordpress.org/plugins/" title="Add extra functionality to WordPress">Plugins</a></li>
 			<li><a href="https://wordpress.org/themes/" title="Make your WordPress pretty">Themes</a></li>
-			<li><a href="https://wordpress.org/ideas/" title="Share your ideas for improving WordPress">Ideas</a></li>
 		</ul>
 
 		<ul>
@@ -40,6 +38,10 @@
 			<li><a href="https://publiccode.eu/" target="_blank">Public Code</a></li>
 		</ul>
 
+		<ul>
+			<li><span class="dashicons dashicons-twitter"></span><a href="https://twitter.com/WordPress" title="Follow @WordPress on Twitter">@WordPress</a></li>
+			<li><span class="dashicons dashicons-facebook"></span><a href="https://www.facebook.com/WordPress/" title="Like WordPress on Facebook">WordPress</a></li>
+		</ul>
 	</div>
 
 	<p class="cip cip-image">Code is Poetry</p>
diff --git trac.wordpress.org/templates/wporg-head.html trac.wordpress.org/templates/wporg-head.html
index 2d3dcec0b..16dcff8c5 100644
--- trac.wordpress.org/templates/wporg-head.html
+++ trac.wordpress.org/templates/wporg-head.html
@@ -5,8 +5,8 @@
 
 	<script>
 		// <![CDATA[
-		window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/s.w.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=20160722"}};
-		!function(a,b,c){function d(a){var c,d,e,f=b.createElement("canvas"),g=f.getContext&&f.getContext("2d"),h=String.fromCharCode;if(!g||!g.fillText)return!1;switch(g.textBaseline="top",g.font="600 32px Arial",a){case"flag":return g.fillText(h(55356,56806,55356,56826),0,0),f.toDataURL().length>3e3;case"diversity":return g.fillText(h(55356,57221),0,0),c=g.getImageData(16,16,1,1).data,d=c[0]+","+c[1]+","+c[2]+","+c[3],g.fillText(h(55356,57221,55356,57343),0,0),c=g.getImageData(16,16,1,1).data,e=c[0]+","+c[1]+","+c[2]+","+c[3],d!==e;case"simple":return g.fillText(h(55357,56835),0,0),0!==g.getImageData(16,16,1,1).data[0];case"unicode8":return g.fillText(h(55356,57135),0,0),0!==g.getImageData(16,16,1,1).data[0];case"unicode9":return g.fillText(h(55358,56631),0,0),0!==g.getImageData(16,16,1,1).data[0]}return!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i;for(i=Array("simple","flag","unicode8","diversity","unicode9"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
+		window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11.2.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11.2.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/s.w.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=20180127"}};
+		!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55358,56760,9792,65039],[55358,56760,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
 		// ]]>
 	</script>
 	<style>
@@ -23,22 +23,11 @@
 		}
 	</style>
 	<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,300,600&amp;subset=latin,cyrillic-ext,greek-ext,greek,vietnamese,latin-ext,cyrillic' rel='stylesheet' type='text/css' />
-	<link rel="stylesheet" href="https://s.w.org/style/wp4.css?70" />
+	<link rel="stylesheet" href="https://s.w.org/style/wp4.css?78" />
 	<!--[if lte IE 8]>
 	<style type="text/css">
 	@import url("https://s.w.org/style/ie.css?1");
 	</style>
 	<![endif]-->
-	<script type="text/javascript">
-		var toggleMenu = function() {
-			var menu    = document.getElementById( 'wporg-header-menu' ),
-				toggle  = document.getElementById( 'mobile-menu-button' ),
-				classes = menu.className,
-				toggled = classes.match( ' active' );
-
-			menu.className = toggled ? classes.replace( ' active', '' ) : classes + ' active';
-			toggle.setAttribute( 'aria-expanded', ! toggled );
-		};
-	</script>
 
 </html>
diff --git trac.wordpress.org/templates/wporg-header.html trac.wordpress.org/templates/wporg-header.html
index 0fbabc364..acbee158c 100644
--- trac.wordpress.org/templates/wporg-header.html
+++ trac.wordpress.org/templates/wporg-header.html
@@ -5,8 +5,6 @@
 
 <div id="wporg-header">
     <div class="wrapper">
-        <button id="mobile-menu-button" onclick="toggleMenu();" aria-expanded="false"><span class="screen-reader-text">Toggle Menu</span></button>
-
         <h1><a href="https://wordpress.org">WordPress.org</a></h1>
 
         <div id="head-search">
@@ -17,29 +15,30 @@
             </form>
         </div>
         <div style="clear:both"></div>
+        <button id="mobile-menu-button" aria-expanded="false"><span class="screen-reader-text">Toggle Menu</span></button>
         <ul id="wporg-header-menu">
-            <li><a href="https://wordpress.org/showcase/" title="See some of the sites built on WordPress.">Showcase</a></li>
-            <li><a href="https://wordpress.org/themes/" title="Find just the right look for your website.">Themes</a></li>
-            <li><a href="https://wordpress.org/plugins/" title="Plugins can extend WordPress to do almost anything you can imagine."
+            <li><a href="https://wordpress.org/showcase/" data-title="See some of the sites built on WordPress.">Showcase</a></li>
+            <li><a href="https://wordpress.org/themes/" data-title="Find just the right look for your website.">Themes</a></li>
+            <li><a href="https://wordpress.org/plugins/" data-title="Plugins can extend WordPress to do almost anything you can imagine."
                 class="${'current' if project_slug == 'plugins' else None}">Plugins</a>
                 <div class="uparrow"></div>
             </li>
-            <li><a href="https://wordpress.org/mobile/" title="Take your website on the go!">Mobile</a></li>
-            <li><a href="https://wordpress.org/support/" title="Forums, documentation, help.">Support</a>
+            <li><a href="https://wordpress.org/mobile/" data-title="Take your website on the go!">Mobile</a></li>
+            <li><a href="https://wordpress.org/support/" data-title="Forums, documentation, help.">Support</a>
                 <ul class="nav-submenu">
-                    <li><a href="https://wordpress.org/support/" title="Support and discussion forums.">Forums</a></li>
-                    <li><a href="https://codex.wordpress.org/Main_Page" title="Documentation, tutorials, best practices.">Documentation</a></li>
+                    <li><a href="https://wordpress.org/support/" data-title="Documentation, tutorials, best practices.">Documentation</a></li>
+                    <li><a href="https://wordpress.org/support/forums/" data-title="Support and discussion forums.">Forums</a></li>
                 </ul>
                 <div class="uparrow"></div>
             </li>
-            <li><a href="https://make.wordpress.org/" title="Contribute your knowledge."
+            <li><a href="https://make.wordpress.org/" data-title="Contribute your knowledge."
                    class="${'current' if project_slug != 'plugins' else None}">Get Involved</a>
                 <div class="uparrow"></div>
             </li>
-            <li><a href="https://wordpress.org/about/" title="About the WordPress Organization, and where we're going.">About</a></li>
-            <li><a href="https://wordpress.org/news/" title="Come here for the latest scoop.">Blog</a></li>
-            <li><a href="https://wordpress.org/hosting/" title="Find a home for your blog.">Hosting</a></li>
-            <li id="download" class="button download-button"><a href="https://wordpress.org/download/" title="Get it. Got it? Good.">Download WordPress</a></li>
+            <li><a href="https://wordpress.org/about/" data-title="About the WordPress Organization, and where we're going.">About</a></li>
+            <li><a href="https://wordpress.org/news/" data-title="Come here for the latest scoop.">Blog</a></li>
+            <li><a href="https://wordpress.org/hosting/" data-title="Find a home for your blog.">Hosting</a></li>
+            <li id="download" class="button download-button"><a href="https://wordpress.org/download/" data-title="Get it. Got it? Good.">Download WordPress</a></li>
         </ul>
         <div style="clear:both"></div>
     </div>
diff --git wordcamp.org/.githooks/pre-svn-dcommit wordcamp.org/.githooks/pre-svn-dcommit
index 578005769..3b75d251b 100755
--- wordcamp.org/.githooks/pre-svn-dcommit
+++ wordcamp.org/.githooks/pre-svn-dcommit
@@ -31,7 +31,7 @@ function main {
 
 # Get the files that have changes between the local and remote HEADs.
 function get_changed_files {
-	changed_files=$( /usr/bin/git diff git-svn HEAD --name-only )
+	changed_files=$( /usr/bin/git diff git-svn HEAD --name-only --relative )
 }
 
 # Lint PHP files for syntax errors.
diff --git wordcamp.org/.gitignore wordcamp.org/.gitignore
new file mode 100644
index 000000000..7bec7bb2c
--- /dev/null
+++ wordcamp.org/.gitignore
@@ -0,0 +1 @@
+./public_html/wp-content/mu-plugins/blocks/assets/blocks.min*
diff --git wordcamp.org/phpcs.xml.dist wordcamp.org/phpcs.xml.dist
index b0cdf2dce..7068925bd 100644
--- wordcamp.org/phpcs.xml.dist
+++ wordcamp.org/phpcs.xml.dist
@@ -59,6 +59,16 @@
 		Maybe do something similar for set_cache_headers and nonce verification
 
 		Setup WordPress.WP.I18n text_domain property and test that it works, see https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki/Customizable-sniff-properties#internationalization-setting-your-text-domain
+
+		Don't add @package phpDoc? Clutters code without adding any real value. You know what "package" the file is part of because of the folder it's in; e.g., wp-content/plugins/wordcamp-payments
+
+		Don't mush HTML elements together on the same line, unless it's really short. `<h1>The title</h1>` is ok, but `<h1><?php echo esc_html( get_the_title() ); ?></h1>` should have the h1 tags on separate lines.
+
+		wp_enqueue_*() cachebusters should use filemtime() rather than a hardcoded int.
+
+		Combine similar `use` statements on the same line. Like, all the core PHP objects, then all the WP objects on the 2nd line, then our custom objects on the 3rd line, etc.
+
+		Prevent blank lines at start of function/class
 	-->
 
 
@@ -101,14 +111,21 @@
 
 		<!-- There are cases where having multiple items on a single line is appropriate. e.g., a list of 100 currency codes. -->
 		<exclude name="WordPress.Arrays.ArrayDeclarationSpacing.ArrayItemNoNewLine" />
-
-		<!-- todo get_speaker_from_user_id() meta_query should not have to line up with post_status
+		<exclude name="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket" />
+		<exclude name="PEAR.Functions.FunctionCallSignature.CloseBracketLine" />
+
+		<!--
+		 ... In multidimensional arrays, items in the child arrays should be aligned, but the parent arrays should
+		 ... not be aligned, since they are not on neighboring lines.
+		 ...
+		 ... @todo This isn't working, see `WordCamp\Blocks\Sessions\get_attributes_schema()`.
+		 ... @see https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1565
+		 -->
 		<rule ref="WordPress.Arrays.MultipleStatementAlignment">
 			<properties>
-				<property name="alignMultilineItems" value="never" />
+				<property name="alignMultilineItems" value="!=100"/>
 			</properties>
 		</rule>
-		-->
 
 		<!-- Warn about mis-aligned array items, but don't automatically "fix" them, because arrays in function calls get extra lines added.
 		     See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1305 -->
@@ -154,28 +171,9 @@
 		<!-- Class comments are generally not useful, so they're left out, but then PHPCS confuses the plugin headers for a class comment -->
 		<exclude name="Squiz.Commenting.ClassComment.WrongStyle" />
 		<exclude name="Squiz.Commenting.ClassComment.SpacingAfter" />
-	</rule>
 
-	<rule ref="WordPress-VIP">
-		<!-- We want these for the best practices, but anything specific to VIP's hosting environment is irrelevant. -->
-		<exclude name="WordPress.VIP.RestrictedFunctions.wp_remote_get_wp_remote_get" />
-		<exclude name="WordPress.VIP.RestrictedFunctions.file_get_contents_file_get_contents" />
-		<exclude name="WordPress.VIP.RestrictedFunctions.get_posts_get_posts" />
-		<exclude name="WordPress.VIP.RestrictedFunctions.switch_to_blog_switch_to_blog" />
-		<exclude name="WordPress.VIP.RestrictedVariables.cache_constraints___SERVER__REMOTE_ADDR__" />
-		<exclude name="WordPress.VIP.DirectDatabaseQuery.NoCaching" />
-		<exclude name="WordPress.VIP.FileSystemWritesDisallow" />
-		<exclude name="WordPress.VIP.SuperGlobalInputUsage.AccessDetected" />
-		<exclude name="WordPress.VIP.PostsPerPage.posts_per_page_posts_per_page" />
-
-		<!-- This is too strict. -->
-		<exclude name="WordPress.VIP.SlowDBQuery.slow_db_query_meta_query" />
-
-		<!-- There are some situations where this is appropriate, so leave it so the developer's discretion. -->
-		<exclude name="WordPress.VIP.DirectDatabaseQuery.DirectQuery" />
-
-		<!-- High numbers are often used as a sanity limit -->
-		<exclude name="WordPress.VIP.PostsPerPage.posts_per_page_numberposts" />
+		<!-- WordPress have translators comment which requires no space after `//` -->
+		<exclude name="Squiz.Commenting.InlineComment.NoSpaceBefore" />
 	</rule>
 
 	<rule ref="WordPress-Extra">
diff --git wordcamp.org/phpunit-bootstrap.php wordcamp.org/phpunit-bootstrap.php
new file mode 100644
index 000000000..d1d5a2f61
--- /dev/null
+++ wordcamp.org/phpunit-bootstrap.php
@@ -0,0 +1,39 @@
+<?php
+
+define( 'WP_PLUGIN_DIR', __DIR__ . '/public_html/wp-content/plugins' );
+
+$core_tests_directory = getenv( 'WP_TESTS_DIR' );
+
+if ( ! $core_tests_directory ) {
+	echo "\nPlease set the WP_TESTS_DIR environment variable to the folder where WordPress' PHPUnit tests live --";
+	echo "\ne.g., export WP_TESTS_DIR=/srv/www/wordpress-develop/tests/phpunit\n";
+
+	return;
+}
+
+require_once( $core_tests_directory . '/includes/functions.php' );
+require_once( dirname( dirname( $core_tests_directory ) ) . '/build/wp-admin/includes/plugin.php' );
+
+
+/*
+ * Load individual plugin bootstrappers
+ *
+ * There may eventually be cases where these conflict with one another (e.g., some need to run in context of
+ * wp-admin while others need to run in front-end context), but it works for now. If they ever do conflict, then
+ * that's probably a smell that we shouldn't be using PHPUnit for integration tests, though.
+ *
+ * If we don't want to migrate to Selenium etc, then another option might be using a PHPUnit listener to load the
+ * bootstrap for a particular suite before the suite loads (see https://stackoverflow.com/a/30170762/450127). It's
+ * not clear if that would properly isolate them from each other, and allow multiple independent contexts, though.
+ */
+require_once( WP_PLUGIN_DIR . '/wordcamp-organizer-reminders/tests/bootstrap.php' );
+require_once( WP_PLUGIN_DIR . '/wordcamp-remote-css/tests/bootstrap.php' );
+
+/*
+ * This has to be the last plugin bootstrapper, because it includes the Core test bootstrapper, which would
+ * short-circuits any other plugin bootstrappers than run after it. We can remove that when we remove CampTix
+ * from the w.org directory and make it a wordcamp.org-only plugin.
+ */
+require_once( WP_PLUGIN_DIR . '/camptix/tests/bootstrap.php' );
+
+require_once( $core_tests_directory . '/includes/bootstrap.php' );
diff --git wordcamp.org/phpunit.xml.dist wordcamp.org/phpunit.xml.dist
new file mode 100644
index 000000000..edef07947
--- /dev/null
+++ wordcamp.org/phpunit.xml.dist
@@ -0,0 +1,29 @@
+<phpunit
+	bootstrap="phpunit-bootstrap.php"
+	backupGlobals="false"
+	colors="true"
+	convertErrorsToExceptions="true"
+	convertNoticesToExceptions="true"
+	convertWarningsToExceptions="true"
+	>
+
+	<testsuites>
+		<testsuite name="CampTix">
+			<directory prefix="test-" suffix=".php">
+				./public_html/wp-content/plugins/camptix/tests/
+			</directory>
+		</testsuite>
+
+		<testsuite name="WordCamp Organizer Reminders">
+			<directory prefix="test-" suffix=".php">
+				./public_html/wp-content/plugins/wordcamp-organizer-reminders/tests/
+			</directory>
+		</testsuite>
+
+		<testsuite name="WordCamp Remote CSS">
+			<directory prefix="test-" suffix=".php">
+				./public_html/wp-content/plugins/wordcamp-remote-css/tests/
+			</directory>
+		</testsuite>
+	</testsuites>
+</phpunit>
diff --git wordcamp.org/public_html/wp-content/mu-plugins/0-error-handling.php wordcamp.org/public_html/wp-content/mu-plugins/0-error-handling.php
new file mode 100644
index 000000000..04b672df7
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/0-error-handling.php
@@ -0,0 +1,321 @@
+<?php
+namespace WordCamp\Error_Handling;
+defined( 'WPINC' ) or die();
+
+use DirectoryIterator;
+use Dotorg\Slack\Send;
+
+const ERROR_RATE_LIMITING_DIR = '/tmp/error_limiting';
+
+set_error_handler( __NAMESPACE__ . '\handle_error' );
+register_shutdown_function( __NAMESPACE__ . '\catch_fatal' );
+
+/**
+ * Error handler to track error frequency and conditionally send error messages to Slack.
+ *
+ * Note: This should always return false so that default error handling still occurs as well.
+ *
+ * @param int    $err_no
+ * @param string $err_msg
+ * @param string $file
+ * @param int    $line
+ *
+ * @return bool
+ */
+function handle_error( $err_no, $err_msg, $file, $line ) {
+	if ( ! check_error_handling_dependencies() ) {
+		return false;
+	}
+
+	// Checks to see if the error-throwing expression is prepended with the @ control operator.
+	// See https://secure.php.net/manual/en/function.set-error-handler.php
+	if ( 0 === error_reporting() ) {
+		return false;
+	}
+
+	$accepted_error_types = [
+		E_ERROR,
+		E_CORE_ERROR,
+		E_COMPILE_ERROR,
+		E_USER_ERROR,
+		E_WARNING,
+		E_PARSE,
+		E_CORE_WARNING,
+		E_COMPILE_WARNING,
+		E_USER_WARNING,
+		E_NOTICE,
+		E_USER_NOTICE,
+		E_STRICT,
+		E_DEPRECATED,
+		E_USER_DEPRECATED,
+	];
+
+	if ( ! in_array( $err_no, $accepted_error_types ) ) {
+		return false;
+	}
+
+	/*
+	 * Ignore warnings/notices that aren't actionable.
+	 *
+	 * Always use constants in the keys here to avoid path disclosure.
+	 */
+	$error_ignorelist = [
+		// See https://core.trac.wordpress.org/ticket/29204
+		ABSPATH . 'wp-includes/SimplePie/Registry.php:215' => 'Non-static method WP_Feed_Cache::create() should not be called statically',
+
+		// This is normal.
+		WP_PLUGIN_DIR . '/hyperdb/db.php:1230' => 'mysqli_query(): MySQL server has gone away',
+
+		// These are trivial mistakes in 3rd party code. They indicate poor quality, but don't warrant action.
+		ABSPATH . '/wp-includes/class-wp-post.php:342' => 'Undefined property: WP_Post::$filter',
+		ABSPATH . '/wp-includes/comment-template.php:1221' => "Trying to get property 'comment_status' of non-object",
+		ABSPATH . '/wp-includes/rss.php:352' => 'Undefined index: description',
+		WP_PLUGIN_DIR . '/jetpack/_inc/lib/class.media-summary.php:118' => 'Undefined index: id',
+		WP_PLUGIN_DIR . '/jetpack/_inc/lib/class.media-summary.php:119' => 'Undefined index: id',
+		WP_PLUGIN_DIR . '/jetpack/sync/class.jetpack-sync-module-posts.php:151' => "Trying to get property 'post_type' of non-object",
+		WP_PLUGIN_DIR . '/jetpack/sync/class.jetpack-sync-module-posts.php:137' => 'Undefined offset:',
+	];
+
+	if ( isset( $error_ignorelist[ "$file:$line" ] ) && false !== strpos( $err_msg, $error_ignorelist[ "$file:$line" ] ) ) {
+		return false;
+	}
+
+	$err_key      = substr( base64_encode("$file-$line-$err_no" ), -254 ); // Max file length for ubuntu is 255.
+	$data         = array(
+		'last_reported_at' => time(),
+		'error_count'      => 0, // Since last reported.
+	);
+	$send_message = false;
+	$occurrences  = 0;
+
+	if ( error_record_exists( $err_key ) ) {
+		$data                 = get_error_record( $err_key );
+		$data['error_count'] += 1;
+		$occurrences          = $data['error_count'];
+		$time_elapsed         = time() - $data['last_reported_at'];
+
+		if ( $time_elapsed > 600 ) {
+			$data['last_reported_at'] = time();
+			$data['error_count']      = 0;
+			$send_message             = true;
+		}
+	} else {
+		$send_message = true;
+	}
+
+	update_error_record( $err_key, $data );
+
+	if ( $send_message ) {
+		send_error_to_slack( $err_no, $err_msg, $file, $line, $occurrences );
+	}
+
+	return false;
+}
+
+/**
+ * Shutdown handler for catching fatal errors and sending them to Slack.
+ *
+ * Some error types cannot be handled directly by a custom error handler. However, we can catch them during shutdown
+ * and redirect them to the custom handler callback.
+ *
+ * @return void
+ */
+function catch_fatal() {
+	$error = error_get_last();
+
+	// See https://secure.php.net/manual/en/function.set-error-handler.php
+	$unhandled_error_types = [ E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING ];
+
+	if ( ! empty( $error ) && in_array( $error['type'], $unhandled_error_types, true ) ) {
+		handle_error( $error['type'], $error['message'], $error['file'], $error['line'] );
+	}
+}
+
+/**
+ * Check if an error has previously been recorded.
+ *
+ * @param string $err_key
+ *
+ * @return bool
+ */
+function error_record_exists( $err_key ) {
+	$error_file = ERROR_RATE_LIMITING_DIR . "/$err_key";
+
+	return is_readable( $error_file );
+}
+
+/**
+ * Get the data recorded for an error.
+ *
+ * Includes the timestamp of the error's last occurrence and the number of times it has occurred since it was
+ * last reported/sent to Slack.
+ *
+ * @param string $err_key
+ *
+ * @return array|mixed|object
+ */
+function get_error_record( $err_key ) {
+	$error_file = ERROR_RATE_LIMITING_DIR . "/$err_key";
+
+	return json_decode( file_get_contents( $error_file ), true );
+}
+
+/**
+ * Update the recorded data for an error.
+ *
+ * @param string $err_key
+ * @param array  $data
+ *
+ * @return bool|int
+ */
+function update_error_record( $err_key, $data ) {
+	$error_file = ERROR_RATE_LIMITING_DIR . "/$err_key";
+
+	return file_put_contents( $error_file, wp_json_encode( $data ) );
+}
+
+/**
+ * Build and dispatch an error message to a channel or user on Slack.
+ *
+ * @param int    $err_no
+ * @param string $err_msg
+ * @param string $file
+ * @param int    $line
+ * @param int    $occurrences
+ *
+ * @return void
+ */
+function send_error_to_slack( $err_no, $err_msg, $file, $line, $occurrences = 0 ) {
+	if ( ! defined( 'WORDCAMP_ENVIRONMENT' )
+	     || ( 'production' !== WORDCAMP_ENVIRONMENT && ! defined( 'SANDBOX_SLACK_USERNAME' ) )
+		 || ! is_readable( __DIR__ . '/includes/slack/send.php' )
+	) {
+		return;
+	}
+
+	require_once( __DIR__ . '/includes/slack/send.php' );
+
+	$error_name  = array_search( $err_no, get_defined_constants( true )['Core'] ) ?: '';
+	$messages    = explode( 'Stack trace:', $err_msg, 2 );
+	$text        = ( ! empty( $messages[0] ) ) ? trim( sanitize_text_field( $messages[0] ) ) : '';
+	$stack_trace = wp_debug_backtrace_summary();
+	$domain      = esc_url( get_site_url() );
+	$page_slug   = sanitize_text_field( untrailingslashit( $_SERVER['REQUEST_URI'] ) ) ?: '/';
+	$footer      = '';
+
+	if ( $occurrences > 0 ) {
+		$footer .= "Occurred *$occurrences time(s)* since last reported";
+	}
+
+	switch( $err_no ) {
+		case E_ERROR:
+		case E_PARSE:
+		case E_CORE_ERROR:
+		case E_COMPILE_ERROR :
+		case E_USER_ERROR:
+		default:
+			$color = '#ff0000'; // Red.
+			break;
+		case E_WARNING:
+		case E_CORE_WARNING:
+		case E_COMPILE_WARNING:
+		case E_USER_WARNING:
+			$color = '#ffa500'; // Orange.
+			break;
+		case E_NOTICE:
+		case E_USER_NOTICE:
+		case E_STRICT:
+		case E_DEPRECATED:
+		case E_USER_DEPRECATED:
+			$color = '#ffff00'; // Yellow.
+			break;
+	}
+
+	$fields = [
+		[
+			'title' => 'Domain',
+			'value' => $domain,
+			'short' => false,
+		],
+		[
+			'title' => 'Page',
+			'value' => $page_slug,
+			'short' => false,
+		],
+		[
+			'title' => 'File',
+			'value' => "$file:$line",
+			'short' => false,
+		],
+		[
+			'title' => 'Stack Trace',
+			'value' => $stack_trace,
+			'short' => false,
+                ],
+	];
+
+	$attachment = array(
+		'fallback'    => $text,
+		'text'        => $text,
+		'author_name' => $error_name,
+		'color'       => $color,
+		'fields'      => $fields,
+		'footer'      => $footer,
+	);
+
+	$slack = new Send( SLACK_ERROR_REPORT_URL );
+	$slack->add_attachment( $attachment );
+
+	if ( 'production' === WORDCAMP_ENVIRONMENT ) {
+		$slack->send( WORDCAMP_LOGS_SLACK_CHANNEL );
+	} else {
+		$slack->send( SANDBOX_SLACK_USERNAME );
+	}
+}
+
+/**
+ * Check and create the filesystem directory used to manage error rate limiting.
+ *
+ * For legacy bugs we are doing rate limiting via filesystem. We would be investigating to see if we can instead use
+ * memcache to rate limit sometime in the future.
+ *
+ * @return bool Return true if file permissions etc are present.
+ */
+function check_error_handling_dependencies() {
+	if ( ! file_exists( ERROR_RATE_LIMITING_DIR ) ) {
+		mkdir( ERROR_RATE_LIMITING_DIR );
+	}
+
+	return is_dir( ERROR_RATE_LIMITING_DIR ) && is_writeable( ERROR_RATE_LIMITING_DIR );
+}
+
+/**
+ * Remove temporary error rate limiting files.
+ *
+ * Function `record_error` above also creates a bunch of files in /tmp/error_limiting folder in order to rate limit
+ * the notification. This function will be used as a cron to clear these error_limiting files periodically.
+ *
+ * @return void
+ */
+function handle_clear_error_rate_limiting_files() {
+	// This only needs to run on one site.
+	if ( BLOG_ID_CURRENT_SITE !== get_current_blog_id() ) {
+		return;
+	}
+
+	if ( ! check_error_handling_dependencies() ) {
+		return;
+	}
+
+	foreach ( new DirectoryIterator( ERROR_RATE_LIMITING_DIR ) as $file_info ) {
+		if ( ! $file_info->isDot() ) {
+			unlink( $file_info->getPathname() );
+		}
+	}
+}
+
+if ( ! wp_next_scheduled( 'clear_error_rate_limiting_files' ) ) {
+	wp_schedule_event( time(), 'daily', 'clear_error_rate_limiting_files' );
+}
+
+add_action( 'clear_error_rate_limiting_files', __NAMESPACE__ . '\handle_clear_error_rate_limiting_files' );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/0-slack.php wordcamp.org/public_html/wp-content/mu-plugins/0-slack.php
deleted file mode 100644
index 1ac50853c..000000000
--- wordcamp.org/public_html/wp-content/mu-plugins/0-slack.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-/*
- * Load the Slack includes early so they'll be available to send fatal errors.
- */
-
-defined( 'WPINC' ) or die();
-
-if( is_readable( __DIR__ . '/includes/slack/send.php' ) ) {
-	require_once( __DIR__ . '/includes/slack/send.php' );
-}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/1-logger.php wordcamp.org/public_html/wp-content/mu-plugins/1-logger.php
index 45acae25b..de3c174b6 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/1-logger.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/1-logger.php
@@ -26,7 +26,7 @@ function log( $error_code, $data = array() ) {
 	} else {
 		$meta_information['request_url'] = sprintf(
 			'%s://%s%s',
-			$_SERVER['HTTPS'] ? 'https' : 'http',
+			( empty( $_SERVER['HTTPS'] ) ) ? 'http' : 'https',
 			$_SERVER['SERVER_NAME'],
 			$_SERVER['REQUEST_URI']
 		);
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/.eslintrc.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/.eslintrc.js
index 4ac4a8912..3b9f97e0d 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/.eslintrc.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/.eslintrc.js
@@ -1,135 +1,69 @@
-module.exports = {
-	parser: 'babel-eslint',
-
-	env: {
-		browser : true,
-		es6     : true,
-	},
-
-	extends: [
-		'wordpress',
-		'plugin:react/recommended',
-		'plugin:jsx-a11y/recommended',
-	],
+/*
+ * @todo
+ *
+ * equals in assignment should be aligned          - needs a plugin: https://github.com/eslint/eslint/issues/11025
+ * `from` in `import` statements should be aligned - needs a plugin: https://github.com/eslint/eslint/issues/11025
+ *
+ * indent things like
+ * { mode &&
+ * <GridToolbar
+ * 	{ ...this.props }
+ * />
+ * }
+ *
+ * should use hasOwnProperty or Object.getOwnPropertyDescriptors(). the latter usually makes code more readable, but sometimes the former first better
+ * assignment and control structures/returns/etc should be separate by a blank line for readability.
+ *      same for div and other block-level html elements
+ * disable `no-console` b/c valid use case. if can make exception for `log` function without disabling, then do that. don't want console used for temporary debugging, but there are valid cases where you want to provide the user some insight into what went wrong
+ */
 
-	parserOptions: {
-		ecmaFeatures: {
-			jsx: true,
-		},
-
-		ecmaVersion : 2018,
-		sourceType  : 'module',
-	},
-
-	settings: {
-		react: {
-			// This should equal the version of React that ships with Core.
-			version: '16.4.1',
-		},
-	},
+module.exports = {
+	extends : 'plugin:@wordpress/eslint-plugin/recommended',
 
-	globals: {
-		document       : true,
-		module         : true,
-		window         : true,
-		WordCampBlocks : true,
+	globals : {
+		wp : true,
 	},
 
-	plugins: [
-		'react',
-		'jsx-a11y',
-	],
-
-	/*
-	 * Rules that aren't enforced yet:
-	 *
-	 * - Consecutive assignment statements should be aligned on the `=` operator. See https://github.com/eslint/eslint/issues/11025.
-	 * - Consecutive import statements should be aligned on the `from` keyword. See https://github.com/eslint/eslint/issues/11025.
-	 * - Attributes within multi-line JSX elements should be aligned on the `=` operator. See https://github.com/yannickcr/eslint-plugin-react/issues/2030.
-	 */
-	rules: {
-		/* eslint-disable quote-props, no-console *//*
+	rules : {
+		/*
+		 * Instead of turning this off altogether, we should safelist the parameters that are coming in from
+		 * the REST API. However, the `allow` config for this rule is only available in eslint 5+. Currently
+		 * the @wordpress/scripts package uses eslint 4.x, but the next version will bump it up to 5.
+		 *
+		 * Here is the config to use once this is possible:
 		 *
-		 * Most of the rule names contain dashes, and therefore have to be quoted. Because of that, it's more readable
-		 * if all of the rule names are quoted, rather than shifting back and forth based.
+		 * 'camelcase' : [
+		 *     'error',
+		 *     {
+		 *         allow: [ // These are variables defined in PHP and exposed via the REST API.
+		 *             // Speakers block
+		 *  		   'post_ids', 'term_ids', 'grid_columns',
+		 *  		   'show_avatars', 'avatar_size', 'avatar_align',
+		 *  		   'speaker_link', 'show_session',
+		 *         ],
+		 *     },
+		 * ],
 		 */
-
-		'array-bracket-spacing' : [ 'error', 'always' ],
-		'arrow-parens'          : [ 'error', 'always' ],
-		'arrow-spacing'         : 'error',
-		'brace-style'           : [ 'error', '1tbs' ],
-
-		'camelcase': [
-			'error', {
-				allow: [
-					// Whitelisting REST API parameters like this is not very elegant. There may be a better solution.
-					'avatar_size', 'per_page', 'posts_per_page', 'show_all_posts', 'speaker_link', 'show_avatars',
-				],
-			},
-		],
-
-		'comma-dangle'  : [ 'error', 'always-multiline' ],
-		'comma-spacing' : 'error',
-		'comma-style'   : 'error',
+		'camelcase' : 'off',
 
 		/*
-		 * Technically this violates WP's JS standard, but `computed-property-spacing` doesn't allow exceptions for
-		 * strings. The JS rule only exists for consistency w/ PHP's rule, but IMO there should be a space around
-		 * string values in PHP too.
+		 * Align object parameters on their assignment operator (:), just like assignment statements are
+		 * aligned on `=`.
 		 */
-		'computed-property-spacing' : [ 'error', 'always' ],
-		'dot-notation'              : 'error',
-		'eol-last'                  : 'error',
-		'eqeqeq'                    : 'error',
-		'func-call-spacing'         : 'error',
-		'indent'                    : [ 'error', 'tab', { SwitchCase: 1 } ],
-
-		'jsx-a11y/label-has-for'                : [ 'error', { required: 'id' } ],
-		'jsx-a11y/media-has-caption'            : 'off',
-		'jsx-a11y/no-noninteractive-tabindex'   : 'off',
-		'jsx-a11y/role-has-required-aria-props' : 'off',
-		'jsx-quotes'                            : 'error',
-
-		'key-spacing': [ 'error', {
-			'align': {
+		'key-spacing' : [ 'error', {
+			'align' : {
 				'beforeColon' : true,
 				'afterColon'  : true,
 				'on'          : 'colon',
 			},
 		} ],
 
-		'keyword-spacing'      : 'error',
-		'lines-around-comment' : [ 'error', {
-			beforeBlockComment : true,
-			beforeLineComment  : true,
-			allowBlockStart    : true,
-			allowObjectStart   : true,
-			allowArrayStart    : true,
-			allowClassStart    : true,
-		} ],
-
-		'no-alert'                 : 'error',
-		'no-bitwise'               : 'error',
-		'no-caller'                : 'error',
-		'no-console'               : 'error',
-		'no-debugger'              : 'error',
-		'no-dupe-args'             : 'error',
-		'no-dupe-keys'             : 'error',
-		'no-duplicate-case'        : 'error',
-		'no-else-return'           : 'error',
-		'no-eval'                  : 'error',
-		'no-extra-semi'            : 'error',
-		'no-fallthrough'           : 'error',
-		'no-lonely-if'             : 'error',
-		'no-mixed-operators'       : 'error',
-		'no-mixed-spaces-and-tabs' : 'error',
-		'no-multiple-empty-lines'  : [ 'error', { max: 1 } ],
-
 		/*
+		 * Allow multiple spaces in a row.
+		 *
 		 * Ideally this should be on, because we don't want to allow things like `const foo  == bar;`, but the rule
 		 * currently isn't flexible enough to allow all the exceptions we need. Specifically, there are times where
-		 * readability is vastly improved by aligning attributes in consecutive lines, like the
-		 * `padding-line-between-statements` objects in this file.
+		 * readability is vastly improved by aligning attributes in consecutive lines.
 		 *
 		 * Alternate configuration if we ever want to re-enable this:
 		 *
@@ -142,136 +76,62 @@ module.exports = {
 		 *	    },
 		 * } ],
 		 */
-		'no-multi-space': 'off',
-
-		'no-multi-str'      : 'off',
-		'no-negated-in-lhs' : 'error',
-		'no-nested-ternary' : 'error',
-		'no-redeclare'      : 'error',
-
-		'no-restricted-syntax': [
-			'error',
-			{
-				selector : 'CallExpression[callee.name=/^__|_n|_x$/]:not([arguments.0.type=/^Literal|BinaryExpression$/])',
-				message  : 'Translate function arguments must be string literals.',
-			},
-
-			{
-				selector : 'CallExpression[callee.name=/^_n|_x$/]:not([arguments.1.type=/^Literal|BinaryExpression$/])',
-				message  : 'Translate function arguments must be string literals.',
-			},
-
-			{
-				selector : 'CallExpression[callee.name=_nx]:not([arguments.2.type=/^Literal|BinaryExpression$/])',
-				message  : 'Translate function arguments must be string literals.',
-			},
-		],
-
-		'no-shadow'                     : 'error',
-		'no-undef'                      : 'error',
-		'no-undef-init'                 : 'error',
-		'no-unreachable'                : 'error',
-		'no-unsafe-negation'            : 'error',
-		'no-unused-expressions'         : 'error',
-		'no-unused-vars'                : 'error',
-		'no-useless-return'             : 'error',
-		'no-whitespace-before-property' : 'error',
-		'object-curly-spacing'          : [ 'error', 'always' ],
-
-		'padded-blocks'                   : [ 'error', 'never' ],
-		'padding-line-between-statements' : [ 'error',
-			{ blankLine: 'always', prev: '*',          next: 'block-like' },
-			{ blankLine: 'always', prev: 'block-like', next: '*'          },
-			{ blankLine: 'always', prev: '*',          next: 'class'      },
-			{ blankLine: 'always', prev: '*',          next: 'continue'   },
-			{ blankLine: 'always', prev: 'const',      next: 'import'     },
-			{ blankLine: 'always', prev: 'import',     next: 'const'      },
-			{ blankLine: 'always', prev: '*',          next: 'return'     },
+		'no-multi-spaces' : 'off',
 
-			{ blankLine: 'always', prev: 'break', next: '*'        }, // This should be requiring blank line after break, but it's not.
-			{ blankLine: 'always', prev: '*',     next: 'function' }, // This should be requiring blank line before function, but it's not.
-		],
-
-		'quote-props' : [ 'error', 'as-needed' ],
-		'quotes'      : [ 'error', 'single', {
-			allowTemplateLiterals : true,
-			avoidEscape           : true,
-		} ],
-
-		'react/display-name'       : 'off',
-		'react/no-children-prop'   : 'off',
-		'react/prop-types'         : 'off',
-		'react/react-in-jsx-scope' : 'off',
-
-		// Disabled because it doesn't support our style: https://github.com/yannickcr/eslint-plugin-react/issues/2030
-		'react/jsx-equals-spacing' : 'off',
-		'react/jsx-indent'         : [ 'error', 'tab' ],
-		'react/jsx-indent-props'   : [ 'error', 'tab' ],
-		'react/jsx-key'            : 'error',
-		'react/jsx-tag-spacing'    : 'error',
-		'react/jsx-curly-spacing'  : [ 'error', {
-			when     : 'always',
-			children : true,
-		} ],
+		/*
+		 * Objects are harder to quickly scan when the formatting is inconsistent.
+		 */
+		'object-shorthand' : [ 'error', 'consistent-as-needed' ],
 
+		/*
+		 * A short description often makes a function easier to understand, and also provides a nice visual
+		 * delineation between functions.
+		 *
+		 * Given that closures should be short and contextually relevant, requiring documentation for them would
+		 * likely hurt readability more than it would help clarity.
+		 */
 		'require-jsdoc': [ 'error', {
 			'require': {
-				FunctionDeclaration     : true,
-				MethodDefinition        : true,
-				ClassDeclaration        : true,
-				ArrowFunctionExpression : true,
-				FunctionExpression      : true,
-			},
-		} ],
-
-		'semi'                : 'error',
-		'semi-spacing'        : 'error',
-		'space-before-blocks' : [ 'error', 'always' ],
-
-		'space-before-function-paren': [ 'error', {
-			anonymous  : 'never',
-			named      : 'never',
-			asyncArrow : 'always',
-		} ],
-
-		'space-in-parens' : [ 'error', 'always' ],
-		'space-infix-ops' : [ 'error', { int32Hint: false } ],
-		'space-unary-ops' : [ 'error', {
-			overrides: {
-				'!'   : true,
-				yield : true,
-			},
+				'FunctionDeclaration'     : true,
+				'MethodDefinition'        : true,
+				'ClassDeclaration'        : true,
+				'ArrowFunctionExpression' : false,
+				'FunctionExpression'      : true
+			}
 		} ],
 
-		'valid-jsdoc': [ 'error', {
-			prefer: {
-				arg      : 'param',
-				argument : 'param',
-				extends  : 'augments',
-				returns  : 'return',
-			},
-
-			preferType: {
-				array   : 'Array',
-				bool    : 'boolean',
-				Boolean : 'boolean',
-				Float   : 'float',
-				int     : 'integer',
-				Int     : 'integer',
-				Integer : 'integer',
-				Number  : 'number',
-				object  : 'Object',
-				String  : 'string',
-				Void    : 'void',
-			},
-
-			requireParamDescription  : false,
-			requireReturnDescription : false,
+		/*
+		 * Descriptions are often obvious from the variable and function names, so always requiring them would be
+		 * inconvenient. The developer should add one whenever it's not obvious, though.
+		 *
+		 * @todo `@param` tags should align the variable name and description, just like in PHP.
+		 */
+		'valid-jsdoc' : [ 'error', {
+			'requireParamDescription'  : false,
+			'requireReturnDescription' : false,
+			'requireReturn'            : false,
 		} ],
 
-		'valid-typeof' : 'error',
-		'yoda'         : 'error',
+		/*
+		 * The rationale behind this rule is that sometimes a variable is defined by a costly operation, but then
+		 * the variable is never used, so that operation was wasted. That's a valid point, but in practice that
+		 * doesn't happen very often, so the benefit is not significant.
+		 *
+		 * The benefits of grouping variable assignments at the start of a function outweigh the costs, since it
+		 * almost always makes the function easier to quickly grok.
+		 *
+		 * In the uncommon case where a significant performance penalty would be introduced, the developer is
+		 * still free to choose to define the variable after the early returns.
+		 */
+		'@wordpress/no-unused-vars-before-return' : [ 'off' ],
 
-		/* eslint-enable quote-props, no-console */
+		/*
+		 * Short variable names are almost always obscure and non-descriptive, but they should be meaningful,
+		 * obvious, and self-documenting.
+		 */
+		'id-length' : [ 'error', {
+			'min'        : 3,
+			'exceptions' : [ '__', 'a', 'b' ]
+		} ]
 	},
 };
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/.stylelintrc wordcamp.org/public_html/wp-content/mu-plugins/blocks/.stylelintrc
new file mode 100644
index 000000000..d9a2a4e92
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/.stylelintrc
@@ -0,0 +1,10 @@
+{
+	"extends" : "stylelint-config-wordpress",
+	"rules"   : {
+		"max-line-length": 115,
+
+		"rule-empty-line-before" : [ "always-multi-line", {
+			"except" : [ "first-nested", "after-single-line-comment" ]
+		} ]
+	}
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.css wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.css
index 95bd23dc9..d1e4b449f 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.css
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.css
@@ -1,86 +1,108 @@
-.wordcamp-speakers-block,
-.editor-styles-wrapper .wordcamp-speakers-block {
-  list-style: none; }
-
-.wordcamp-speakers-block.layout-grid {
-  display: grid;
-  grid-template-columns: repeat(2, 1fr);
-  grid-column-gap: 1em;
-  grid-row-gap: 1em; }
-  .wordcamp-speakers-block.layout-grid.grid-columns-3 {
-    grid-template-columns: repeat(3, 1fr); }
-  .wordcamp-speakers-block.layout-grid.grid-columns-4 {
-    grid-template-columns: repeat(4, 1fr); }
-
-.wordcamp-speakers-block .wordcamp-speaker:after {
-  content: "";
-  display: table;
-  clear: both; }
-
-.wordcamp-speaker-session-list,
-.editor-styles-wrapper .wordcamp-speaker-session-list {
-  list-style: none; }
-
-.wordcamp-speaker-avatar.align-left, .wordcamp-speaker-avatar.align-center, .wordcamp-speaker-avatar.align-right {
-  display: block; }
+.wordcamp-block-edit-mode-option {
+  flex-basis: 100%;
+  padding: 0.5em; }
 
-.wordcamp-speaker-avatar.align-left {
+.wordcamp-avatar-container.align-left {
   float: left;
   margin-right: 1em; }
 
-.wordcamp-speaker-avatar.align-center {
+.wordcamp-avatar-container.align-center {
   margin-left: auto;
-  margin-right: auto; }
+  margin-right: auto;
+  text-align: center; }
 
-.wordcamp-speaker-avatar.align-right {
+.wordcamp-avatar-container.align-right {
   float: right;
   margin-left: 1em; }
 
-.wordcamp-components-versatile-select-inner {
+.wordcamp-components-avatar-size-buttons {
+  display: flex;
+  justify-content: space-between; }
+
+.edit-post-settings-sidebar__panel-block .components-panel__body .wordcamp-components-avatar-size-range {
+  margin-top: 1em; }
+
+.wordcamp-item-meta {
+  margin: 0 0 1.5em; }
+
+.wordcamp-clearfix::after {
+  content: "";
+  display: table;
+  clear: both; }
+
+.wordcamp-block-post-list li {
+  list-style: none; }
+
+.wordcamp-block-post-list li.wordcamp-grid-layout-item {
+  margin: 0 0 1em 0; }
+
+.wordcamp-block-post-list.layout-list > li {
+  margin-bottom: 1em; }
+  .wordcamp-block-post-list.layout-list > li:last-child {
+    margin-bottom: 0; }
+
+@media (min-width: 400px) {
+  .wordcamp-block-post-list.layout-grid {
+    display: grid;
+    grid-template-columns: repeat(2, 1fr);
+    grid-column-gap: 1em;
+    grid-row-gap: 1em;
+    /* Ensure columns maintain equal widths. */
+    /* https://stackoverflow.com/a/43312314 */
+    min-height: 0;
+    min-width: 0; }
+    .wordcamp-block-post-list.layout-grid .wordcamp-block-post-list-item {
+      overflow: hidden;
+      min-width: 0; } }
+
+@media (min-width: 600px) {
+  .wordcamp-block-post-list.layout-grid.grid-columns-3 {
+    grid-template-columns: repeat(3, 1fr); } }
+
+@media (min-width: 800px) {
+  .wordcamp-block-post-list.layout-grid.grid-columns-4 {
+    grid-template-columns: repeat(4, 1fr); } }
+
+.wordcamp-block-edit-placeholder .components-placeholder__fieldset {
+  /*
+	 * By default the fieldset has a `z-index` of `1`, and `.editor-block-list__insertion-point` has a value of
+	 * `6`, so the `Add Block` button will stack on top of things like an expanded `ItemSelect` list. This
+	 * corrects that.
+	 */
+  z-index: 7; }
+
+.wordcamp-item-select-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   text-align: left; }
 
-.wordcamp-components-versatile-select-select {
+.wordcamp-item-select-select {
   flex-grow: 2;
   margin-right: 1em; }
-  .rtl .wordcamp-components-versatile-select-select {
+  .rtl .wordcamp-item-select-select {
     margin-left: 1em;
     margin-right: 0; }
-  .wordcamp-components-versatile-select-select input[type="text"]:focus {
+  .wordcamp-item-select-select input[type="text"]:focus {
     box-shadow: none; }
 
-.wordcamp-components-avatar-size-buttons {
-  display: flex;
-  justify-content: space-between; }
-
-.edit-post-settings-sidebar__panel-block .components-panel__body .wordcamp-components-avatar-size-range {
-  margin-top: 1em; }
-
-.wordcamp-components-image-alignment .components-icon-button {
-  display: inline-flex; }
-
-.wordcamp-block-speakers-mode-option {
-  flex-basis: 100%;
-  padding: 0.5em; }
-
-.wordcamp-speakers-select-option {
+.wordcamp-item-select-option {
   display: flex;
   align-items: center; }
 
-.wordcamp-speakers-select-option-icon-container {
-  background-color: #f3f3f4;
+.wordcamp-item-select-option-icon-container {
   display: inline-flex;
   align-items: center;
   justify-content: center;
-  width: 24px;
-  height: 24px; }
+  flex: 0 0 24px;
+  height: 24px;
+  background-color: #f3f3f4; }
 
-.wordcamp-speakers-select-option-label {
-  margin: 0 0.5em; }
+.wordcamp-item-select-option-label {
+  margin: 0 0.5em;
+  white-space: normal; }
 
-.wordcamp-speakers-select-option-label-term-count {
+.wordcamp-item-select-option-label-term-count {
   font-size: 0.6em;
   display: inline-block;
   border-radius: 50%;
@@ -92,6 +114,23 @@
   line-height: 2.2em;
   vertical-align: text-top; }
 
-.wordcamp-components-versatile-select {
+.wordcamp-item-select {
   width: 100%; }
 
+img.wordcamp-featured-image {
+  height: auto;
+  max-width: 100%;
+  max-height: 100%; }
+
+.wordcamp-speaker-sessions-list ul.wordcamp-speaker-sessions-list,
+.wordcamp-speaker-sessions-list .block-editor ul.wordcamp-speaker-sessions-list {
+  list-style: none;
+  margin: 0; }
+
+.wordcamp-speaker-session-link,
+.wordcamp-speaker-session-info {
+  display: block; }
+
+.wordcamp-speaker-session-info {
+  font-style: italic; }
+
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.js
index b35df8a0f..7822d4120 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/blocks.min.js
@@ -1,1006 +1,469 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = "./assets/src/blocks.js");
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ "./assets/src/blocks.js":
+!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="./assets/src/blocks.js")}({"./assets/src/blocks.js":
 /*!******************************!*\
   !*** ./assets/src/blocks.js ***!
   \******************************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _speakers___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./speakers/ */ \"./assets/src/speakers/index.js\");\n/**\n * WordPress dependencies\n */\nvar registerBlockType = wp.blocks.registerBlockType;\n/**\n * Internal dependencies\n */\n\n\n[_speakers___WEBPACK_IMPORTED_MODULE_0__].forEach(function (_ref) {\n  var name = _ref.name,\n      settings = _ref.settings;\n  registerBlockType(name, settings);\n});\n\n//# sourceURL=webpack:///./assets/src/blocks.js?");
-
-/***/ }),
-
-/***/ "./assets/src/shared/avatar-size/index.js":
+/*! no exports provided */function(e,t,n){"use strict";n.r(t);var r=n(/*! ./organizers/ */"./assets/src/organizers/index.js"),o=n(/*! ./sessions/ */"./assets/src/sessions/index.js"),s=n(/*! ./speakers/ */"./assets/src/speakers/index.js"),a=n(/*! ./sponsors/ */"./assets/src/sponsors/index.js"),i=wp.blocks.registerBlockType;[r,o,s,a].forEach(function(e){var t=e.name,n=e.settings;i(t,n)})},"./assets/src/organizers/block-content.js":
 /*!************************************************!*\
-  !*** ./assets/src/shared/avatar-size/index.js ***!
+  !*** ./assets/src/organizers/block-content.js ***!
   \************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style.scss */ \"./assets/src/shared/avatar-size/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\nvar _wp$components = wp.components,\n    BaseControl = _wp$components.BaseControl,\n    Button = _wp$components.Button,\n    ButtonGroup = _wp$components.ButtonGroup,\n    RangeControl = _wp$components.RangeControl;\nvar withInstanceId = wp.compose.withInstanceId;\nvar _wp$i18n = wp.i18n,\n    __ = _wp$i18n.__,\n    _x = _wp$i18n._x;\n/**\n * Internal dependencies\n */\n\n\nvar sizePresets = [{\n  name: __('Small', 'wordcamporg'),\n  shortName: _x('S', 'size small', 'wordcamporg'),\n  size: 90,\n  slug: 'small'\n}, {\n  name: __('Regular', 'wordcamporg'),\n  shortName: _x('M', 'size medium', 'wordcamporg'),\n  size: 150,\n  slug: 'regular'\n}, {\n  name: __('Large', 'wordcamporg'),\n  shortName: _x('L', 'size large', 'wordcamporg'),\n  size: 300,\n  slug: 'large'\n}, {\n  name: __('Larger', 'wordcamporg'),\n  shortName: _x('XL', 'size extra large', 'wordcamporg'),\n  size: 500,\n  slug: 'larger'\n}];\n\nfunction AvatarSizeControl(_ref) {\n  var className = _ref.className,\n      label = _ref.label,\n      help = _ref.help,\n      value = _ref.value,\n      instanceId = _ref.instanceId,\n      onChange = _ref.onChange,\n      initialPosition = _ref.initialPosition,\n      props = _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_ref, [\"className\", \"label\", \"help\", \"value\", \"instanceId\", \"onChange\", \"initialPosition\"]);\n\n  var id = \"wordcamp-inspector-avatar-size-control-\".concat(instanceId);\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(BaseControl, {\n    id: id,\n    className: classnames__WEBPACK_IMPORTED_MODULE_3___default()('wordcamp-components-avatar-size', className),\n    label: label,\n    help: help\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(\"div\", {\n    className: 'wordcamp-components-avatar-size-buttons'\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(ButtonGroup, null, sizePresets.map(function (preset) {\n    var name = preset.name,\n        shortName = preset.shortName,\n        size = preset.size,\n        slug = preset.slug;\n    var isCurrent = value === size;\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(Button, {\n      key: slug,\n      isLarge: true,\n      isPrimary: isCurrent,\n      \"aria-pressed\": isCurrent,\n      onClick: function onClick() {\n        return onChange(Number(size));\n      }\n    }, shortName || name);\n  })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(Button, {\n    className: 'wordcamp-components-avatar-size-button-reset',\n    isLarge: true,\n    isDefault: true,\n    onClick: function onClick() {\n      return onChange(Number(initialPosition));\n    }\n  }, __('Reset', 'wordcamporg'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(RangeControl, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n    className: 'wordcamp-components-avatar-size-range',\n    value: value,\n    initialPosition: initialPosition,\n    onChange: onChange,\n    beforeIcon: 'format-image',\n    afterIcon: 'format-image'\n  }, props)));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (withInstanceId(AvatarSizeControl));\n\n//# sourceURL=webpack:///./assets/src/shared/avatar-size/index.js?");
-
-/***/ }),
-
-/***/ "./assets/src/shared/avatar-size/style.scss":
-/*!**************************************************!*\
-  !*** ./assets/src/shared/avatar-size/style.scss ***!
-  \**************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/src/shared/avatar-size/style.scss?");
-
-/***/ }),
-
-/***/ "./assets/src/shared/avatar/index.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! classnames */"./node_modules/classnames/index.js"),g=n.n(b),v=n(/*! ../shared/avatar */"./assets/src/shared/avatar/index.js"),y=n(/*! ../shared/block-content */"./assets/src/shared/block-content/index.js"),E=n(/*! ../shared/grid-layout/block-content */"./assets/src/shared/grid-layout/block-content.js"),w=wp.element.Component,j=(wp.i18n.__,function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.organizerPosts,r=t.show_avatars,s=t.avatar_size,a=t.avatar_align,i=t.content;return Object(h.createElement)(E.default,o()({className:"wordcamp-organizers-block"},this.props),n.map(function(e){return Object(h.createElement)("div",{key:e.slug,className:g()("wordcamp-organizer","wordcamp-organizer-"+e.slug.trim())},Object(h.createElement)(y.ItemTitle,{className:"wordcamp-organizer-title",headingLevel:3,title:e.title.rendered.trim()}),r&&Object(h.createElement)(v.AvatarImage,{className:g()("wordcamp-organizer-avatar-container","align-"+a),name:e.title.rendered.trim()||"",size:s,url:e.avatar_urls[24]}),"none"!==i&&Object(h.createElement)(y.ItemHTMLContent,{className:g()("wordcamp-organizer-content-"+i),content:"full"===i?e.content.rendered.trim():e.excerpt.rendered.trim()}))}))}}]),t}(w));t.default=j},"./assets/src/organizers/block-controls.js":
+/*!*************************************************!*\
+  !*** ./assets/src/organizers/block-controls.js ***!
+  \*************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! classnames */"./node_modules/classnames/index.js"),g=n.n(b),v=n(/*! ../shared/block-controls */"./assets/src/shared/block-controls/index.js"),y=n(/*! ./block-content */"./assets/src/organizers/block-content.js"),E=n(/*! ./organizers-select */"./assets/src/organizers/organizers-select.js"),w=n(/*! ./index */"./assets/src/organizers/index.js"),j=wp.components,O=j.Button,_=j.Placeholder,C=wp.i18n.__,k=function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"render",value:function(){var e,t=this.props,n=t.icon,r=t.attributes,s=t.setAttributes,a=t.organizerPosts,i=r.mode,l=Array.isArray(a)&&a.length;if(i&&!l)return Object(h.createElement)(v.PlaceholderNoContent,{icon:n,label:w.LABEL,loading:!Array.isArray(a)});switch(i){case"all":e=Object(h.createElement)(y.default,this.props);break;case"wcb_organizer":case"wcb_organizer_team":e=Object(h.createElement)(v.PlaceholderSpecificMode,{label:this.getModeLabel(i),icon:n,content:Object(h.createElement)(y.default,this.props),placeholderChildren:Object(h.createElement)(E.default,this.props)});break;default:e=Object(h.createElement)(_,{className:g()("wordcamp-block-edit-placeholder","wordcamp-block-edit-placeholder-no-mode"),icon:n,label:w.LABEL},Object(h.createElement)("div",{className:"wordcamp-block-edit-mode-option"},Object(h.createElement)(O,{isDefault:!0,isLarge:!0,onClick:function(){s({mode:"all"})}},this.getModeLabel("all"))),Object(h.createElement)("div",{className:"wordcamp-block-edit-mode-option"},Object(h.createElement)(E.default,o()({label:C("Choose specific organizers or teams","wordcamporg")},this.props))))}return e}}]),t}(v.BlockControls);t.default=k},"./assets/src/organizers/edit.js":
+/*!***************************************!*\
+  !*** ./assets/src/organizers/edit.js ***!
+  \***************************************/
+/*! exports provided: edit */function(e,t,n){"use strict";n.r(t),n.d(t,"edit",function(){return F});var r=n(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),b=n.n(h),g=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),v=n(/*! lodash */"lodash"),y=n(/*! ./block-controls */"./assets/src/organizers/block-controls.js"),E=n(/*! ./inspector-controls */"./assets/src/organizers/inspector-controls.js"),w=n(/*! ./toolbar */"./assets/src/organizers/toolbar.js"),j=n(/*! ./index */"./assets/src/organizers/index.js"),O=wp.apiFetch,_=wp.data.withSelect,C=wp.element,k=C.Component,x=C.Fragment,S=wp.url.addQueryArgs,A=window.WordCampBlocks.organizers||{},P={orderby:"title",order:"asc",per_page:100},N={orderby:"name",order:"asc",per_page:100},D=function(e){function t(e){var n;return l()(this,t),(n=p()(this,f()(t).call(this,e))).state={allOrganizerPosts:null,allOrganizerTerms:null},n.fetchOrganizerDetails(),n}return b()(t,e),c()(t,[{key:"fetchOrganizerDetails",value:function(){var e=O({path:S("/wp/v2/organizers",P)}),t=O({path:S("/wp/v2/organizer_team",N)});this.state={allOrganizerPosts:e,allOrganizerTerms:t}}},{key:"render",value:function(){var e=this.props.attributes.mode;return Object(g.createElement)(x,null,Object(g.createElement)(y.default,a()({icon:j.ICON},this.props,this.state)),""!==e&&Object(g.createElement)(x,null,Object(g.createElement)(E.default,this.props),Object(g.createElement)(w.default,this.props)))}}]),t}(k),F=_(function(e,t){var n=t.attributes,r=n.mode,s=n.item_ids,a=n.sort,i=e("core").getEntityRecords,l=Object(v.split)(a,"_",2),u=o()(l,2),c={orderby:u[0],order:u[1],per_page:100,context:"view"};if(Array.isArray(s))switch(r){case"wcb_organizer":c.include=s;break;case"wcb_organizer_team":c.organizer_team=s}var d=Object(v.pickBy)(c,function(e){return!Object(v.isUndefined)(e)});return{blockData:A,organizerPosts:i("postType","wcb_organizer",d)}})(D)},"./assets/src/organizers/index.js":
+/*!****************************************!*\
+  !*** ./assets/src/organizers/index.js ***!
+  \****************************************/
+/*! exports provided: name, LABEL, ICON, settings */function(e,t,n){"use strict";n.r(t),n.d(t,"name",function(){return s}),n.d(t,"LABEL",function(){return a}),n.d(t,"ICON",function(){return i}),n.d(t,"settings",function(){return l});var r=n(/*! ./edit */"./assets/src/organizers/edit.js"),o=wp.i18n.__,s="wordcamp/organizers",a=o("Organizers","wordcamporg"),i="groups",l={title:o("Organizers","wordcamporg"),description:o("Add a list of organizers.","wordcamporg"),icon:i,category:"wordcamp",supports:{align:["wide","full"]},edit:r.edit,save:function(){return null}}},"./assets/src/organizers/inspector-controls.js":
+/*!*****************************************************!*\
+  !*** ./assets/src/organizers/inspector-controls.js ***!
+  \*****************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=n(/*! ../shared/avatar */"./assets/src/shared/avatar/index.js"),h=n(/*! ../shared/image-alignment */"./assets/src/shared/image-alignment/index.js"),b=n(/*! ../shared/grid-layout/inspector-control */"./assets/src/shared/grid-layout/inspector-control.js"),g=wp.components,v=g.PanelBody,y=g.PanelRow,E=g.SelectControl,w=g.ToggleControl,j=wp.editor.InspectorControls,O=wp.element,_=O.Component,C=O.Fragment,k=wp.i18n.__,x={grid_columns:{default:2,minimum:2,maximum:4},avatar_size:{default:150,minimum:25,maximum:600}},S={align:{},content:{},sort:{}},A=function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=e.blockData,o=t.show_avatars,s=t.avatar_size,a=t.avatar_align,i=t.content,l=t.sort,u=r.schema,c=void 0===u?x:u,d=r.options,p=void 0===d?S:d;return Object(m.createElement)(j,null,Object(m.createElement)(b.default,this.props),Object(m.createElement)(v,{title:k("Avatar Settings","wordcamporg"),initialOpen:!0},Object(m.createElement)(y,null,Object(m.createElement)(w,{label:k("Show avatars","wordcamporg"),checked:o,onChange:function(e){return n({show_avatars:e})}})),o&&Object(m.createElement)(C,null,Object(m.createElement)(y,null,Object(m.createElement)(f.AvatarSizeControl,{label:k("Size","wordcamporg"),value:Number(s),initialPosition:Number(c.avatar_size.default),onChange:function(e){return n({avatar_size:e})},rangeProps:{min:Number(c.avatar_size.minimum),max:Number(c.avatar_size.maximum)}})),Object(m.createElement)(y,null,Object(m.createElement)(h.default,{label:k("Alignment","wordcamporg"),value:a,onChange:function(e){return n({avatar_align:e})},alignOptions:p.align_image})))),Object(m.createElement)(v,{title:k("Content Settings","wordcamporg"),initialOpen:!1},Object(m.createElement)(y,null,Object(m.createElement)(E,{label:k("Biography Length","wordcamporg"),value:i,options:p.content,onChange:function(e){return n({content:e})}}))),Object(m.createElement)(v,{title:k("Sorting & Filtering","wordcamporg"),initialOpen:!1},Object(m.createElement)(y,null,Object(m.createElement)(E,{label:k("Sort by","wordcamporg"),value:l,options:p.sort,onChange:function(e){return n({sort:e})}}))))}}]),t}(_);t.default=A},"./assets/src/organizers/organizers-select.js":
+/*!****************************************************!*\
+  !*** ./assets/src/organizers/organizers-select.js ***!
+  \****************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/assertThisInitialized */"./node_modules/@babel/runtime/helpers/assertThisInitialized.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! lodash */"lodash"),g=n(/*! ../shared/avatar */"./assets/src/shared/avatar/index.js"),v=n(/*! ../shared/item-select */"./assets/src/shared/item-select/index.js"),y=n(/*! ./index */"./assets/src/organizers/index.js"),E=wp.components.Dashicon,w=wp.element.Component,j=wp.i18n.__,O=function(e){function t(e){var n;return o()(this,t),(n=l()(this,c()(t).call(this,e))).state={wcb_organizer:[],wcb_organizer_team:[],loading:!0},n.buildSelectOptions=n.buildSelectOptions.bind(f()(f()(n))),n.fetchSelectOptions(e),n}return p()(t,e),a()(t,[{key:"fetchSelectOptions",value:function(e){var t=this,n=e.allOrganizerPosts,r=e.allOrganizerTerms,o=n.then(function(e){var n=e.map(function(e){return{label:e.title.rendered.trim()||j("(Untitled)","wordcamporg"),value:e.id,type:"wcb_organizer",avatar:e.avatar_urls[24]}});t.setState({wcb_organizer:n})}),s=r.then(function(e){var n=e.map(function(e){return{label:e.name.trim()||j("(Untitled)","wordcamporg"),value:e.id,type:"wcb_organizer_team",count:e.count}});t.setState({wcb_organizer_team:n})});Promise.all([o,s]).then(function(){t.setState({loading:!1})})}},{key:"buildSelectOptions",value:function(e){var t=Object.getOwnPropertyDescriptors,n=[],r={wcb_organizer:j("Organizers","wordcamporg"),wcb_organizer_team:j("Teams","wordcamporg")};for(var o in t(this.state))this.state[o].length&&(e&&o!==e||n.push({label:r[o],options:this.state[o]}));return n}},{key:"render",value:function(){var e=this.props,t=e.label,n=e.attributes,r=e.setAttributes,o=n.mode,s=n.item_ids,a=this.buildSelectOptions(o),i=[];o&&s.length&&(i=Object(b.get)(a,"[0].options",[]).filter(function(e){return Object(b.includes)(s,e.value)}));return Object(h.createElement)(v.default,{className:"wordcamp-organizer-select",label:t,value:i,buildSelectOptions:this.buildSelectOptions,onChange:function(e){return r(e)},mode:o,selectProps:{isLoading:this.state.loading,formatGroupLabel:function(e){return Object(h.createElement)("span",{className:"wordcamp-item-select-option-group-label"},e.label)},formatOptionLabel:function(e){return Object(h.createElement)(_,e)}}})}}]),t}(w);function _(e){var t,n,r=e.type,o=e.label,s=void 0===o?"":o,a=e.avatar,i=void 0===a?"":a,l=e.count,u=void 0===l?0:l;switch(r){case"wcb_organizer":t=Object(h.createElement)(g.AvatarImage,{className:"wordcamp-item-select-option-avatar",name:s,size:24,url:i}),n=Object(h.createElement)("span",{className:"wordcamp-item-select-option-label"},s);break;case"wcb_organizer_team":t=Object(h.createElement)("div",{className:"wordcamp-item-select-option-icon-container"},Object(h.createElement)(E,{className:"wordcamp-item-select-option-icon",icon:y.ICON,size:16})),n=Object(h.createElement)("span",{className:"wordcamp-item-select-option-label"},s,Object(h.createElement)("span",{className:"wordcamp-item-select-option-label-term-count"},u))}return Object(h.createElement)("div",{className:"wordcamp-item-select-option"},t,n)}t.default=O},"./assets/src/organizers/toolbar.js":
+/*!******************************************!*\
+  !*** ./assets/src/organizers/toolbar.js ***!
+  \******************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=wp.components.Toolbar,h=wp.editor.BlockControls,b=function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=e.blockData,o=t.layout,s=r.options.layout,a=(void 0===s?{}:s).map(function(e){var t="".concat(e.value,"-view"),r=o===e.value;return{icon:t,title:e.label,isActive:r,onClick:function(){n({layout:e.value})}}});return Object(m.createElement)(h,null,Object(m.createElement)(f,{controls:a}))}}]),t}(wp.element.Component);t.default=b},"./assets/src/sessions/block-content.js":
+/*!**********************************************!*\
+  !*** ./assets/src/sessions/block-content.js ***!
+  \**********************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js"),b=n.n(h),g=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),v=n(/*! lodash */"lodash"),y=n(/*! classnames */"./node_modules/classnames/index.js"),E=n.n(y),w=n(/*! ../shared/block-content */"./assets/src/shared/block-content/index.js"),j=n(/*! ../shared/i18n */"./assets/src/shared/i18n/index.js"),O=n(/*! ../shared/grid-layout/block-content */"./assets/src/shared/grid-layout/block-content.js"),_=n(/*! ../shared/featured-image */"./assets/src/shared/featured-image/index.js"),C=wp.element.Component,k=wp.i18n.__;function x(e){var t=e.session,n=Object(v.get)(t,"_embedded.speakers",[]);n=n.map(function(e){var t=e.link,n=void 0===t?"":t,r=e.title,o=void 0===r?{}:r;return o=o.rendered.trim()||k("Unnamed","wordcamporg"),n?Object(g.createElement)("a",{key:n,href:n},o):o});var r=Object(j.arrayTokenReplace)(Object(j.tokenSplit)(k("Presented by %s","wordcamporg")),[Object(j.listify)(n)]);return Object(g.createElement)("div",{className:"wordcamp-item-meta wordcamp-session-speakers"},r)}function S(e){var t,n=e.session,r=Object(v.get)(n,"_embedded['wp:term']",[]).flat();if(n.session_track.length){var o=r.filter(function(e){return"wcb_track"===e.taxonomy}),s=b()(o,1)[0];t=Object(j.arrayTokenReplace)(Object(j.tokenSplit)(k("%1$s at %2$s in %3$s","wordcamporg")),[n.session_date_time.date,n.session_date_time.time,Object(g.createElement)("span",{key:s.id,className:E()("wordcamp-session-track","wordcamp-session-track-"+s.slug.trim())},s.name.trim())])}else t=Object(j.arrayTokenReplace)(Object(j.tokenSplit)(k("%1$s at %2$s","wordcamporg")),[n.session_date_time.date,n.session_date_time.time]);return Object(g.createElement)("div",{className:"wordcamp-session-time-location"},t)}function A(e){var t,n=e.session,r=Object(v.get)(n,"_embedded['wp:term']",[]).flat();if(n.session_category.length){var o=k(", ","wordcamporg"),s=r.filter(function(e){return"wcb_session_category"===e.taxonomy}).map(function(e){return Object(g.createElement)("span",{key:e.slug,className:E()("wordcamp-session-category","wordcamp-session-category-"+e.slug)},e.name.trim())});t=Object(j.intersperse)(s,o)}return Object(g.createElement)("div",{className:"wordcamp-session-categories"},t)}var P=function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"hasSpeaker",value:function(e){return Object(v.get)(e,"_embedded.speakers",[]).length>0}},{key:"render",value:function(){var e=this,t=this.props,n=t.attributes,r=t.sessionPosts,s=n.show_speaker,a=n.show_images,i=n.image_align,l=n.featured_image_width,u=n.content,c=n.show_meta,d=n.show_category;return Object(g.createElement)(O.default,o()({className:"wordcamp-sessions-block"},this.props),r.map(function(t){return Object(g.createElement)("div",{key:t.slug,className:E()("wordcamp-block-post-list-item","wordcamp-session","wordcamp-session-"+t.slug,"wordcamp-clearfix")},Object(g.createElement)(w.ItemTitle,{className:"wordcamp-session-title",headingLevel:3,title:t.title.rendered.trim(),link:t.link}),s&&e.hasSpeaker(t)&&Object(g.createElement)(x,{session:t}),a&&Object(g.createElement)(_.default,{className:E()("wordcamp-session-image-container","align-"+i),wpMediaDetails:Object(v.get)(t,"_embedded.wp:featuredmedia[0].media_details.sizes",{}),alt:t.title.rendered.trim(),width:Number(l),imageLink:t.link}),"none"!==u&&Object(g.createElement)(w.ItemHTMLContent,{className:E()("wordcamp-session-content-"+u),content:"full"===u?t.content.rendered.trim():t.excerpt.rendered.trim()}),(c||d)&&Object(g.createElement)("div",{className:"wordcamp-item-meta wordcamp-session-details"},c&&Object(g.createElement)(S,{session:t}),d&&Object(g.createElement)(A,{session:t})),"full"===u&&Object(g.createElement)(w.ItemPermalink,{link:t.link,linkText:k("Visit session page","wordcamporg")}))}))}}]),t}(C);t.default=P},"./assets/src/sessions/block-controls.js":
+/*!***********************************************!*\
+  !*** ./assets/src/sessions/block-controls.js ***!
+  \***********************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! classnames */"./node_modules/classnames/index.js"),g=n.n(b),v=n(/*! ../shared/block-controls */"./assets/src/shared/block-controls/index.js"),y=n(/*! ./block-content */"./assets/src/sessions/block-content.js"),E=n(/*! ./sessions-select */"./assets/src/sessions/sessions-select.js"),w=n(/*! ./index */"./assets/src/sessions/index.js"),j=wp.components,O=j.Button,_=j.Placeholder,C=wp.i18n.__,k=function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"render",value:function(){var e,t=this.props,n=t.icon,r=t.attributes,s=t.setAttributes,a=t.sessionPosts,i=r.mode,l=Array.isArray(a)&&a.length;if(i&&!l)return Object(h.createElement)(v.PlaceholderNoContent,{icon:n,label:w.LABEL,loading:!Array.isArray(a)});switch(i){case"all":e=Object(h.createElement)(y.default,this.props);break;case"wcb_session":case"wcb_track":case"wcb_session_category":e=Object(h.createElement)(v.PlaceholderSpecificMode,{label:this.getModeLabel(i),icon:n,content:Object(h.createElement)(y.default,this.props),placeholderChildren:Object(h.createElement)(E.default,this.props)});break;default:e=Object(h.createElement)(_,{className:g()("wordcamp-block-edit-placeholder","wordcamp-block-edit-placeholder-no-mode"),icon:n,label:w.LABEL},Object(h.createElement)("div",{className:"wordcamp-block-edit-mode-option"},Object(h.createElement)(O,{isDefault:!0,isLarge:!0,onClick:function(){s({mode:"all"})}},this.getModeLabel("all"))),Object(h.createElement)("div",{className:"wordcamp-block-edit-mode-option"},Object(h.createElement)(E.default,o()({icon:n,label:C("Choose specific sessions, tracks, or categories","wordcamporg")},this.props))))}return e}}]),t}(v.BlockControls);t.default=k},"./assets/src/sessions/edit.js":
+/*!*************************************!*\
+  !*** ./assets/src/sessions/edit.js ***!
+  \*************************************/
+/*! exports provided: edit */function(e,t,n){"use strict";n.r(t),n.d(t,"edit",function(){return F});var r=n(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),b=n.n(h),g=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),v=n(/*! lodash */"lodash"),y=n(/*! ./block-controls */"./assets/src/sessions/block-controls.js"),E=n(/*! ./inspector-controls */"./assets/src/sessions/inspector-controls.js"),w=n(/*! ../shared/grid-layout/toolbar */"./assets/src/shared/grid-layout/toolbar.js"),j=n(/*! ./index */"./assets/src/sessions/index.js"),O=wp.apiFetch,_=wp.data.withSelect,C=wp.element,k=C.Component,x=C.Fragment,S=wp.url.addQueryArgs,A=window.WordCampBlocks.sessions||{},P={orderby:"title",order:"asc",per_page:100,_embed:!0},N={orderby:"name",order:"asc",per_page:100},D=function(e){function t(e){var n;return l()(this,t),(n=p()(this,f()(t).call(this,e))).fetchSessionDetails(),n}return b()(t,e),c()(t,[{key:"fetchSessionDetails",value:function(){var e=O({path:S("/wp/v2/sessions",P)}),t=O({path:S("/wp/v2/session_track",N)}),n=O({path:S("/wp/v2/session_category",N)});this.state={allSessionPosts:e,allSessionTracks:t,allSessionCategories:n}}},{key:"render",value:function(){var e=this.props.attributes.mode;return Object(g.createElement)(x,null,Object(g.createElement)(y.default,a()({icon:j.ICON},this.props,this.state)),e&&Object(g.createElement)(x,null,Object(g.createElement)(E.default,this.props),Object(g.createElement)(w.default,this.props)))}}]),t}(k),F=_(function(e,t){var n=t.attributes,r=n.mode,s=n.item_ids,a=n.sort,i=e("core").getEntityRecords,l={per_page:100,_embed:!0,context:"view",_wcpt_session_type:"session"};if("session_time"!==a){var u=Object(v.split)(a,"_",2),c=o()(u,2),d=c[0],p=c[1];l.orderby=d,l.order=p}if(Array.isArray(s))switch(r){case"wcb_session":l.include=s;break;case"wcb_track":l.session_track=s;break;case"wcb_session_category":l.session_category=s}var m=i("postType","wcb_session",Object(v.pickBy)(l,function(e){return!Object(v.isUndefined)(e)}));return Array.isArray(m)&&"session_time"===a&&m.sort(function(e,t){return Number(e.meta._wcpt_session_time)-Number(t.meta._wcpt_session_time)}),{blockData:A,sessionPosts:m}})(D)},"./assets/src/sessions/index.js":
+/*!**************************************!*\
+  !*** ./assets/src/sessions/index.js ***!
+  \**************************************/
+/*! exports provided: name, LABEL, ICON, settings */function(e,t,n){"use strict";n.r(t),n.d(t,"name",function(){return s}),n.d(t,"LABEL",function(){return a}),n.d(t,"ICON",function(){return i}),n.d(t,"settings",function(){return l});var r=n(/*! ./edit.js */"./assets/src/sessions/edit.js"),o=wp.i18n.__,s="wordcamp/sessions",a=o("Sessions","wordcamporg"),i="list-view",l={title:o("Sessions","wordcamporg"),description:o("Add a list of sessions.","wordcamporg"),icon:i,category:"wordcamp",supports:{align:["wide","full"]},edit:r.edit,save:function(){return null}}},"./assets/src/sessions/inspector-controls.js":
+/*!***************************************************!*\
+  !*** ./assets/src/sessions/inspector-controls.js ***!
+  \***************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! ../shared/grid-layout/inspector-control */"./assets/src/shared/grid-layout/inspector-control.js"),g=n(/*! ../shared/featured-image/inspector-control */"./assets/src/shared/featured-image/inspector-control.js"),v=wp.components,y=v.PanelBody,E=v.PanelRow,w=v.SelectControl,j=v.ToggleControl,O=wp.editor.InspectorControls,_=wp.element.Component,C=wp.i18n.__,k=function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=e.blockData,s=t.show_speaker,a=t.content,i=t.show_meta,l=t.show_category,u=t.sort,c=r.options;return Object(h.createElement)(O,null,Object(h.createElement)(b.default,this.props),Object(h.createElement)(y,{title:C("Content Settings","wordcamporg"),initialOpen:!0},Object(h.createElement)(E,null,Object(h.createElement)(w,{label:C("Description","wordcamporg"),value:a||"full",options:c.content,onChange:function(e){return n({content:e})}})),Object(h.createElement)(E,null,Object(h.createElement)(j,{label:C("Details","wordcamporg"),help:C("Show date, time, and track.","wordcamporg"),checked:void 0!==i&&i,onChange:function(e){return n({show_meta:e})}})),Object(h.createElement)(E,null,Object(h.createElement)(j,{label:C("Categories","wordcamporg"),help:C("Show session categories.","wordcamporg"),checked:void 0!==l&&l,onChange:function(e){return n({show_category:e})}})),Object(h.createElement)(E,null,Object(h.createElement)(j,{label:C("Speakers","wordcamporg"),help:C("Show session speakers.","wordcamporg"),checked:void 0!==s&&s,onChange:function(e){return n({show_speaker:e})}}))),Object(h.createElement)(g.default,o()({title:C("Image size","wordcamporg"),help:C("Specify image height and width, or select a predefined size.","wordcamporg"),selectLabel:C("Size","wordcamporg")},this.props)),Object(h.createElement)(y,{title:C("Sorting","wordcamporg")},Object(h.createElement)(E,null,Object(h.createElement)(w,{label:C("Sort by","wordcamporg"),value:u,options:c.sort||"session_time",onChange:function(e){return n({sort:e})}}))))}}]),t}(_);t.default=k},"./assets/src/sessions/sessions-select.js":
+/*!************************************************!*\
+  !*** ./assets/src/sessions/sessions-select.js ***!
+  \************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),b=n.n(h),g=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),v=n.n(g),y=n(/*! @babel/runtime/helpers/assertThisInitialized */"./node_modules/@babel/runtime/helpers/assertThisInitialized.js"),E=n.n(y),w=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),j=n(/*! lodash */"lodash"),O=n(/*! ../shared/item-select */"./assets/src/shared/item-select/index.js"),_=wp.components.Dashicon,C=wp.element.Component,k=wp.i18n.__,x=function(e){function t(e){var n;return c()(this,t),(n=f()(this,b()(t).call(this,e))).state={wcb_session:[],wcb_track:[],wcb_session_category:[],loading:!0},n.buildSelectOptions=n.buildSelectOptions.bind(E()(E()(n))),n.fetchSelectOptions(e),n}return v()(t,e),p()(t,[{key:"fetchSelectOptions",value:function(e){var t=this,n=e.allSessionPosts,r=e.allSessionTracks,o=e.allSessionCategories,s=[];s.push(n.then(function(e){var n=e.map(function(e){var t=Object(j.get)(e,"_embedded['wp:featuredmedia'].media_details.sizes.thumbnail.source_url","");return{label:e.title.rendered.trim()||k("(Untitled)","wordcamporg"),value:e.id,type:"wcb_session",image:t}});t.setState({wcb_session:n})}).catch()),[r,o].forEach(function(e){s.push(e.then(function(e){var n=e.map(function(e){return{label:e.name.trim()||k("(Untitled)","wordcamporg"),value:e.id,type:e.taxonomy,count:e.count||0}}),r=l()(n,1)[0];t.setState(a()({},r.type,n))}).catch())}),Promise.all(s).then(function(){t.setState({loading:!1})})}},{key:"buildSelectOptions",value:function(e){var t=Object.getOwnPropertyDescriptors,n=[],r={wcb_session:k("Sessions","wordcamporg"),wcb_track:k("Tracks","wordcamporg"),wcb_session_category:k("Session Categories","wordcamporg")};for(var o in t(this.state))e&&o!==e||!this.state[o].length||n.push({label:r[o],options:this.state[o]});return n}},{key:"render",value:function(){var e=this.props,t=e.icon,n=e.label,r=e.attributes,s=e.setAttributes,a=r.mode,i=r.item_ids,l=this.buildSelectOptions(a),u=[];a&&i.length&&(u=Object(j.get)(l,"[0].options",[]).filter(function(e){return Object(j.includes)(i,e.value)}));return Object(w.createElement)(O.default,{className:"wordcamp-sessions-select",label:n,value:u,buildSelectOptions:this.buildSelectOptions,onChange:function(e){return s(e)},mode:a,selectProps:{isLoading:this.state.loading,formatGroupLabel:function(e){return Object(w.createElement)("span",{className:"wordcamp-item-select-option-group-label"},e.label)},formatOptionLabel:function(e){return Object(w.createElement)(S,o()({icon:t},e))}}})}}]),t}(C);function S(e){var t,n,r=e.type,o=e.icon,s=e.label,a=void 0===s?"":s,i=e.image,l=void 0===i?"":i,u=e.count,c=void 0===u?0:u;switch(r){case"wcb_session":t=l?Object(w.createElement)("img",{className:"wordcamp-item-select-option-image",src:l,alt:a,width:24,height:24}):Object(w.createElement)("div",{className:"wordcamp-item-select-option-icon-container"},Object(w.createElement)(_,{className:"wordcamp-item-select-option-icon",icon:o,size:16})),n=Object(w.createElement)("span",{className:"wordcamp-item-select-option-label"},a);break;case"wcb_track":case"wcb_session_category":t=Object(w.createElement)("div",{className:"wordcamp-item-select-option-icon-container"},Object(w.createElement)(_,{className:"wordcamp-item-select-option-icon",icon:o,size:16})),n=Object(w.createElement)("span",{className:"wordcamp-item-select-option-label"},a,Object(w.createElement)("span",{className:"wordcamp-item-select-option-label-term-count"},c))}return Object(w.createElement)("div",{className:"wordcamp-item-select-option"},t,n)}t.default=x},"./assets/src/shared/avatar/index.js":
 /*!*******************************************!*\
   !*** ./assets/src/shared/avatar/index.js ***!
   \*******************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\nvar _wp$i18n = wp.i18n,\n    __ = _wp$i18n.__,\n    sprintf = _wp$i18n.sprintf;\nvar addQueryArgs = wp.url.addQueryArgs;\n\nfunction AvatarImage(_ref) {\n  var className = _ref.className,\n      name = _ref.name,\n      size = _ref.size,\n      url = _ref.url;\n\n  var getSizedURL = function getSizedURL(avatar_url, avatar_size) {\n    return addQueryArgs(avatar_url, {\n      s: avatar_size\n    });\n  };\n\n  var alt = name ? sprintf(__('Avatar of %s', 'wordcamporg'), name) : '';\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(\"img\", {\n    className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('avatar', 'avatar-' + size, 'photo', className),\n    src: getSizedURL(url, size),\n    srcSet: getSizedURL(url, size * 2) + ' 2x',\n    alt: alt,\n    width: size,\n    height: size\n  });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AvatarImage);\n\n//# sourceURL=webpack:///./assets/src/shared/avatar/index.js?");
-
-/***/ }),
-
-/***/ "./assets/src/shared/image-alignment/index.js":
+/*! exports provided: AvatarImage, AvatarSizeControl */function(e,t,n){"use strict";n.r(t),n.d(t,"AvatarImage",function(){return f});var r=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),o=n(/*! classnames */"./node_modules/classnames/index.js"),s=n.n(o),a=(n(/*! ./style.scss */"./assets/src/shared/avatar/style.scss"),n(/*! ./inspector-controls */"./assets/src/shared/avatar/inspector-controls.js"));n.d(t,"AvatarSizeControl",function(){return a.AvatarSizeControl});var i=wp.components.Disabled,l=wp.i18n,u=l.__,c=l.sprintf,d=wp.url,p=d.addQueryArgs,m=d.isURL;function f(e){var t=e.className,n=e.name,o=e.size,a=e.url,l=e.imageLink,d=function(e,t){return p(e,{s:t})},f=Object(r.createElement)("img",{className:s()("avatar","avatar-"+o,"photo"),src:d(a,o),srcSet:d(a,2*o)+" 2x",alt:n?c(u("Avatar of %s","wordcamporg"),n):"",width:o,height:o});return m(l)&&(f=Object(r.createElement)(i,null,Object(r.createElement)("a",{href:l,className:s()("wordcamp-image-link","wordcamp-avatar-link")},f))),f=Object(r.createElement)("div",{className:s()("wordcamp-image-container","wordcamp-avatar-container",t)},f)}},"./assets/src/shared/avatar/inspector-controls.js":
+/*!********************************************************!*\
+  !*** ./assets/src/shared/avatar/inspector-controls.js ***!
+  \********************************************************/
+/*! exports provided: AvatarSizeControl */function(e,t,n){"use strict";n.r(t),n.d(t,"AvatarSizeControl",function(){return N});var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/assertThisInitialized */"./node_modules/@babel/runtime/helpers/assertThisInitialized.js"),b=n.n(h),g=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),v=n(/*! classnames */"./node_modules/classnames/index.js"),y=n.n(v),E=n(/*! lodash */"lodash"),w=(n(/*! ./inspector-controls.scss */"./assets/src/shared/avatar/inspector-controls.scss"),wp.element.Component),j=wp.components,O=j.BaseControl,_=j.Button,C=j.ButtonGroup,k=j.RangeControl,x=wp.i18n,S=x.__,A=x._x,P=[{name:S("Small","wordcamporg"),shortName:A("S","size small","wordcamporg"),size:90,slug:"small"},{name:S("Regular","wordcamporg"),shortName:A("M","size medium","wordcamporg"),size:150,slug:"regular"},{name:S("Large","wordcamporg"),shortName:A("L","size large","wordcamporg"),size:300,slug:"large"},{name:S("Larger","wordcamporg"),shortName:A("XL","size extra large","wordcamporg"),size:500,slug:"larger"}],N=function(e){function t(e){var n;return a()(this,t),(n=c()(this,p()(t).call(this,e))).state={value:e.value,onChange:Object(E.debounce)(e.onChange,10)},n.onChange=n.onChange.bind(b()(b()(n))),n}return f()(t,e),l()(t,[{key:"onChange",value:function(e){this.setState({value:e}),this.state.onChange(e)}},{key:"render",value:function(){var e=this,t=this.props,n=t.className,r=t.label,s=t.help,a=t.initialPosition,i=t.rangeProps,l=this.state.value;return Object(g.createElement)(O,{className:y()("wordcamp-components-avatar-size",n),label:r,help:s},Object(g.createElement)("div",{className:"wordcamp-components-avatar-size-buttons"},Object(g.createElement)(C,{"aria-label":r},P.map(function(t){var n=t.name,r=t.shortName,o=t.size,s=t.slug,a=l===o;return Object(g.createElement)(_,{key:s,isLarge:!0,isPrimary:a,"aria-label":n,"aria-pressed":a,onClick:function(){return e.onChange(Number(o))}},r||n)})),Object(g.createElement)(_,{className:"wordcamp-components-avatar-size-button-reset",isLarge:!0,isDefault:!0,onClick:function(){return e.onChange(Number(a))}},S("Reset","wordcamporg"))),Object(g.createElement)(k,o()({className:"wordcamp-components-avatar-size-range",value:l,initialPosition:a,onChange:this.onChange,beforeIcon:"format-image",afterIcon:"format-image","aria-label":r},i)))}}]),t}(w)},"./assets/src/shared/avatar/inspector-controls.scss":
+/*!**********************************************************!*\
+  !*** ./assets/src/shared/avatar/inspector-controls.scss ***!
+  \**********************************************************/
+/*! no static exports found */function(e,t,n){},"./assets/src/shared/avatar/style.scss":
+/*!*********************************************!*\
+  !*** ./assets/src/shared/avatar/style.scss ***!
+  \*********************************************/
+/*! no static exports found */function(e,t,n){},"./assets/src/shared/block-content/index.js":
+/*!**************************************************!*\
+  !*** ./assets/src/shared/block-content/index.js ***!
+  \**************************************************/
+/*! exports provided: ItemTitle, ItemHTMLContent, ItemPermalink */function(e,t,n){"use strict";n.r(t),n.d(t,"ItemTitle",function(){return d}),n.d(t,"ItemHTMLContent",function(){return p}),n.d(t,"ItemPermalink",function(){return m});var r=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),o=n(/*! classnames */"./node_modules/classnames/index.js"),s=n.n(o),a=(n(/*! ./style.scss */"./assets/src/shared/block-content/style.scss"),wp.components.Disabled),i=wp.element,l=i.Fragment,u=i.RawHTML,c=wp.i18n.__;function d(e){var t=e.headingLevel,n=e.className,o=e.title,i=e.link,u="h3";[1,2,3,4,5,6].includes(t)&&(u="h"+t);var d=["wordcamp-item-title",n],p=o||c("(Untitled)","wordcamporg");return Object(r.createElement)(u,{className:s()(d)},i&&Object(r.createElement)(a,null,Object(r.createElement)("a",{href:i},p)),!i&&Object(r.createElement)(l,null,p))}function p(e){var t=e.className,n=e.content,o=e.link,i=e.linkText,l=["wordcamp-item-content",t];return Object(r.createElement)("div",{className:s()(l)},Object(r.createElement)(a,null,Object(r.createElement)(u,{children:n}),o&&Object(r.createElement)(m,{link:o,linkText:i})))}function m(e){var t=e.className,n=e.link,o=e.linkText,a=["wordcamp-item-permalink",t];return Object(r.createElement)("p",{className:s()(a)},Object(r.createElement)("a",{href:n},o||c("Read more","wordcamporg")))}},"./assets/src/shared/block-content/style.scss":
 /*!****************************************************!*\
-  !*** ./assets/src/shared/image-alignment/index.js ***!
+  !*** ./assets/src/shared/block-content/style.scss ***!
   \****************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ \"./assets/src/shared/image-alignment/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\nvar _wp$components = wp.components,\n    BaseControl = _wp$components.BaseControl,\n    ButtonGroup = _wp$components.ButtonGroup,\n    IconButton = _wp$components.IconButton;\nvar withInstanceId = wp.compose.withInstanceId;\n/**\n * Internal dependencies\n */\n\n\nvar data = window.WordCampBlocks.speakers || {};\n\nfunction ImageAlignmentControl(_ref) {\n  var className = _ref.className,\n      label = _ref.label,\n      help = _ref.help,\n      value = _ref.value,\n      instanceId = _ref.instanceId,\n      onChange = _ref.onChange;\n  var options = data.options;\n  var id = \"wordcamp-inspector-image-alignment-control-\".concat(instanceId);\n  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(BaseControl, {\n    id: id,\n    className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('wordcamp-components-image-alignment', className),\n    label: label,\n    help: help\n  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(ButtonGroup, null, options.align.map(function (alignment) {\n    var optLabel = alignment.label;\n    var optValue = alignment.value;\n    var isCurrent = value === optValue;\n    var iconSlug = \"align-\".concat(optValue);\n    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"])(IconButton, {\n      key: optValue,\n      isLarge: true,\n      isPrimary: isCurrent,\n      \"aria-pressed\": isCurrent,\n      onClick: function onClick() {\n        return onChange(optValue);\n      },\n      icon: iconSlug,\n      label: optLabel\n    });\n  })));\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (withInstanceId(ImageAlignmentControl));\n\n//# sourceURL=webpack:///./assets/src/shared/image-alignment/index.js?");
-
-/***/ }),
-
-/***/ "./assets/src/shared/image-alignment/style.scss":
-/*!******************************************************!*\
-  !*** ./assets/src/shared/image-alignment/style.scss ***!
-  \******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/src/shared/image-alignment/style.scss?");
-
-/***/ }),
-
-/***/ "./assets/src/shared/versatile-select/index.js":
+/*! no static exports found */function(e,t,n){},"./assets/src/shared/block-controls/index.js":
+/*!***************************************************!*\
+  !*** ./assets/src/shared/block-controls/index.js ***!
+  \***************************************************/
+/*! exports provided: BlockControls, PlaceholderNoContent, PlaceholderSpecificMode */function(e,t,n){"use strict";n.r(t),n.d(t,"BlockControls",function(){return C}),n.d(t,"PlaceholderNoContent",function(){return k}),n.d(t,"PlaceholderSpecificMode",function(){return x});var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/assertThisInitialized */"./node_modules/@babel/runtime/helpers/assertThisInitialized.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! classnames */"./node_modules/classnames/index.js"),g=n.n(b),v=(n(/*! ./style.scss */"./assets/src/shared/block-controls/style.scss"),wp.components),y=v.Placeholder,E=v.Spinner,w=wp.element,j=w.Component,O=w.Fragment,_=wp.i18n.__,C=function(e){function t(e){var n;return o()(this,t),(n=l()(this,c()(t).call(this,e))).getModeLabel=n.getModeLabel.bind(f()(f()(n))),n}return p()(t,e),a()(t,[{key:"getModeLabel",value:function(e){return this.props.blockData.options.mode.find(function(t){return e===t.value}).label}}]),t}(j);function k(e){var t=e.className,n=e.icon,r=e.label,o=e.loading,s=["wordcamp-block-edit-placeholder","wordcamp-block-edit-placeholder-no-content",t];return Object(h.createElement)(y,{className:g()(s),icon:n,label:r},o?Object(h.createElement)(E,null):_("No content found.","wordcamporg"))}function x(e){var t=e.className,n=e.label,r=e.icon,o=e.content,s=e.placeholderChildren,a=["wordcamp-block-edit-placeholder","wordcamp-block-edit-placeholder-specific-mode",t];return Object(h.createElement)(O,null,o,Object(h.createElement)(y,{className:g()(a),label:n,icon:r},s))}},"./assets/src/shared/block-controls/style.scss":
 /*!*****************************************************!*\
-  !*** ./assets/src/shared/versatile-select/index.js ***!
+  !*** ./assets/src/shared/block-controls/style.scss ***!
   \*****************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.esm.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./style.scss */ \"./assets/src/shared/versatile-select/style.scss\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n\n/**\n * WordPress dependencies\n */\n\nvar _wp$components = wp.components,\n    BaseControl = _wp$components.BaseControl,\n    Button = _wp$components.Button;\nvar Component = wp.element.Component;\nvar __ = wp.i18n.__;\n/**\n * Internal dependencies\n */\n\n\n\nvar VersatileSelect =\n/*#__PURE__*/\nfunction (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(VersatileSelect, _Component);\n\n  function VersatileSelect(props) {\n    var _this;\n\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, VersatileSelect);\n\n    _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(VersatileSelect).call(this, props));\n    _this.state = {\n      selectedOptions: null\n    };\n    _this.render = _this.render.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this)));\n    return _this;\n  }\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(VersatileSelect, [{\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          className = _this$props.className,\n          label = _this$props.label,\n          help = _this$props.help,\n          instanceId = _this$props.instanceId,\n          onChange = _this$props.onChange,\n          submitLabel = _this$props.submitLabel;\n      var id = \"wordcamp-block-versatile-select-control-\".concat(instanceId);\n      var value = this.state.selectedOptions || this.props.value;\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(BaseControl, {\n        id: id,\n        className: classnames__WEBPACK_IMPORTED_MODULE_9___default()('wordcamp-components-versatile-select', className),\n        label: label,\n        help: help\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"div\", {\n        className: 'wordcamp-components-versatile-select-inner'\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(react_select__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n        isMulti: true\n      }, this.props, {\n        value: value,\n        className: 'wordcamp-components-versatile-select-select',\n        onChange: function onChange(selectedOptions) {\n          _this2.setState({\n            selectedOptions: selectedOptions\n          });\n        }\n      })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(Button, {\n        className: 'wordcamp-components-versatile-select-button',\n        isLarge: true,\n        isDefault: true,\n        onClick: function onClick() {\n          var selectedOptions = _this2.state.selectedOptions;\n          onChange(selectedOptions);\n        }\n      }, submitLabel || __('Select', 'wordcamporg'))));\n    }\n  }]);\n\n  return VersatileSelect;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VersatileSelect);\n\n//# sourceURL=webpack:///./assets/src/shared/versatile-select/index.js?");
-
-/***/ }),
-
-/***/ "./assets/src/shared/versatile-select/style.scss":
-/*!*******************************************************!*\
-  !*** ./assets/src/shared/versatile-select/style.scss ***!
-  \*******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/src/shared/versatile-select/style.scss?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/block-content.js":
+/*! no static exports found */function(e,t,n){},"./assets/src/shared/featured-image/index.js":
+/*!***************************************************!*\
+  !*** ./assets/src/shared/featured-image/index.js ***!
+  \***************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return y});var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=n(/*! classnames */"./node_modules/classnames/index.js"),h=n.n(f),b=wp.components.Disabled,g=wp.element.Component,v=wp.url.isURL,y=function(e){function t(e){var n;return o()(this,t),(n=l()(this,c()(t).call(this,e))).state={},n}return p()(t,e),a()(t,[{key:"getFullImage",value:function(){var e=Object.getOwnPropertyDescriptors,t=this.props.wpMediaDetails,n=this.state.selectedImage;if(n&&n.hasOwnProperty("source_url"))return n;if(t.hasOwnProperty("full")&&t.full.hasOwnProperty("source_url"))return this.setState({selectedImage:t.full}),t.full;var r={source_url:""};for(var o in e(t))t[o].width>(r.width||0)&&t[o].hasOwnProperty("source_url")&&(r=t[o]);return this.setState({selectedImage:r}),r}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.alt,r=e.width,o=void 0===r?150:r,s=e.imageLink,a=this.getFullImage(),i=Object(m.createElement)("img",{className:h()("wordcamp-featured-image",t),src:a.source_url,alt:n,width:o+"px"});return v(s)&&(i=Object(m.createElement)(b,null,Object(m.createElement)("a",{href:s,className:h()("wordcamp-image-link","wordcamp-featured-image-link")},i))),i=Object(m.createElement)("div",{className:h()("wordcamp-image-container","wordcamp-featured-image-container",t)},i)}}]),t}(g)},"./assets/src/shared/featured-image/inspector-control.js":
+/*!***************************************************************!*\
+  !*** ./assets/src/shared/featured-image/inspector-control.js ***!
+  \***************************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=(n(/*! ./style.scss */"./assets/src/shared/featured-image/style.scss"),n(/*! ../avatar */"./assets/src/shared/avatar/index.js")),h=wp.element.Component,b=wp.components.PanelBody,g=function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=e.title,o=e.help,s=e.selectLabel,a=t.featured_image_width;return Object(m.createElement)(b,{title:r,initialopen:!1},Object(m.createElement)(f.AvatarSizeControl,{onChange:function(e){return n({featured_image_width:Number(e)})},label:s,initialPosition:a,help:o,rangeProps:{min:25,max:1024}}))}}]),t}(h);t.default=g},"./assets/src/shared/featured-image/style.scss":
+/*!*****************************************************!*\
+  !*** ./assets/src/shared/featured-image/style.scss ***!
+  \*****************************************************/
+/*! no static exports found */function(e,t,n){},"./assets/src/shared/grid-layout/block-content.js":
+/*!********************************************************!*\
+  !*** ./assets/src/shared/grid-layout/block-content.js ***!
+  \********************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=n(/*! classnames */"./node_modules/classnames/index.js"),h=n.n(f),b=(n(/*! ./style.scss */"./assets/src/shared/grid-layout/style.scss"),function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.className,r=e.children,o=t.grid_columns,s=t.layout,a=t.align,i=["wordcamp-block","wordcamp-block-post-list","layout-"+s,n];return"grid"===s&&i.push("grid-columns-"+Number(o)),a&&i.push("align"+a),Object(m.createElement)("ul",{className:h()(i)},(r||[]).map(function(e){return Object(m.createElement)("li",{key:e.key,className:h()("wordcamp-grid-layout-item","wordcamp-block-post-list-item","wordcamp-clearfix")},e)}))}}]),t}(wp.element.Component));t.default=b},"./assets/src/shared/grid-layout/inspector-control.js":
+/*!************************************************************!*\
+  !*** ./assets/src/shared/grid-layout/inspector-control.js ***!
+  \************************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=wp.element.Component,h=wp.components,b=h.PanelBody,g=h.PanelRow,v=h.RangeControl,y=wp.i18n.__,E={grid_columns:{default:2,minimum:2,maximum:4}},w=function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=t.layout,o=t.grid_columns;if("grid"!==r)return null;var s=E;return Object(m.createElement)(b,null,Object(m.createElement)(b,{title:y("Layout","wordcamporg"),initialOpen:!0},Object(m.createElement)(g,null,Object(m.createElement)(v,{label:y("Grid Columns","wordcamporg"),value:Number(o),min:s.grid_columns.minimum,max:s.grid_columns.maximum,initialPosition:s.grid_columns.default,onChange:function(e){return n({grid_columns:e})}}))))}}]),t}(f);t.default=w},"./assets/src/shared/grid-layout/style.scss":
+/*!**************************************************!*\
+  !*** ./assets/src/shared/grid-layout/style.scss ***!
+  \**************************************************/
+/*! no static exports found */function(e,t,n){},"./assets/src/shared/grid-layout/toolbar.js":
+/*!**************************************************!*\
+  !*** ./assets/src/shared/grid-layout/toolbar.js ***!
+  \**************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=wp.components.Toolbar,h=wp.editor.BlockControls,b=wp.i18n.__,g=function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=t.layout,o=[{value:"grid",label:b("Grid","wordcamporg"),isActive:"grid"===r},{value:"list",label:b("List","wordcamporg"),isActive:"grid"===r}];return Object(m.createElement)(h,null,Object(m.createElement)(f,{controls:o.map(function(e){var t="".concat(e.value,"-view"),o=r===e.value;return{icon:t,title:e.label,isActive:o,onClick:function(){n({layout:e.value,grid_columns:"grid"===e.value?2:1})}}})}))}}]),t}(wp.element.Component);t.default=g},"./assets/src/shared/i18n/index.js":
+/*!*****************************************!*\
+  !*** ./assets/src/shared/i18n/index.js ***!
+  \*****************************************/
+/*! exports provided: tokenSplit, arrayTokenReplace, intersperse, listify */function(e,t,n){"use strict";n.r(t),n.d(t,"tokenSplit",function(){return l}),n.d(t,"arrayTokenReplace",function(){return u}),n.d(t,"intersperse",function(){return c}),n.d(t,"listify",function(){return d});var r=n(/*! @babel/runtime/helpers/toConsumableArray */"./node_modules/@babel/runtime/helpers/toConsumableArray.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/toArray */"./node_modules/@babel/runtime/helpers/toArray.js"),a=n.n(s),i=wp.i18n.__;function l(e){return e.split(/(%[1-9]?\$?s)/)}function u(e,t){var n,r=0;return e.flatMap(function(e){var o=e.match(/^%([1-9])?\$?s$/);return Array.isArray(o)&&(o.length>1&&void 0!==o[1]?(n=Number(o[1])-1,void 0!==t[n]&&(e=t[n])):(e=t[r],r++)),e})}function c(e,t){return e.length?e.slice(1).reduce(function(e,n,r){var o="function"==typeof t?o(r):t;return e.concat([o,n])},[e[0]]):[]}function d(e){var t=[],n=i(", ","wordcamporg"),r=i(" and ","wordcamporg");if(!Array.isArray(e))return t;switch(e.length){case 0:break;case 1:t=e;break;case 2:t=c(e,r);break;default:var s=o()(e).reverse(),l=a()(s),u=l[0];t=c(l.slice(1),n).concat([n,r,u])}return t}},"./assets/src/shared/image-alignment/index.js":
+/*!****************************************************!*\
+  !*** ./assets/src/shared/image-alignment/index.js ***!
+  \****************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),o=n(/*! classnames */"./node_modules/classnames/index.js"),s=n.n(o),a=wp.components,i=a.BaseControl,l=a.Toolbar;t.default=function(e){var t=e.className,n=e.label,o=e.help,a=e.value,u=e.onChange,c=e.alignOptions;return Object(r.createElement)(i,{className:s()("wordcamp-components-image-alignment",t),label:n,help:o},Object(r.createElement)(l,{controls:c.map(function(e){var t=a===e.value,n="align-".concat(e.value);return{title:e.label,icon:n,isActive:t,onClick:function(){u(e.value)}}})}))}},"./assets/src/shared/item-select/index.js":
+/*!************************************************!*\
+  !*** ./assets/src/shared/item-select/index.js ***!
+  \************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/objectSpread */"./node_modules/@babel/runtime/helpers/objectSpread.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),b=n.n(h),g=n(/*! @babel/runtime/helpers/assertThisInitialized */"./node_modules/@babel/runtime/helpers/assertThisInitialized.js"),v=n.n(g),y=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),E=n(/*! react-select */"./node_modules/react-select/dist/react-select.esm.js"),w=n(/*! classnames */"./node_modules/classnames/index.js"),j=n.n(w),O=(n(/*! ./style.scss */"./assets/src/shared/item-select/style.scss"),wp.components),_=O.BaseControl,C=O.Button,k=wp.compose.withInstanceId,x=wp.element.Component,S=wp.i18n.__,A=function(e){function t(e){var n;return l()(this,t),(n=p()(this,f()(t).call(this,e))).state={selectedOptions:null},n.isOptionDisabled=n.isOptionDisabled.bind(v()(v()(n))),n.getNewAttributes=n.getNewAttributes.bind(v()(v()(n))),n}return b()(t,e),c()(t,[{key:"isOptionDisabled",value:function(e,t){var n,r=this.props.mode;return"loading"===e.type||(Array.isArray(t)&&t.length&&(n=t[0].type),!(!r||r===e.type)||n&&n!==e.type)}},{key:"getNewAttributes",value:function(){var e={},t=this.state.selectedOptions;if(null===t)return e;var n=t.map(function(e){return e.value})||[];n.length?e={mode:t[0].type,item_ids:n}:e={mode:"",item_ids:[]};return e}},{key:"render",value:function(){var e=this,t=this.props,n=t.instanceId,r=t.className,s=t.label,i=t.help,l=t.submitLabel,u=t.buildSelectOptions,c=t.onChange,d=t.selectProps,p=this.state.selectedOptions||this.props.value,m="wordcamp-item-select-control-".concat(n),f=a()({options:u(),isMulti:!0,isOptionDisabled:this.isOptionDisabled},d);return Object(y.createElement)(_,{id:m,className:j()("wordcamp-item-select",r),label:s,help:i},Object(y.createElement)("div",{className:"wordcaselectedOptionsmp-item-select-inner"},Object(y.createElement)(E.default,o()({id:m,className:"wordcamp-item-select-select",value:p,"aria-label":s,onChange:function(t){e.setState({selectedOptions:t})}},f)),Object(y.createElement)(C,{className:"wordcamp-item-select-button",isLarge:!0,isDefault:!0,onClick:function(){return c(e.getNewAttributes())}},l||S("Select","wordcamporg"))))}}]),t}(x);t.default=k(A)},"./assets/src/shared/item-select/style.scss":
+/*!**************************************************!*\
+  !*** ./assets/src/shared/item-select/style.scss ***!
+  \**************************************************/
+/*! no static exports found */function(e,t,n){},"./assets/src/speakers/block-content.js":
 /*!**********************************************!*\
   !*** ./assets/src/speakers/block-content.js ***!
   \**********************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _shared_avatar__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../shared/avatar */ \"./assets/src/shared/avatar/index.js\");\n/* harmony import */ var _block_content_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./block-content.scss */ \"./assets/src/speakers/block-content.scss\");\n/* harmony import */ var _block_content_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_block_content_scss__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n\n/**\n * WordPress dependencies\n */\n\nvar Disabled = wp.components.Disabled;\nvar _wp$element = wp.element,\n    Component = _wp$element.Component,\n    Fragment = _wp$element.Fragment,\n    RawHTML = _wp$element.RawHTML;\nvar decodeEntities = wp.htmlEntities.decodeEntities;\nvar _wp$i18n = wp.i18n,\n    __ = _wp$i18n.__,\n    _n = _wp$i18n._n,\n    sprintf = _wp$i18n.sprintf;\n/**\n * Internal dependencies\n */\n\n\n\n\nvar SpeakersBlockContent =\n/*#__PURE__*/\nfunction (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(SpeakersBlockContent, _Component);\n\n  function SpeakersBlockContent() {\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, SpeakersBlockContent);\n\n    return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(SpeakersBlockContent).apply(this, arguments));\n  }\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(SpeakersBlockContent, [{\n    key: \"render\",\n    value: function render() {\n      var _this = this;\n\n      var _this$props = this.props,\n          attributes = _this$props.attributes,\n          speakerPosts = _this$props.speakerPosts,\n          tracks = _this$props.tracks;\n      var layout = attributes.layout,\n          grid_columns = attributes.grid_columns,\n          className = attributes.className,\n          show_avatars = attributes.show_avatars,\n          avatar_size = attributes.avatar_size,\n          avatar_align = attributes.avatar_align,\n          content = attributes.content,\n          speaker_link = attributes.speaker_link,\n          show_session = attributes.show_session;\n      var containerClasses = ['wordcamp-speakers-block', 'layout-' + layout, className];\n\n      if ('grid' === layout) {\n        containerClasses.push('grid-columns-' + Number(grid_columns));\n      }\n\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"ul\", {\n        className: classnames__WEBPACK_IMPORTED_MODULE_7___default()(containerClasses)\n      }, speakerPosts.map(function (post, i) {\n        return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"li\", {\n          key: i,\n          className: classnames__WEBPACK_IMPORTED_MODULE_7___default()('wordcamp-speaker', 'wordcamp-speaker-' + post.slug)\n        }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"h3\", {\n          className: 'wordcamp-speaker-name-heading'\n        }, decodeEntities(post.title.rendered.trim()) || __('(Untitled)', 'wordcamporg')), show_avatars && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(_shared_avatar__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n          className: classnames__WEBPACK_IMPORTED_MODULE_7___default()('wordcamp-speaker-avatar', 'align-' + avatar_align),\n          name: decodeEntities(post.title.rendered.trim()) || '',\n          size: avatar_size,\n          url: post['avatar_urls']['24']\n        }), ('none' !== content || true === speaker_link) && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"div\", {\n          className: 'wordcamp-speaker-content'\n        }, 'full' === content && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(Disabled, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(RawHTML, null, _this.constructor.maybeAddMoreLink(post.content.rendered.trim(), speaker_link).trim())), 'excerpt' === content && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(Disabled, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(RawHTML, null, _this.constructor.maybeAddMoreLink(post.excerpt.rendered.trim(), speaker_link).trim())), 'none' === content && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(Disabled, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(RawHTML, null, _this.constructor.maybeAddMoreLink('', speaker_link).trim()))), true === show_session && post._embedded.sessions.length && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(Fragment, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"h4\", {\n          className: 'wordcamp-speaker-session-heading'\n        }, _n('Session', 'Sessions', post._embedded.sessions.length, 'wordcamporg')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"ul\", {\n          className: 'wordcamp-speaker-session-list'\n        }, post._embedded.sessions.map(function (session, x) {\n          return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"li\", {\n            key: x,\n            className: 'wordcamp-speaker-session-content'\n          }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(Disabled, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"a\", {\n            className: 'wordcamp-speaker-session-link',\n            href: session.link\n          }, decodeEntities(session.title.rendered.trim()) || __('(Untitled)', 'wordcamporg')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"br\", null), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(\"span\", {\n            className: 'wordcamp-speaker-session-info'\n          }, session.session_track.length && sprintf(\n          /* translators: 1: A date; 2: A time; 3: A location; */\n          __('%1$s at %2$s in %3$s', 'wordcamporg'), session.session_date_time.date, session.session_date_time.time, Object(lodash__WEBPACK_IMPORTED_MODULE_6__[\"get\"])(Object(lodash__WEBPACK_IMPORTED_MODULE_6__[\"find\"])(tracks, function (value) {\n            return parseInt(value.id) === Object(lodash__WEBPACK_IMPORTED_MODULE_6__[\"head\"])(session.session_track);\n          }), 'name')), !session.session_track.length && sprintf(\n          /* translators: 1: A date; 2: A time; */\n          __('%1$s at %2$s', 'wordcamporg'), session.session_date_time.date, session.session_date_time.time))));\n        }))));\n      }));\n    }\n  }], [{\n    key: \"maybeAddMoreLink\",\n    value: function maybeAddMoreLink(content, add) {\n      if (add) {\n        var more = sprintf('<a href=\"#\" class=\"wordcamp-speaker-more-link\">%s</a>', __('Read more', 'wordcamporg'));\n        var pattern = /<\\/p>$/;\n\n        if (Array.isArray(content.match(pattern))) {\n          content = content.replace(pattern, ' ' + more + '</p>');\n        } else {\n          content += ' ' + more;\n        }\n      }\n\n      return content;\n    }\n  }]);\n\n  return SpeakersBlockContent;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SpeakersBlockContent);\n\n//# sourceURL=webpack:///./assets/src/speakers/block-content.js?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/block-content.scss":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js"),b=n.n(h),g=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),v=n(/*! lodash */"lodash"),y=n(/*! classnames */"./node_modules/classnames/index.js"),E=n.n(y),w=n(/*! ../shared/avatar */"./assets/src/shared/avatar/index.js"),j=n(/*! ../shared/block-content */"./assets/src/shared/block-content/index.js"),O=n(/*! ../shared/i18n */"./assets/src/shared/i18n/index.js"),_=n(/*! ../shared/grid-layout/block-content */"./assets/src/shared/grid-layout/block-content.js"),C=(n(/*! ./block-content.scss */"./assets/src/speakers/block-content.scss"),wp.components.Disabled),k=wp.element,x=k.Component,S=k.Fragment,A=wp.i18n,P=A.__,N=A._n,D=wp.escapeHtml.escapeAttribute;function F(e){var t=e.speaker,n=e.tracks,r=Object(v.get)(t,"_embedded.sessions",[]),o=Object(g.createElement)(S,null,null);return r.length&&(o=Object(g.createElement)("div",{className:E()("wordcamp-item-meta","wordcamp-speaker-sessions")},Object(g.createElement)("h4",{className:"wordcamp-speaker-sessions-heading"},N("Session","Sessions",r.length,"wordcamporg")),Object(g.createElement)("ul",{className:"wordcamp-speaker-sessions-list"},r.map(function(e){return Object(g.createElement)("li",{key:D(e.slug),className:"wordcamp-speaker-session-content"},Object(g.createElement)(C,null,Object(g.createElement)("a",{className:"wordcamp-speaker-session-link",href:e.link},e.title.rendered.trim()||P("(Untitled)","wordcamporg")),Object(g.createElement)("span",{className:"wordcamp-speaker-session-info"},e.session_track.length&&Array.isArray(n)&&Object(O.arrayTokenReplace)(Object(O.tokenSplit)(P("%1$s at %2$s in %3$s","wordcamporg")),[e.session_date_time.date,e.session_date_time.time,Object(v.get)(n.find(function(t){var n=b()(e.session_track,1)[0];return parseInt(t.id)===n}),"name")]),(!e.session_track.length||!Array.isArray(n))&&Object(O.arrayTokenReplace)(Object(O.tokenSplit)(P("%1$s at %2$s","wordcamporg")),[e.session_date_time.date,e.session_date_time.time]))))})))),o}var T=function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.speakerPosts,r=e.tracks,s=t.show_avatars,a=t.avatar_size,i=t.avatar_align,l=t.content,u=t.show_session;return Object(g.createElement)(_.default,o()({className:"wordcamp-speakers-block"},this.props),n.map(function(e){return Object(g.createElement)("div",{key:e.slug,className:E()("wordcamp-speaker","wordcamp-speaker-"+e.slug)},Object(g.createElement)(j.ItemTitle,{className:"wordcamp-speaker-title",headingLevel:3,title:e.title.rendered.trim(),link:e.link}),s&&Object(g.createElement)(w.AvatarImage,{className:E()("wordcamp-speaker-avatar-container","align-"+i),name:e.title.rendered.trim()||"",size:a,url:e.avatar_urls[24],imageLink:e.link}),"none"!==l&&Object(g.createElement)(j.ItemHTMLContent,{className:E()("wordcamp-speaker-content-"+l),content:"full"===l?e.content.rendered.trim():e.excerpt.rendered.trim()}),!0===u&&Object(g.createElement)(F,{speaker:e,tracks:r}),"full"===l&&Object(g.createElement)(j.ItemPermalink,{link:e.link,linkText:P("Visit speaker page","wordcamporg")}))}))}}]),t}(x);t.default=T},"./assets/src/speakers/block-content.scss":
 /*!************************************************!*\
   !*** ./assets/src/speakers/block-content.scss ***!
   \************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/src/speakers/block-content.scss?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/block-controls.js":
+/*! no static exports found */function(e,t,n){},"./assets/src/speakers/block-controls.js":
 /*!***********************************************!*\
   !*** ./assets/src/speakers/block-controls.js ***!
   \***********************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _block_content__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./block-content */ \"./assets/src/speakers/block-content.js\");\n/* harmony import */ var _speakers_select__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./speakers-select */ \"./assets/src/speakers/speakers-select.js\");\n\n\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\nvar _wp$components = wp.components,\n    Button = _wp$components.Button,\n    Placeholder = _wp$components.Placeholder,\n    Spinner = _wp$components.Spinner;\nvar _wp$element = wp.element,\n    Component = _wp$element.Component,\n    Fragment = _wp$element.Fragment;\nvar __ = wp.i18n.__;\n/**\n * Internal dependencies\n */\n\n\n\nvar data = window.WordCampBlocks.speakers || {};\n\nvar SpeakersBlockControls =\n/*#__PURE__*/\nfunction (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(SpeakersBlockControls, _Component);\n\n  function SpeakersBlockControls() {\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SpeakersBlockControls);\n\n    return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(SpeakersBlockControls).apply(this, arguments));\n  }\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(SpeakersBlockControls, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          attributes = _this$props.attributes,\n          setAttributes = _this$props.setAttributes,\n          speakerPosts = _this$props.speakerPosts;\n      var mode = attributes.mode;\n      var options = data.options;\n      var hasPosts = Array.isArray(speakerPosts) && speakerPosts.length;\n\n      if (mode && !hasPosts) {\n        return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Placeholder, {\n          icon: \"megaphone\",\n          label: __('Speakers', 'wordcamporg')\n        }, !Array.isArray(speakerPosts) ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Spinner, null) : __('No posts found.', 'wordcamporg'));\n      }\n\n      switch (mode) {\n        case 'all':\n          return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_block_content__WEBPACK_IMPORTED_MODULE_8__[\"default\"], this.props);\n\n        case 'specific_posts':\n          var postsLabel = Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"find\"])(options.mode, function (modeOption) {\n            return 'specific_posts' === modeOption.value;\n          }).label;\n          return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Fragment, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_block_content__WEBPACK_IMPORTED_MODULE_8__[\"default\"], this.props), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Placeholder, {\n            icon: \"megaphone\",\n            label: postsLabel\n          }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_speakers_select__WEBPACK_IMPORTED_MODULE_9__[\"default\"], this.props)));\n\n        case 'specific_terms':\n          var termsLabel = Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"find\"])(options.mode, function (modeOption) {\n            return 'specific_terms' === modeOption.value;\n          }).label;\n          return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Fragment, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_block_content__WEBPACK_IMPORTED_MODULE_8__[\"default\"], this.props), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Placeholder, {\n            icon: \"megaphone\",\n            label: termsLabel\n          }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_speakers_select__WEBPACK_IMPORTED_MODULE_9__[\"default\"], this.props)));\n      }\n\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Placeholder, {\n        icon: 'megaphone',\n        label: __('Speakers', 'wordcamporg')\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(\"div\", {\n        className: 'wordcamp-block-speakers-mode-option'\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Button, {\n        isDefault: true,\n        isLarge: true,\n        onClick: function onClick() {\n          setAttributes({\n            mode: 'all'\n          });\n        }\n      }, Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"find\"])(options.mode, function (modeOption) {\n        return 'all' === modeOption.value;\n      }).label)), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(\"div\", {\n        className: 'wordcamp-block-speakers-mode-option'\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_speakers_select__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n        label: __('Choose specific speakers or groups', 'wordcamporg')\n      }, this.props))));\n    }\n  }]);\n\n  return SpeakersBlockControls;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SpeakersBlockControls);\n\n//# sourceURL=webpack:///./assets/src/speakers/block-controls.js?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/edit.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! classnames */"./node_modules/classnames/index.js"),g=n.n(b),v=n(/*! ../shared/block-controls */"./assets/src/shared/block-controls/index.js"),y=n(/*! ./block-content */"./assets/src/speakers/block-content.js"),E=n(/*! ./speakers-select */"./assets/src/speakers/speakers-select.js"),w=n(/*! ./index */"./assets/src/speakers/index.js"),j=wp.components,O=j.Button,_=j.Placeholder,C=wp.i18n.__,k=function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"render",value:function(){var e,t=this.props,n=t.icon,r=t.attributes,s=t.setAttributes,a=t.speakerPosts,i=r.mode,l=Array.isArray(a)&&a.length;if(i&&!l)return Object(h.createElement)(v.PlaceholderNoContent,{icon:n,label:w.LABEL,loading:!Array.isArray(a)});switch(i){case"all":e=Object(h.createElement)(y.default,this.props);break;case"wcb_speaker":case"wcb_speaker_group":e=Object(h.createElement)(v.PlaceholderSpecificMode,{label:this.getModeLabel(i),icon:n,content:Object(h.createElement)(y.default,this.props),placeholderChildren:Object(h.createElement)(E.default,this.props)});break;default:e=Object(h.createElement)(_,{className:g()("wordcamp-block-edit-placeholder","wordcamp-block-edit-placeholder-no-mode"),icon:n,label:w.LABEL},Object(h.createElement)("div",{className:"wordcamp-block-edit-mode-option"},Object(h.createElement)(O,{isDefault:!0,isLarge:!0,onClick:function(){s({mode:"all"})}},this.getModeLabel("all"))),Object(h.createElement)("div",{className:"wordcamp-block-edit-mode-option"},Object(h.createElement)(E.default,o()({icon:n,label:C("Choose specific speakers or groups","wordcamporg")},this.props))))}return e}}]),t}(v.BlockControls);t.default=k},"./assets/src/speakers/edit.js":
 /*!*************************************!*\
   !*** ./assets/src/speakers/edit.js ***!
   \*************************************/
-/*! exports provided: edit */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"edit\", function() { return edit; });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _block_controls__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./block-controls */ \"./assets/src/speakers/block-controls.js\");\n/* harmony import */ var _inspector_controls__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./inspector-controls */ \"./assets/src/speakers/inspector-controls.js\");\n/* harmony import */ var _toolbar__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./toolbar */ \"./assets/src/speakers/toolbar.js\");\n/* harmony import */ var _edit_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./edit.scss */ \"./assets/src/speakers/edit.scss\");\n/* harmony import */ var _edit_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_edit_scss__WEBPACK_IMPORTED_MODULE_11__);\n\n\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\nvar withSelect = wp.data.withSelect;\nvar _wp$element = wp.element,\n    Component = _wp$element.Component,\n    Fragment = _wp$element.Fragment;\n/**\n * Internal dependencies\n */\n\n\n\n\n\nvar MAX_POSTS = 100;\n\nvar SpeakersEdit =\n/*#__PURE__*/\nfunction (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(SpeakersEdit, _Component);\n\n  function SpeakersEdit() {\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SpeakersEdit);\n\n    return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(SpeakersEdit).apply(this, arguments));\n  }\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(SpeakersEdit, [{\n    key: \"render\",\n    value: function render() {\n      var mode = this.props.attributes.mode;\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Fragment, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_block_controls__WEBPACK_IMPORTED_MODULE_8__[\"default\"], this.props), mode && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(Fragment, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_inspector_controls__WEBPACK_IMPORTED_MODULE_9__[\"default\"], this.props), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__[\"createElement\"])(_toolbar__WEBPACK_IMPORTED_MODULE_10__[\"default\"], this.props)));\n    }\n  }]);\n\n  return SpeakersEdit;\n}(Component);\n\nvar speakersSelect = function speakersSelect(select, props) {\n  var _props$attributes = props.attributes,\n      mode = _props$attributes.mode,\n      post_ids = _props$attributes.post_ids,\n      term_ids = _props$attributes.term_ids,\n      sort = _props$attributes.sort;\n\n  var _select = select('core'),\n      getEntityRecords = _select.getEntityRecords;\n\n  var _split = Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"split\"])(sort, '_', 2),\n      _split2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_split, 2),\n      orderby = _split2[0],\n      order = _split2[1];\n\n  var args = {\n    orderby: orderby,\n    order: order,\n    per_page: MAX_POSTS,\n    // -1 is not allowed for per_page.\n    _embed: true,\n    context: 'view'\n  };\n\n  if ('specific_posts' === mode && Array.isArray(post_ids)) {\n    args.include = post_ids;\n  }\n\n  if ('specific_terms' === mode && Array.isArray(term_ids)) {\n    args['speaker_group'] = term_ids;\n  }\n\n  var speakersQuery = Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"pickBy\"])(args, function (value) {\n    return !Object(lodash__WEBPACK_IMPORTED_MODULE_7__[\"isUndefined\"])(value);\n  });\n  return {\n    speakerPosts: getEntityRecords('postType', 'wcb_speaker', speakersQuery),\n    tracks: getEntityRecords('taxonomy', 'wcb_track', {\n      per_page: MAX_POSTS\n    })\n  };\n};\n\nvar edit = withSelect(speakersSelect)(SpeakersEdit);\n\n//# sourceURL=webpack:///./assets/src/speakers/edit.js?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/edit.scss":
-/*!***************************************!*\
-  !*** ./assets/src/speakers/edit.scss ***!
-  \***************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/src/speakers/edit.scss?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/index.js":
+/*! exports provided: edit */function(e,t,n){"use strict";n.r(t),n.d(t,"edit",function(){return F});var r=n(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),b=n.n(h),g=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),v=n(/*! lodash */"lodash"),y=n(/*! ./block-controls */"./assets/src/speakers/block-controls.js"),E=n(/*! ./inspector-controls */"./assets/src/speakers/inspector-controls.js"),w=n(/*! ./toolbar */"./assets/src/speakers/toolbar.js"),j=n(/*! ./index */"./assets/src/speakers/index.js"),O=wp.apiFetch,_=wp.data.withSelect,C=wp.element,k=C.Component,x=C.Fragment,S=wp.url.addQueryArgs,A=window.WordCampBlocks.speakers||{},P={orderby:"title",order:"asc",per_page:100,_embed:!0},N={orderby:"name",order:"asc",per_page:100},D=function(e){function t(e){var n;return l()(this,t),(n=p()(this,f()(t).call(this,e))).fetchSpeakers(),n}return b()(t,e),c()(t,[{key:"fetchSpeakers",value:function(){var e=O({path:S("/wp/v2/speakers",P)}),t=O({path:S("/wp/v2/speaker_group",N)});this.state={allSpeakerPosts:e,allSpeakerTerms:t}}},{key:"render",value:function(){var e=this.props.attributes.mode;return Object(g.createElement)(x,null,Object(g.createElement)(y.default,a()({icon:j.ICON},this.props,this.state)),e&&Object(g.createElement)(x,null,Object(g.createElement)(E.default,this.props),Object(g.createElement)(w.default,this.props)))}}]),t}(k),F=_(function(e,t){var n=t.attributes,r=n.mode,s=n.item_ids,a=n.sort,i=e("core").getEntityRecords,l=Object(v.split)(a,"_",2),u=o()(l,2),c={orderby:u[0],order:u[1],per_page:100,_embed:!0,context:"view"};if(Array.isArray(s))switch(r){case"wcb_speaker":c.include=s;break;case"wcb_speaker_group":c.speaker_group=s}var d=Object(v.pickBy)(c,function(e){return!Object(v.isUndefined)(e)});return{blockData:A,speakerPosts:i("postType","wcb_speaker",d),tracks:i("taxonomy","wcb_track",{per_page:100})}})(D)},"./assets/src/speakers/index.js":
 /*!**************************************!*\
   !*** ./assets/src/speakers/index.js ***!
   \**************************************/
-/*! exports provided: name, settings */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"name\", function() { return name; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return settings; });\n/* harmony import */ var _edit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./edit.js */ \"./assets/src/speakers/edit.js\");\n/**\n * WordPress dependencies\n */\nvar __ = wp.i18n.__;\n/**\n * Internal dependencies\n */\n\n\nvar name = 'wordcamp/speakers';\nvar settings = {\n  title: __('Speakers', 'wordcamporg'),\n  description: __('Add a list of speakers.', 'wordcamporg'),\n  icon: 'megaphone',\n  category: 'wordcamp',\n  edit: _edit_js__WEBPACK_IMPORTED_MODULE_0__[\"edit\"],\n  save: function save() {\n    return null;\n  }\n};\n\n//# sourceURL=webpack:///./assets/src/speakers/index.js?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/inspector-controls.js":
+/*! exports provided: name, LABEL, ICON, settings */function(e,t,n){"use strict";n.r(t),n.d(t,"name",function(){return s}),n.d(t,"LABEL",function(){return a}),n.d(t,"ICON",function(){return i}),n.d(t,"settings",function(){return l});var r=n(/*! ./edit.js */"./assets/src/speakers/edit.js"),o=wp.i18n.__,s="wordcamp/speakers",a=o("Speakers","wordcamporg"),i="megaphone",l={title:o("Speakers","wordcamporg"),description:o("Add a list of speakers.","wordcamporg"),icon:i,category:"wordcamp",supports:{align:["wide","full"]},edit:r.edit,save:function(){return null}}},"./assets/src/speakers/inspector-controls.js":
 /*!***************************************************!*\
   !*** ./assets/src/speakers/inspector-controls.js ***!
   \***************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var _shared_avatar_size__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../shared/avatar-size */ \"./assets/src/shared/avatar-size/index.js\");\n/* harmony import */ var _shared_image_alignment__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../shared/image-alignment */ \"./assets/src/shared/image-alignment/index.js\");\n\n\n\n\n\n\n\n/**\n * WordPress dependencies\n */\nvar _wp$components = wp.components,\n    PanelBody = _wp$components.PanelBody,\n    PanelRow = _wp$components.PanelRow,\n    RangeControl = _wp$components.RangeControl,\n    SelectControl = _wp$components.SelectControl,\n    ToggleControl = _wp$components.ToggleControl;\nvar InspectorControls = wp.editor.InspectorControls;\nvar _wp$element = wp.element,\n    Component = _wp$element.Component,\n    Fragment = _wp$element.Fragment;\nvar __ = wp.i18n.__;\n/**\n * Internal dependencies\n */\n\n\n\nvar data = window.WordCampBlocks.speakers || {};\n\nvar SpeakerInspectorControls =\n/*#__PURE__*/\nfunction (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(SpeakerInspectorControls, _Component);\n\n  function SpeakerInspectorControls() {\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, SpeakerInspectorControls);\n\n    return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(SpeakerInspectorControls).apply(this, arguments));\n  }\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(SpeakerInspectorControls, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          attributes = _this$props.attributes,\n          setAttributes = _this$props.setAttributes;\n      var layout = attributes.layout,\n          grid_columns = attributes.grid_columns,\n          show_avatars = attributes.show_avatars,\n          avatar_size = attributes.avatar_size,\n          avatar_align = attributes.avatar_align,\n          content = attributes.content,\n          speaker_link = attributes.speaker_link,\n          show_session = attributes.show_session,\n          sort = attributes.sort;\n      var schema = data.schema,\n          options = data.options;\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(InspectorControls, null, 'grid' === layout && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelBody, {\n        title: __('Layout', 'wordcamporg'),\n        initialOpen: true\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(RangeControl, {\n        label: __('Grid Columns', 'wordcamporg'),\n        value: Number(grid_columns),\n        min: Number(schema['grid_columns'].minimum),\n        max: Number(schema['grid_columns'].maximum),\n        initialPosition: Number(schema['grid_columns'].default),\n        onChange: function onChange(value) {\n          return setAttributes({\n            grid_columns: value\n          });\n        }\n      }))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelBody, {\n        title: __('Avatar Settings', 'wordcamporg'),\n        initialOpen: true\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(ToggleControl, {\n        label: __('Show avatars', 'wordcamporg'),\n        checked: show_avatars,\n        onChange: function onChange(value) {\n          return setAttributes({\n            show_avatars: value\n          });\n        }\n      })), show_avatars && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(Fragment, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(_shared_avatar_size__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n        label: __('Size', 'wordcamporg'),\n        value: Number(avatar_size),\n        min: Number(schema['avatar_size'].minimum),\n        max: Number(schema['avatar_size'].maximum),\n        initialPosition: Number(schema['avatar_size'].default),\n        onChange: function onChange(value) {\n          return setAttributes({\n            avatar_size: value\n          });\n        }\n      })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(_shared_image_alignment__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n        label: __('Alignment', 'wordcamporg'),\n        value: avatar_align,\n        onChange: function onChange(value) {\n          return setAttributes({\n            avatar_align: value\n          });\n        }\n      })))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelBody, {\n        title: __('Content Settings', 'wordcamporg'),\n        initialOpen: false\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(SelectControl, {\n        label: __('Biography Length', 'wordcamporg'),\n        value: content,\n        options: options.content,\n        onChange: function onChange(value) {\n          return setAttributes({\n            content: value\n          });\n        }\n      })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(ToggleControl, {\n        label: __('Speaker Link', 'wordcamporg'),\n        help: __(\"Link to a speaker's biography page\", 'wordcamporg'),\n        checked: speaker_link,\n        onChange: function onChange(value) {\n          return setAttributes({\n            speaker_link: value\n          });\n        }\n      })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(ToggleControl, {\n        label: __('Session Information', 'wordcamporg'),\n        help: __(\"Show speaker's session name, time, and track\", 'wordcamporg'),\n        checked: show_session,\n        onChange: function onChange(value) {\n          return setAttributes({\n            show_session: value\n          });\n        }\n      }))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelBody, {\n        title: __('Sorting & Filtering', 'wordcamporg'),\n        initialOpen: false\n      }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(PanelRow, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(SelectControl, {\n        label: __('Sort by', 'wordcamporg'),\n        value: sort,\n        options: options.sort,\n        onChange: function onChange(value) {\n          return setAttributes({\n            sort: value\n          });\n        }\n      }))));\n    }\n  }]);\n\n  return SpeakerInspectorControls;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SpeakerInspectorControls);\n\n//# sourceURL=webpack:///./assets/src/speakers/inspector-controls.js?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/speakers-select.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=n(/*! ../shared/avatar */"./assets/src/shared/avatar/index.js"),h=n(/*! ../shared/image-alignment */"./assets/src/shared/image-alignment/index.js"),b=n(/*! ../shared/grid-layout/inspector-control */"./assets/src/shared/grid-layout/inspector-control.js"),g=wp.components,v=g.PanelBody,y=g.PanelRow,E=g.SelectControl,w=g.ToggleControl,j=wp.editor.InspectorControls,O=wp.element,_=O.Component,C=O.Fragment,k=wp.i18n.__,x={grid_columns:{default:2,minimum:2,maximum:4},avatar_size:{default:150,minimum:25,maximum:600}},S={align_image:{},content:{},sort:{}},A=function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=e.blockData,o=t.show_avatars,s=t.avatar_size,a=t.avatar_align,i=t.content,l=t.show_session,u=t.sort,c=r.schema,d=void 0===c?x:c,p=r.options,g=void 0===p?S:p;return Object(m.createElement)(j,null,Object(m.createElement)(b.default,this.props),Object(m.createElement)(v,{title:k("Avatar Settings","wordcamporg"),initialOpen:!0},Object(m.createElement)(y,null,Object(m.createElement)(w,{label:k("Show avatars","wordcamporg"),checked:o,onChange:function(e){return n({show_avatars:e})}})),o&&Object(m.createElement)(C,null,Object(m.createElement)(y,null,Object(m.createElement)(f.AvatarSizeControl,{label:k("Size","wordcamporg"),value:Number(s),initialPosition:Number(d.avatar_size.default),onChange:function(e){return n({avatar_size:e})},rangeProps:{min:Number(d.avatar_size.minimum),max:Number(d.avatar_size.maximum)}})),Object(m.createElement)(y,null,Object(m.createElement)(h.default,{label:k("Alignment","wordcamporg"),value:a,onChange:function(e){return n({avatar_align:e})},alignOptions:g.align_image})))),Object(m.createElement)(v,{title:k("Content Settings","wordcamporg"),initialOpen:!1},Object(m.createElement)(y,null,Object(m.createElement)(E,{label:k("Biography Length","wordcamporg"),value:i,options:g.content,onChange:function(e){return n({content:e})}})),Object(m.createElement)(y,null,Object(m.createElement)(w,{label:k("Session Information","wordcamporg"),help:k("Show speaker's session name, time, and track","wordcamporg"),checked:l,onChange:function(e){return n({show_session:e})}}))),Object(m.createElement)(v,{title:k("Sorting & Filtering","wordcamporg"),initialOpen:!1},Object(m.createElement)(y,null,Object(m.createElement)(E,{label:k("Sort by","wordcamporg"),value:u,options:g.sort,onChange:function(e){return n({sort:e})}}))))}}]),t}(_);t.default=A},"./assets/src/speakers/speakers-select.js":
 /*!************************************************!*\
   !*** ./assets/src/speakers/speakers-select.js ***!
   \************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _shared_avatar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../shared/avatar */ \"./assets/src/shared/avatar/index.js\");\n/* harmony import */ var _shared_versatile_select__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../shared/versatile-select */ \"./assets/src/shared/versatile-select/index.js\");\n\n\n\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\nvar Dashicon = wp.components.Dashicon;\nvar withSelect = wp.data.withSelect;\nvar Component = wp.element.Component;\nvar decodeEntities = wp.htmlEntities.decodeEntities;\nvar __ = wp.i18n.__;\n/**\n * Internal dependencies\n */\n\n\n\n\nvar SpeakersSelect =\n/*#__PURE__*/\nfunction (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(SpeakersSelect, _Component);\n\n  function SpeakersSelect(props) {\n    var _this;\n\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SpeakersSelect);\n\n    _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4___default()(SpeakersSelect).call(this, props));\n    _this.optionDisabled = _this.optionDisabled.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this)));\n    _this.render = _this.render.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this)));\n    return _this;\n  }\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(SpeakersSelect, [{\n    key: \"optionDisabled\",\n    value: function optionDisabled(option, selected) {\n      var mode = this.props.attributes.mode;\n      var chosen;\n\n      if (Array.isArray(selected) && selected.length) {\n        chosen = selected[0].type;\n      }\n\n      if ('specific_terms' === mode && 'post' === option.type) {\n        return true;\n      }\n\n      if ('specific_posts' === mode && 'term' === option.type) {\n        return true;\n      }\n\n      return chosen && chosen !== option.type;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          label = _this$props.label,\n          attributes = _this$props.attributes,\n          setAttributes = _this$props.setAttributes,\n          selectOptions = _this$props.selectOptions;\n      var mode = attributes.mode,\n          post_ids = attributes.post_ids,\n          term_ids = attributes.term_ids;\n      var currentValue, ids;\n\n      switch (mode) {\n        case 'specific_posts':\n          ids = post_ids;\n          break;\n\n        case 'specific_terms':\n          ids = term_ids;\n          break;\n      }\n\n      if (ids) {\n        currentValue = Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"filter\"])(selectOptions[0].options, function (o) {\n          return Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"includes\"])(ids, o.value);\n        });\n      }\n\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(_shared_versatile_select__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({\n        label: label,\n        value: currentValue,\n        options: selectOptions,\n        isOptionDisabled: this.optionDisabled,\n        formatGroupLabel: function formatGroupLabel(groupData) {\n          return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"span\", {\n            className: 'wordcamp-speakers-select-option-group-label'\n          }, groupData.label);\n        },\n        formatOptionLabel: function formatOptionLabel(optionData) {\n          return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"div\", {\n            className: 'wordcamp-speakers-select-option'\n          }, _this2.constructor.optionImage(optionData), _this2.constructor.optionLabel(optionData));\n        },\n        onChange: function onChange(selectedOptions) {\n          var value = Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(selectedOptions, 'value');\n\n          if (!value.length) {\n            setAttributes({\n              mode: '',\n              post_ids: [],\n              term_ids: []\n            });\n          } else {\n            var chosen = selectedOptions[0].type;\n\n            switch (chosen) {\n              case 'post':\n                setAttributes({\n                  mode: 'specific_posts',\n                  post_ids: value\n                });\n                break;\n\n              case 'term':\n                setAttributes({\n                  mode: 'specific_terms',\n                  term_ids: value\n                });\n                break;\n            }\n          }\n        }\n      }, this.props));\n    }\n  }], [{\n    key: \"optionImage\",\n    value: function optionImage(optionData) {\n      var type = optionData.type;\n      var image;\n\n      switch (type) {\n        case 'post':\n          image = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(_shared_avatar__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n            className: 'wordcamp-speakers-select-option-avatar',\n            name: optionData.label,\n            size: 24,\n            url: optionData.avatar\n          });\n          break;\n\n        case 'term':\n          image = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"div\", {\n            className: 'wordcamp-speakers-select-option-icon-container'\n          }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(Dashicon, {\n            className: 'wordcamp-speakers-select-option-icon',\n            icon: 'megaphone',\n            size: 16\n          }));\n          break;\n      }\n\n      return image;\n    }\n  }, {\n    key: \"optionLabel\",\n    value: function optionLabel(optionData) {\n      var type = optionData.type;\n      var label;\n\n      switch (type) {\n        case 'post':\n          label = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"span\", {\n            className: 'wordcamp-speakers-select-option-label'\n          }, optionData.label);\n          break;\n\n        case 'term':\n          label = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"span\", {\n            className: 'wordcamp-speakers-select-option-label'\n          }, optionData.label, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__[\"createElement\"])(\"span\", {\n            className: 'wordcamp-speakers-select-option-label-term-count'\n          }, optionData.count));\n          break;\n      }\n\n      return label;\n    }\n  }]);\n\n  return SpeakersSelect;\n}(Component);\n\nvar optionsSelect = function optionsSelect(select, props) {\n  var mode = props.attributes.mode;\n\n  var _select = select('core'),\n      getEntityRecords = _select.getEntityRecords;\n\n  var options = [];\n\n  if (!mode || 'specific_terms' === mode) {\n    var terms = getEntityRecords('taxonomy', 'wcb_speaker_group', {\n      orderby: 'name',\n      order: 'asc',\n      per_page: 100\n    });\n    options.push({\n      label: __('Groups', 'wordcamporg'),\n      options: Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(terms || [], function (term) {\n        return {\n          label: decodeEntities(term.name) || __('(Untitled)', 'wordcamporg'),\n          value: term.id,\n          type: 'term',\n          count: term.count\n        };\n      })\n    });\n  }\n\n  if (!mode || 'specific_posts' === mode) {\n    var posts = getEntityRecords('postType', 'wcb_speaker', {\n      orderby: 'title',\n      order: 'asc',\n      per_page: 100,\n      _embed: true\n    });\n    options.push({\n      label: __('Speakers', 'wordcamporg'),\n      options: Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"map\"])(posts || [], function (post) {\n        return {\n          label: decodeEntities(post.title.rendered.trim()) || __('(Untitled)', 'wordcamporg'),\n          value: post.id,\n          type: 'post',\n          avatar: post['avatar_urls']['24']\n        };\n      })\n    });\n  }\n\n  return {\n    selectOptions: options\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (withSelect(optionsSelect)(SpeakersSelect));\n\n//# sourceURL=webpack:///./assets/src/speakers/speakers-select.js?");
-
-/***/ }),
-
-/***/ "./assets/src/speakers/toolbar.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @babel/runtime/helpers/assertThisInitialized */"./node_modules/@babel/runtime/helpers/assertThisInitialized.js"),b=n.n(h),g=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),v=n(/*! lodash */"lodash"),y=n(/*! ../shared/avatar */"./assets/src/shared/avatar/index.js"),E=n(/*! ../shared/item-select */"./assets/src/shared/item-select/index.js"),w=wp.components.Dashicon,j=wp.element.Component,O=wp.i18n.__,_=function(e){function t(e){var n;return a()(this,t),(n=c()(this,p()(t).call(this,e))).state={wcb_speaker:[],wcb_speaker_group:[],loading:!0},n.buildSelectOptions=n.buildSelectOptions.bind(b()(b()(n))),n.fetchSelectOptions(e),n}return f()(t,e),l()(t,[{key:"fetchSelectOptions",value:function(e){var t=this,n=e.allSpeakerPosts,r=e.allSpeakerTerms,o=n.then(function(e){var n=e.map(function(e){return{label:e.title.rendered.trim()||O("(Untitled)","wordcamporg"),value:e.id,type:"wcb_speaker",avatar:e.avatar_urls[24]}});t.setState({wcb_speaker:n})}),s=r.then(function(e){var n=e.map(function(e){return{label:e.name||O("(Untitled)","wordcamporg"),value:e.id,type:"wcb_speaker_group",count:e.count}});t.setState({wcb_speaker_group:n})});Promise.all([o,s]).then(function(){t.setState({loading:!1})})}},{key:"buildSelectOptions",value:function(e){var t=Object.getOwnPropertyDescriptors,n=[],r={wcb_speaker:O("Speakers","wordcamporg"),wcb_speaker_group:O("Groups","wordcamporg")};for(var o in t(this.state))e&&o!==e||!this.state[o].length||n.push({label:r[o],options:this.state[o]});return n}},{key:"render",value:function(){var e=this.props,t=e.label,n=e.icon,r=e.attributes,s=e.setAttributes,a=r.mode,i=r.item_ids,l=this.buildSelectOptions(a),u=[];a&&i.length&&(u=Object(v.get)(l,"[0].options",[]).filter(function(e){return Object(v.includes)(i,e.value)}));return Object(g.createElement)(E.default,{className:"wordcamp-speakers-select",label:t,value:u,buildSelectOptions:this.buildSelectOptions,onChange:function(e){return s(e)},mode:a,selectProps:{isLoading:this.state.loading,formatGroupLabel:function(e){return Object(g.createElement)("span",{className:"wordcamp-item-select-option-group-label"},e.label)},formatOptionLabel:function(e){return Object(g.createElement)(C,o()({icon:n},e))}}})}}]),t}(j);function C(e){var t,n,r=e.type,o=e.icon,s=e.label,a=void 0===s?"":s,i=e.avatar,l=void 0===i?"":i,u=e.count,c=void 0===u?0:u;switch(r){case"wcb_speaker":t=Object(g.createElement)(y.AvatarImage,{className:"wordcamp-item-select-option-avatar",name:a,size:24,url:l}),n=Object(g.createElement)("span",{className:"wordcamp-item-select-option-label"},a);break;case"wcb_speaker_group":t=Object(g.createElement)("div",{className:"wordcamp-item-select-option-icon-container"},Object(g.createElement)(w,{className:"wordcamp-item-select-option-icon",icon:o,size:16})),n=Object(g.createElement)("span",{className:"wordcamp-item-select-option-label"},a,Object(g.createElement)("span",{className:"wordcamp-item-select-option-label-term-count"},c))}return Object(g.createElement)("div",{className:"wordcamp-item-select-option"},t,n)}t.default=_},"./assets/src/speakers/toolbar.js":
 /*!****************************************!*\
   !*** ./assets/src/speakers/toolbar.js ***!
   \****************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/element */ \"./node_modules/@wordpress/element/build-module/index.js\");\n\n\n\n\n\n\n\n/**\n * WordPress dependencies\n */\nvar Toolbar = wp.components.Toolbar;\nvar BlockControls = wp.editor.BlockControls;\nvar Component = wp.element.Component;\nvar data = window.WordCampBlocks.speakers || {};\n\nvar SpeakersToolbar =\n/*#__PURE__*/\nfunction (_Component) {\n  _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(SpeakersToolbar, _Component);\n\n  function SpeakersToolbar() {\n    _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, SpeakersToolbar);\n\n    return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(SpeakersToolbar).apply(this, arguments));\n  }\n\n  _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(SpeakersToolbar, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          attributes = _this$props.attributes,\n          setAttributes = _this$props.setAttributes;\n      var layout = attributes.layout;\n      var options = data.options;\n      return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(BlockControls, null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__[\"createElement\"])(Toolbar, {\n        controls: options.layout.map(function (option) {\n          var icon = \"\".concat(option.value, \"-view\");\n          var isActive = layout === option.value;\n          return {\n            icon: icon,\n            title: option.label,\n            isActive: isActive,\n            onClick: function onClick() {\n              setAttributes({\n                layout: option.value\n              });\n            }\n          };\n        })\n      }));\n    }\n  }]);\n\n  return SpeakersToolbar;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SpeakersToolbar);\n\n//# sourceURL=webpack:///./assets/src/speakers/toolbar.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/arrayWithHoles.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),p=n.n(d),m=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),f=wp.components.Toolbar,h=wp.editor.BlockControls,b=function(e){function t(){return o()(this,t),l()(this,c()(t).apply(this,arguments))}return p()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=e.blockData,o=t.layout,s=r.options.layout,a=(void 0===s?{}:s).map(function(e){var t="".concat(e.value,"-view"),r=o===e.value;return{icon:t,title:e.label,isActive:r,onClick:function(){n({layout:e.value})}}});return Object(m.createElement)(h,null,Object(m.createElement)(f,{controls:a}))}}]),t}(wp.element.Component);t.default=b},"./assets/src/sponsors/block-content.js":
+/*!**********************************************!*\
+  !*** ./assets/src/sponsors/block-content.js ***!
+  \**********************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! lodash */"lodash"),g=n(/*! classnames */"./node_modules/classnames/index.js"),v=n.n(g),y=n(/*! ../shared/featured-image */"./assets/src/shared/featured-image/index.js"),E=n(/*! ../shared/grid-layout/block-content */"./assets/src/shared/grid-layout/block-content.js"),w=n(/*! ../shared/block-content */"./assets/src/shared/block-content/index.js"),j=wp.element.Component,O=wp.escapeHtml.escapeAttribute,_=wp.i18n.__;function C(e){var t=e.sponsorPost,n=e.attributes,r=n.show_name,o=n.show_logo,s=n.content,a=n.featured_image_width,i=Object(b.get)(t,"_embedded.wp:featuredmedia[0].media_details.sizes",{}),l="full"===s?t.content.rendered.trim():t.excerpt.rendered.trim();return Object(h.createElement)("div",{className:"wordcamp-sponsor-details wordcamp-sponsor-details-"+O(t.slug)},(r||void 0===r)&&Object(h.createElement)(w.ItemTitle,{className:"wordcamp-sponsor-title",headingLevel:3,title:t.title.rendered.trim(),link:t.link}),(o||void 0===o)&&Object(h.createElement)(y.default,{className:"wordcamp-sponsor-featured-image wordcamp-sponsor-logo",wpMediaDetails:i,alt:t.title.rendered,width:a,imageLink:t.link}),"none"!==s&&Object(h.createElement)(w.ItemHTMLContent,{className:v()("wordcamp-sponsor-content"),content:l}),"full"===s&&Object(h.createElement)(w.ItemPermalink,{link:t.link,linkText:_("Visit sponsor page","wordcamporg")}))}var k=function(e){function t(e){var n;return a()(this,t),(n=c()(this,p()(t).call(this,e))).state={selectedPosts:[],sortBy:"name_asc"},n}return f()(t,e),l()(t,[{key:"setFeaturedImageURL",value:function(e,t){var n=this.sponsorImageUrl||{};n[e]=t,this.sponsorImageUrl=n;var r=this.props.setAttributes,o=this.sponsorImageUrl;r({sponsor_image_urls:encodeURIComponent(JSON.stringify(o))})}},{key:"componentWillReceiveProps",value:function(e){var t=e.selectedPosts,n=e.attributes,r=e.sponsorTermOrder,o=n.sort_by,s=t.map(function(e){return e.id}).sort(),a=this.state,i=a.selectedPosts,l=a.sortBy,u=i.map(function(e){return e.id}).sort();if(l!==o||t.length!==i.length||0!==Object(b.difference)(u,s).length){var c;switch(o){case"sponsor_level":if(!Array.isArray(r)||0===r.length)break;c=t.sort(function(e,t){return r.indexOf((e.sponsor_level||[])[0])-r.indexOf((t.sponsor_level||[])[0])});break;case"name_desc":c=t.sort(function(e,t){return e.title.rendered.trim()>t.title.rendered.trim()?-1:1});break;case"name_asc":default:c=t.sort(function(e,t){return e.title.rendered.trim()<t.title.rendered.trim()?-1:1})}this.setState({selectedPosts:c,sortBy:o})}}},{key:"render",value:function(){var e=this.props.attributes,t=this.state.selectedPosts;return Object(h.createElement)(E.default,o()({className:"wordcamp-sponsors-block"},this.props),t.map(function(t){return Object(h.createElement)(C,{key:t.id,sponsorPost:t,attributes:e})}))}}]),t}(j);t.default=k},"./assets/src/sponsors/block-controls.js":
+/*!***********************************************!*\
+  !*** ./assets/src/sponsors/block-controls.js ***!
+  \***********************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! lodash */"lodash"),g=n(/*! ../shared/block-controls */"./assets/src/shared/block-controls/index.js"),v=n(/*! ./block-content */"./assets/src/sponsors/block-content.js"),y=n(/*! ../shared/item-select */"./assets/src/shared/item-select/index.js"),E=n(/*! ./index */"./assets/src/sponsors/index.js"),w=wp.i18n.__,j=wp.components,O=j.Button,_=j.Placeholder;function C(e){return"post"===e.type?function(e){return Object(h.createElement)("span",null,e.label)}(e):function(e){return Object(h.createElement)("span",{className:"wordcamp-item-select-option-label"},e.label,Object(h.createElement)("span",{className:"wordcamp-item-select-option-label-term-count"},e.count))}(e)}var k=function(e){function t(e){var n;return a()(this,t),(n=c()(this,p()(t).call(this,e))).state={posts:[],terms:[],loading:!0,selectedPosts:[],sponsorTermOrder:[]},n.fetchSelectOptions(e),n}return f()(t,e),l()(t,[{key:"setSelectedPosts",value:function(){var e=this.state.fetchedPosts,t=this.props.attributes,n=t.post_ids,r=t.term_ids,o=t.mode,s=[];if(e&&e.length){var a=!0,i=!1,l=void 0;try{for(var u,c=e[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var d=u.value;if(d.hasOwnProperty("id"))switch(o){case"all":s.push(d);break;case"specific_posts":-1!==n.indexOf(d.id)&&s.push(d);break;case"specific_terms":Object(b.intersection)(r,d.sponsor_level||[]).length&&s.push(d)}}}catch(e){i=!0,l=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw l}}this.setState({selectedPosts:s})}}},{key:"fetchSelectOptions",value:function(e){var t=this,n=e.sponsorPosts,r=e.sponsorLevels,o=e.siteSettings,s=n.then(function(e){var n=e.map(function(e){return{label:e.title.rendered.trim()||w("(Untitled)","wordcamporg"),value:e.id,type:"post",featuredImageData:Object(b.get)(e,"_embedded.wp:featuredmedia[0].media_details","")}});t.setState({fetchedPosts:e}),t.setState({posts:n})}).catch(function(e){console.error("Error fetching data",e)}),a=r.then(function(e){var n=e.map(function(e){return{label:e.name.trim()||w("(Untitled)","wordcamporg"),value:e.id,type:"term",count:e.count}});t.setState({fetchedTerms:e}),t.setState({terms:n})}).catch(function(e){console.error("Error fetching data",e)}),i=o.then(function(e){var n=e.wcb_sponsor_level_order;t.setState({sponsorTermOrder:n})});Promise.all([s,a,i]).then(function(){t.setState({loading:!1}),setTimeout(function(){return t.setSelectedPosts()})})}},{key:"onChange",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.props.setAttributes,r=t.item_ids,o=t.mode;if(r&&o)switch(o){case"post":n({mode:"specific_posts",post_ids:r});break;case"term":n({mode:"specific_terms",term_ids:r})}else n({mode:"",post_ids:[],term_ids:[]});setTimeout(function(){return e.setSelectedPosts()})}},{key:"buildSelectOptions",value:function(){var e=this.state,t=e.posts,n=e.terms,r=[];return r.push({label:w("Sponsor Levels","wordcamporg"),options:n}),r.push({label:w("Sponsors","wordcamporg"),options:t}),r}},{key:"render",value:function(){var e=this,t=this.props,n=t.icon,r=t.attributes,s=t.setAttributes,a=t.sponsorPosts,i=r.mode,l=r.post_ids,u=r.term_ids,c=this.state,d=c.fetchedPosts,p=c.posts,m=c.terms,f=c.selectedPosts,j=c.sponsorTermOrder,k=Array.isArray(d)&&d.length;if(i&&!k)return Object(h.createElement)(g.PlaceholderNoContent,{label:E.LABEL,loading:function(){return!Array.isArray(a)}});var x=[];switch(i){case"all":break;case"specific_posts":x=p.filter(function(e){return Object(b.includes)(l,e.value)});break;case"specific_terms":x=m.filter(function(e){return Object(b.includes)(u,e.value)})}return Object(h.createElement)("div",null,Object(h.createElement)(v.default,o()({selectedPosts:f,sponsorTermOrder:j},this.props)),"all"!==i&&Object(h.createElement)(_,{icon:n,label:w("Sponsors","wordcamporg")},Object(h.createElement)("div",{className:""},Object(h.createElement)(O,{isDefault:!0,isLarge:!0,onClick:function(){s({mode:"all"}),setTimeout(function(){return e.setSelectedPosts()})}},w("List all sponsors","wordcamporg"))),Object(h.createElement)("div",{className:"wordcamp-block-edit-mode-option"},Object(h.createElement)(y.default,o()({buildSelectOptions:function(){return e.buildSelectOptions()},isLoading:this.state.loading,onChange:function(t){return e.onChange(t)},selectProps:{formatOptionLabel:function(e){return Object(h.createElement)(C,e)}},label:w("Or, choose specific sponsors or levels","wordcamporg"),value:x},this.props)))))}}]),t}(g.BlockControls);t.default=k},"./assets/src/sponsors/edit.js":
+/*!*************************************!*\
+  !*** ./assets/src/sponsors/edit.js ***!
+  \*************************************/
+/*! exports provided: edit */function(e,t,n){"use strict";n.r(t),n.d(t,"edit",function(){return C});var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! ./inspector-controls */"./assets/src/sponsors/inspector-controls.js"),g=n(/*! ./block-controls */"./assets/src/sponsors/block-controls.js"),v=n(/*! ../shared/grid-layout/toolbar */"./assets/src/shared/grid-layout/toolbar.js"),y=n(/*! ./index */"./assets/src/sponsors/index.js"),E=wp.element,w=E.Component,j=E.Fragment,O=wp.apiFetch,_=wp.url.addQueryArgs,C=function(e){function t(e){var n;return a()(this,t),(n=c()(this,p()(t).call(this,e))).fetchSponsors(),n}return f()(t,e),l()(t,[{key:"fetchSponsors",value:function(){var e={orderby:"title",order:"asc",per_page:100,_embed:!0},t={orderby:"id",order:"asc",per_page:100,_embed:!0};this.state={sponsorPosts:O({path:_("/wp/v2/sponsors",e)}),sponsorLevels:O({path:_("/wp/v2/sponsor_level",t)}),siteSettings:O({path:_("/wp/v2/settings",{})})}}},{key:"render",value:function(){var e=this.state,t=e.sponsorPosts,n=e.sponsorLevels,r=e.siteSettings,s=this.props.attributes.mode;return Object(h.createElement)(j,null,Object(h.createElement)(g.default,o()({icon:y.ICON,sponsorPosts:t,sponsorLevels:n,siteSettings:r},this.props)),Object(h.createElement)(j,null,Object(h.createElement)(b.default,o()({sponsorPosts:t,sponsorLevels:n},this.props)),s&&Object(h.createElement)(v.default,this.props)))}}]),t}(w)},"./assets/src/sponsors/index.js":
+/*!**************************************!*\
+  !*** ./assets/src/sponsors/index.js ***!
+  \**************************************/
+/*! exports provided: name, LABEL, ICON, settings */function(e,t,n){"use strict";n.r(t),n.d(t,"name",function(){return s}),n.d(t,"LABEL",function(){return a}),n.d(t,"ICON",function(){return i}),n.d(t,"settings",function(){return l});var r=n(/*! ./edit.js */"./assets/src/sponsors/edit.js"),o=wp.i18n.__,s="wordcamp/sponsors",a=o("Sponsors","wordcamporg"),i="heart",l={title:o("Sponsors","wordcamporg"),description:o("We wouldn't have WordCamp without their support.","wordcamporg"),icon:i,category:"wordcamp",supports:{align:["wide","full"]},edit:r.edit,save:function(){return null}}},"./assets/src/sponsors/inspector-controls.js":
+/*!***************************************************!*\
+  !*** ./assets/src/sponsors/inspector-controls.js ***!
+  \***************************************************/
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js"),o=n.n(r),s=n(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js"),a=n.n(s),i=n(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js"),l=n.n(i),u=n(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"),c=n.n(u),d=n(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js"),p=n.n(d),m=n(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js"),f=n.n(m),h=n(/*! @wordpress/element */"./node_modules/@wordpress/element/build-module/index.js"),b=n(/*! ../shared/grid-layout/inspector-control */"./assets/src/shared/grid-layout/inspector-control.js"),g=n(/*! ../shared/featured-image/inspector-control */"./assets/src/shared/featured-image/inspector-control.js"),v=wp.element.Component,y=wp.editor.InspectorControls,E=wp.components,w=E.PanelBody,j=E.PanelRow,O=E.ToggleControl,_=E.SelectControl,C=wp.i18n.__,k=function(e){function t(){return a()(this,t),c()(this,p()(t).apply(this,arguments))}return f()(t,e),l()(t,[{key:"render",value:function(){var e=[{label:C("Name (A to Z)","wordcamporg"),value:"name_asc"},{label:C("Name (Z to A)","wordcamporg"),value:"name_desc"},{label:C("Sponsor Level","wordcamporg"),value:"sponsor_level"}],t=[{label:C("Full","wordcamporg"),value:"full"},{label:C("Excerpt","wordcamporg"),value:"excerpt"},{label:C("None","wordcamporg"),value:"none"}],n=this.props,r=n.attributes,s=n.setAttributes,a=r.show_name,i=r.show_logo,l=r.sort_by,u=r.content;return Object(h.createElement)(y,null,Object(h.createElement)(b.default,this.props),Object(h.createElement)(w,{title:C("Content Settings","wordcamporg"),initialOpen:!0},Object(h.createElement)(j,null,Object(h.createElement)(O,{label:C("Name","wordcamporg"),help:C("Show or hide sponsor name","wordcamporg"),checked:void 0===a||a,onChange:function(e){return s({show_name:e})}})),Object(h.createElement)(j,null,Object(h.createElement)(O,{label:C("Logo","wordcamporg"),help:C("Show or hide sponsor logo","wordcamporg"),checked:void 0===i||i,onChange:function(e){return s({show_logo:e})}})),Object(h.createElement)(j,null,Object(h.createElement)(_,{label:C("Description","wordcamporg"),value:u,options:t,help:C("Length of sponsor description","wordcamporg"),onChange:function(e){return s({content:e})}})),Object(h.createElement)(j,null,Object(h.createElement)(_,{label:C("Sort by","wordcamporg"),options:e,value:l||"name_asc",onChange:function(e){return s({sort_by:e})},help:C("Configure sponsor levels from the Sponsor -> Order Sponsor Levels page.","wordcamporg")}))),Object(h.createElement)(g.default,o()({title:C("Logo size","wordcamporg"),help:C("Specify logo width, or select a predefined size.","wordcamporg"),selectLabel:C("Size","wordcamporg")},this.props)))}}]),t}(v);t.default=k},"./node_modules/@babel/runtime/helpers/arrayWithHoles.js":
 /*!***************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
   \***************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js":
+/*! no static exports found */function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
+/*!******************************************************************!*\
+  !*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
+  \******************************************************************/
+/*! no static exports found */function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},"./node_modules/@babel/runtime/helpers/assertThisInitialized.js":
 /*!**********************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
   \**********************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nmodule.exports = _assertThisInitialized;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js":
+/*! no static exports found */function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},"./node_modules/@babel/runtime/helpers/classCallCheck.js":
 /*!***************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
   \***************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nmodule.exports = _classCallCheck;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/createClass.js":
+/*! no static exports found */function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},"./node_modules/@babel/runtime/helpers/createClass.js":
 /*!************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
   \************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nmodule.exports = _createClass;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/createClass.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
+/*! no static exports found */function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},"./node_modules/@babel/runtime/helpers/defineProperty.js":
+/*!***************************************************************!*\
+  !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!
+  \***************************************************************/
+/*! no static exports found */function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},"./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
 /*!*******************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
   \*******************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _defineProperty; });\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread.js":
+/*! exports provided: default */function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.r(t),n.d(t,"default",function(){return r})},"./node_modules/@babel/runtime/helpers/esm/objectSpread.js":
 /*!*****************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/esm/objectSpread.js ***!
   \*****************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _objectSpread; });\n/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n    var ownKeys = Object.keys(source);\n\n    if (typeof Object.getOwnPropertySymbols === 'function') {\n      ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n      }));\n    }\n\n    ownKeys.forEach(function (key) {\n      Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]);\n    });\n  }\n\n  return target;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return o});var r=n(/*! ./defineProperty */"./node_modules/@babel/runtime/helpers/esm/defineProperty.js");function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){Object(r.default)(e,t,n[t])})}return e}},"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js":
 /*!****************************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js ***!
   \****************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _objectWithoutProperties; });\n/* harmony import */ var _objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = Object(_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(source, excluded);\n  var key, i;\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return o});var r=n(/*! ./objectWithoutPropertiesLoose */"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js");function o(e,t){if(null==e)return{};var n,o,s=Object(r.default)(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}},"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js":
 /*!*********************************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***!
   \*********************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _objectWithoutPropertiesLoose; });\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js":
+/*! exports provided: default */function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}n.r(t),n.d(t,"default",function(){return r})},"./node_modules/@babel/runtime/helpers/esm/typeof.js":
 /*!***********************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
   \***********************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _typeof; });\nfunction _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n    _typeof = function _typeof(obj) {\n      return _typeof2(obj);\n    };\n  } else {\n    _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n    };\n  }\n\n  return _typeof(obj);\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/extends.js":
+/*! exports provided: default */function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return(o="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":r(e)})(e)}n.r(t),n.d(t,"default",function(){return o})},"./node_modules/@babel/runtime/helpers/extends.js":
 /*!********************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/extends.js ***!
   \********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _extends() {\n  module.exports = _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/extends.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js":
+/*! no static exports found */function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},n.apply(this,arguments)}e.exports=n},"./node_modules/@babel/runtime/helpers/getPrototypeOf.js":
 /*!***************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
   \***************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _getPrototypeOf(o) {\n  module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/inherits.js":
+/*! no static exports found */function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},"./node_modules/@babel/runtime/helpers/inherits.js":
 /*!*********************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/inherits.js ***!
   \*********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ \"./node_modules/@babel/runtime/helpers/setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/inherits.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js":
+/*! no static exports found */function(e,t,n){var r=n(/*! ./setPrototypeOf */"./node_modules/@babel/runtime/helpers/setPrototypeOf.js");e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},"./node_modules/@babel/runtime/helpers/interopRequireDefault.js":
 /*!**********************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
   \**********************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nmodule.exports = _interopRequireDefault;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
+/*! no static exports found */function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},"./node_modules/@babel/runtime/helpers/iterableToArray.js":
+/*!****************************************************************!*\
+  !*** ./node_modules/@babel/runtime/helpers/iterableToArray.js ***!
+  \****************************************************************/
+/*! no static exports found */function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},"./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
 /*!*********************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
   \*********************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _iterableToArrayLimit(arr, i) {\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/nonIterableRest.js":
+/*! no static exports found */function(e,t){e.exports=function(e,t){var n=[],r=!0,o=!1,s=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,s=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return n}},"./node_modules/@babel/runtime/helpers/nonIterableRest.js":
 /*!****************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
   \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
-/*!************************************************************************!*\
-  !*** ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
-  \************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = objectWithoutPropertiesLoose(source, excluded);\n  var key, i;\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nmodule.exports = _objectWithoutProperties;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
-/*!*****************************************************************************!*\
-  !*** ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
-  \*****************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
+/*! no static exports found */function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},"./node_modules/@babel/runtime/helpers/nonIterableSpread.js":
+/*!******************************************************************!*\
+  !*** ./node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
+  \******************************************************************/
+/*! no static exports found */function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},"./node_modules/@babel/runtime/helpers/objectSpread.js":
+/*!*************************************************************!*\
+  !*** ./node_modules/@babel/runtime/helpers/objectSpread.js ***!
+  \*************************************************************/
+/*! no static exports found */function(e,t,n){var r=n(/*! ./defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js");e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){r(e,t,n[t])})}return e}},"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
 /*!**************************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
   \**************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var _typeof = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\");\n\nvar assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js":
+/*! no static exports found */function(e,t,n){var r=n(/*! ../helpers/typeof */"./node_modules/@babel/runtime/helpers/typeof.js"),o=n(/*! ./assertThisInitialized */"./node_modules/@babel/runtime/helpers/assertThisInitialized.js");e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?o(e):t}},"./node_modules/@babel/runtime/helpers/setPrototypeOf.js":
 /*!***************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
   \***************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _setPrototypeOf(o, p) {\n  module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/slicedToArray.js":
+/*! no static exports found */function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},"./node_modules/@babel/runtime/helpers/slicedToArray.js":
 /*!**************************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***!
   \**************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles */ \"./node_modules/@babel/runtime/helpers/arrayWithHoles.js\");\n\nvar iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit */ \"./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js\");\n\nvar nonIterableRest = __webpack_require__(/*! ./nonIterableRest */ \"./node_modules/@babel/runtime/helpers/nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
+/*! no static exports found */function(e,t,n){var r=n(/*! ./arrayWithHoles */"./node_modules/@babel/runtime/helpers/arrayWithHoles.js"),o=n(/*! ./iterableToArrayLimit */"./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"),s=n(/*! ./nonIterableRest */"./node_modules/@babel/runtime/helpers/nonIterableRest.js");e.exports=function(e,t){return r(e)||o(e,t)||s()}},"./node_modules/@babel/runtime/helpers/toArray.js":
+/*!********************************************************!*\
+  !*** ./node_modules/@babel/runtime/helpers/toArray.js ***!
+  \********************************************************/
+/*! no static exports found */function(e,t,n){var r=n(/*! ./arrayWithHoles */"./node_modules/@babel/runtime/helpers/arrayWithHoles.js"),o=n(/*! ./iterableToArray */"./node_modules/@babel/runtime/helpers/iterableToArray.js"),s=n(/*! ./nonIterableRest */"./node_modules/@babel/runtime/helpers/nonIterableRest.js");e.exports=function(e){return r(e)||o(e)||s()}},"./node_modules/@babel/runtime/helpers/toConsumableArray.js":
+/*!******************************************************************!*\
+  !*** ./node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
+  \******************************************************************/
+/*! no static exports found */function(e,t,n){var r=n(/*! ./arrayWithoutHoles */"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js"),o=n(/*! ./iterableToArray */"./node_modules/@babel/runtime/helpers/iterableToArray.js"),s=n(/*! ./nonIterableSpread */"./node_modules/@babel/runtime/helpers/nonIterableSpread.js");e.exports=function(e){return r(e)||o(e)||s()}},"./node_modules/@babel/runtime/helpers/typeof.js":
 /*!*******************************************************!*\
   !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
   \*******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n    module.exports = _typeof = function _typeof(obj) {\n      return _typeof2(obj);\n    };\n  } else {\n    module.exports = _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n    };\n  }\n\n  return _typeof(obj);\n}\n\nmodule.exports = _typeof;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/typeof.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@emotion/hash/dist/hash.esm.js":
+/*! no static exports found */function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=r=function(e){return n(e)}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},r(t)}e.exports=r},"./node_modules/@emotion/hash/dist/hash.esm.js":
 /*!*****************************************************!*\
   !*** ./node_modules/@emotion/hash/dist/hash.esm.js ***!
   \*****************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* eslint-disable */\n// murmurhash2 via https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nfunction murmurhash2_32_gc(str) {\n  var l = str.length,\n      h = l ^ l,\n      i = 0,\n      k;\n\n  while (l >= 4) {\n    k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n    k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n    k ^= k >>> 24;\n    k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n    h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n    l -= 4;\n    ++i;\n  }\n\n  switch (l) {\n    case 3:\n      h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n    case 2:\n      h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n    case 1:\n      h ^= str.charCodeAt(i) & 0xff;\n      h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n  }\n\n  h ^= h >>> 13;\n  h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n  h ^= h >>> 15;\n  return (h >>> 0).toString(36);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (murmurhash2_32_gc);\n\n\n//# sourceURL=webpack:///./node_modules/@emotion/hash/dist/hash.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@emotion/memoize/dist/memoize.esm.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t),t.default=function(e){for(var t,n=e.length,r=n^n,o=0;n>=4;)t=1540483477*(65535&(t=255&e.charCodeAt(o)|(255&e.charCodeAt(++o))<<8|(255&e.charCodeAt(++o))<<16|(255&e.charCodeAt(++o))<<24))+((1540483477*(t>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(t=1540483477*(65535&(t^=t>>>24))+((1540483477*(t>>>16)&65535)<<16)),n-=4,++o;switch(n){case 3:r^=(255&e.charCodeAt(o+2))<<16;case 2:r^=(255&e.charCodeAt(o+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(o)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),((r^=r>>>15)>>>0).toString(36)}},"./node_modules/@emotion/memoize/dist/memoize.esm.js":
 /*!***********************************************************!*\
   !*** ./node_modules/@emotion/memoize/dist/memoize.esm.js ***!
   \***********************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\nfunction memoize(fn) {\n  var cache = {};\n  return function (arg) {\n    if (cache[arg] === undefined) cache[arg] = fn(arg);\n    return cache[arg];\n  };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (memoize);\n\n\n//# sourceURL=webpack:///./node_modules/@emotion/memoize/dist/memoize.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@emotion/stylis/dist/stylis.esm.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t),t.default=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}},"./node_modules/@emotion/stylis/dist/stylis.esm.js":
 /*!*********************************************************!*\
   !*** ./node_modules/@emotion/stylis/dist/stylis.esm.js ***!
   \*********************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\nfunction stylis_min (W) {\n  function M(d, c, e, h, a) {\n    for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n      g = e.charCodeAt(l);\n      l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n      if (0 === b + n + v + m) {\n        if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n          switch (g) {\n            case 32:\n            case 9:\n            case 59:\n            case 13:\n            case 10:\n              break;\n\n            default:\n              f += e.charAt(l);\n          }\n\n          g = 59;\n        }\n\n        switch (g) {\n          case 123:\n            f = f.trim();\n            q = f.charCodeAt(0);\n            k = 1;\n\n            for (t = ++l; l < B;) {\n              switch (g = e.charCodeAt(l)) {\n                case 123:\n                  k++;\n                  break;\n\n                case 125:\n                  k--;\n                  break;\n\n                case 47:\n                  switch (g = e.charCodeAt(l + 1)) {\n                    case 42:\n                    case 47:\n                      a: {\n                        for (u = l + 1; u < J; ++u) {\n                          switch (e.charCodeAt(u)) {\n                            case 47:\n                              if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n                                l = u + 1;\n                                break a;\n                              }\n\n                              break;\n\n                            case 10:\n                              if (47 === g) {\n                                l = u + 1;\n                                break a;\n                              }\n\n                          }\n                        }\n\n                        l = u;\n                      }\n\n                  }\n\n                  break;\n\n                case 91:\n                  g++;\n\n                case 40:\n                  g++;\n\n                case 34:\n                case 39:\n                  for (; l++ < J && e.charCodeAt(l) !== g;) {\n                  }\n\n              }\n\n              if (0 === k) break;\n              l++;\n            }\n\n            k = e.substring(t, l);\n            0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n            switch (q) {\n              case 64:\n                0 < r && (f = f.replace(N, ''));\n                g = f.charCodeAt(1);\n\n                switch (g) {\n                  case 100:\n                  case 109:\n                  case 115:\n                  case 45:\n                    r = c;\n                    break;\n\n                  default:\n                    r = O;\n                }\n\n                k = M(c, r, k, g, a + 1);\n                t = k.length;\n                0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n                if (0 < t) switch (g) {\n                  case 115:\n                    f = f.replace(da, ea);\n\n                  case 100:\n                  case 109:\n                  case 45:\n                    k = f + '{' + k + '}';\n                    break;\n\n                  case 107:\n                    f = f.replace(fa, '$1 $2');\n                    k = f + '{' + k + '}';\n                    k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n                    break;\n\n                  default:\n                    k = f + k, 112 === h && (k = (p += k, ''));\n                } else k = '';\n                break;\n\n              default:\n                k = M(c, X(c, f, I), k, h, a + 1);\n            }\n\n            F += k;\n            k = I = r = u = q = 0;\n            f = '';\n            g = e.charCodeAt(++l);\n            break;\n\n          case 125:\n          case 59:\n            f = (0 < r ? f.replace(N, '') : f).trim();\n            if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n              case 0:\n                break;\n\n              case 64:\n                if (105 === g || 99 === g) {\n                  G += f + e.charAt(l);\n                  break;\n                }\n\n              default:\n                58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n            }\n            I = r = u = q = 0;\n            f = '';\n            g = e.charCodeAt(++l);\n        }\n      }\n\n      switch (g) {\n        case 13:\n        case 10:\n          47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n          0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n          z = 1;\n          D++;\n          break;\n\n        case 59:\n        case 125:\n          if (0 === b + n + v + m) {\n            z++;\n            break;\n          }\n\n        default:\n          z++;\n          y = e.charAt(l);\n\n          switch (g) {\n            case 9:\n            case 32:\n              if (0 === n + m + b) switch (x) {\n                case 44:\n                case 58:\n                case 9:\n                case 32:\n                  y = '';\n                  break;\n\n                default:\n                  32 !== g && (y = ' ');\n              }\n              break;\n\n            case 0:\n              y = '\\\\0';\n              break;\n\n            case 12:\n              y = '\\\\f';\n              break;\n\n            case 11:\n              y = '\\\\v';\n              break;\n\n            case 38:\n              0 === n + b + m && (r = I = 1, y = '\\f' + y);\n              break;\n\n            case 108:\n              if (0 === n + b + m + E && 0 < u) switch (l - u) {\n                case 2:\n                  112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n                case 8:\n                  111 === K && (E = K);\n              }\n              break;\n\n            case 58:\n              0 === n + b + m && (u = l);\n              break;\n\n            case 44:\n              0 === b + v + n + m && (r = 1, y += '\\r');\n              break;\n\n            case 34:\n            case 39:\n              0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n              break;\n\n            case 91:\n              0 === n + b + v && m++;\n              break;\n\n            case 93:\n              0 === n + b + v && m--;\n              break;\n\n            case 41:\n              0 === n + b + m && v--;\n              break;\n\n            case 40:\n              if (0 === n + b + m) {\n                if (0 === q) switch (2 * x + 3 * K) {\n                  case 533:\n                    break;\n\n                  default:\n                    q = 1;\n                }\n                v++;\n              }\n\n              break;\n\n            case 64:\n              0 === b + v + n + m + u + k && (k = 1);\n              break;\n\n            case 42:\n            case 47:\n              if (!(0 < n + m + v)) switch (b) {\n                case 0:\n                  switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n                    case 235:\n                      b = 47;\n                      break;\n\n                    case 220:\n                      t = l, b = 42;\n                  }\n\n                  break;\n\n                case 42:\n                  47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n              }\n          }\n\n          0 === b && (f += y);\n      }\n\n      K = x;\n      x = g;\n      l++;\n    }\n\n    t = p.length;\n\n    if (0 < t) {\n      r = c;\n      if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n      p = r.join(',') + '{' + p + '}';\n\n      if (0 !== w * E) {\n        2 !== w || L(p, 2) || (E = 0);\n\n        switch (E) {\n          case 111:\n            p = p.replace(ha, ':-moz-$1') + p;\n            break;\n\n          case 112:\n            p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n        }\n\n        E = 0;\n      }\n    }\n\n    return G + p + F;\n  }\n\n  function X(d, c, e) {\n    var h = c.trim().split(ia);\n    c = h;\n    var a = h.length,\n        m = d.length;\n\n    switch (m) {\n      case 0:\n      case 1:\n        var b = 0;\n\n        for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n          c[b] = Z(d, c[b], e, m).trim();\n        }\n\n        break;\n\n      default:\n        var v = b = 0;\n\n        for (c = []; b < a; ++b) {\n          for (var n = 0; n < m; ++n) {\n            c[v++] = Z(d[n] + ' ', h[b], e, m).trim();\n          }\n        }\n\n    }\n\n    return c;\n  }\n\n  function Z(d, c, e) {\n    var h = c.charCodeAt(0);\n    33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n    switch (h) {\n      case 38:\n        return c.replace(F, '$1' + d.trim());\n\n      case 58:\n        return d.trim() + c.replace(F, '$1' + d.trim());\n\n      default:\n        if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n    }\n\n    return d + c;\n  }\n\n  function P(d, c, e, h) {\n    var a = d + ';',\n        m = 2 * c + 3 * e + 4 * h;\n\n    if (944 === m) {\n      d = a.indexOf(':', 9) + 1;\n      var b = a.substring(d, a.length - 1).trim();\n      b = a.substring(0, d).trim() + b + ';';\n      return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n    }\n\n    if (0 === w || 2 === w && !L(a, 1)) return a;\n\n    switch (m) {\n      case 1015:\n        return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n      case 951:\n        return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n      case 963:\n        return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n      case 1009:\n        if (100 !== a.charCodeAt(4)) break;\n\n      case 969:\n      case 942:\n        return '-webkit-' + a + a;\n\n      case 978:\n        return '-webkit-' + a + '-moz-' + a + a;\n\n      case 1019:\n      case 983:\n        return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n      case 883:\n        if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n        if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n        break;\n\n      case 932:\n        if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n          case 103:\n            return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n          case 115:\n            return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n          case 98:\n            return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n        }\n        return '-webkit-' + a + '-ms-' + a + a;\n\n      case 964:\n        return '-webkit-' + a + '-ms-flex-' + a + a;\n\n      case 1023:\n        if (99 !== a.charCodeAt(8)) break;\n        b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n        return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n      case 1005:\n        return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n      case 1e3:\n        b = a.substring(13).trim();\n        c = b.indexOf('-') + 1;\n\n        switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n          case 226:\n            b = a.replace(G, 'tb');\n            break;\n\n          case 232:\n            b = a.replace(G, 'tb-rl');\n            break;\n\n          case 220:\n            b = a.replace(G, 'lr');\n            break;\n\n          default:\n            return a;\n        }\n\n        return '-webkit-' + a + '-ms-' + b + a;\n\n      case 1017:\n        if (-1 === a.indexOf('sticky', 9)) break;\n\n      case 975:\n        c = (a = d).length - 10;\n        b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n        switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n          case 203:\n            if (111 > b.charCodeAt(8)) break;\n\n          case 115:\n            a = a.replace(b, '-webkit-' + b) + ';' + a;\n            break;\n\n          case 207:\n          case 102:\n            a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n        }\n\n        return a + ';';\n\n      case 938:\n        if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n          case 105:\n            return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n          case 115:\n            return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n          default:\n            return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n        }\n        break;\n\n      case 973:\n      case 989:\n        if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n      case 931:\n      case 953:\n        if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n        break;\n\n      case 962:\n        if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n    }\n\n    return a;\n  }\n\n  function L(d, c) {\n    var e = d.indexOf(1 === c ? ':' : '{'),\n        h = d.substring(0, 3 !== c ? e : 10);\n    e = d.substring(e + 1, d.length - 1);\n    return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n  }\n\n  function ea(d, c) {\n    var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n    return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n  }\n\n  function H(d, c, e, h, a, m, b, v, n, q) {\n    for (var g = 0, x = c, w; g < A; ++g) {\n      switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n        case void 0:\n        case !1:\n        case !0:\n        case null:\n          break;\n\n        default:\n          x = w;\n      }\n    }\n\n    if (x !== c) return x;\n  }\n\n  function T(d) {\n    switch (d) {\n      case void 0:\n      case null:\n        A = S.length = 0;\n        break;\n\n      default:\n        switch (d.constructor) {\n          case Array:\n            for (var c = 0, e = d.length; c < e; ++c) {\n              T(d[c]);\n            }\n\n            break;\n\n          case Function:\n            S[A++] = d;\n            break;\n\n          case Boolean:\n            Y = !!d | 0;\n        }\n\n    }\n\n    return T;\n  }\n\n  function U(d) {\n    d = d.prefix;\n    void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n    return U;\n  }\n\n  function B(d, c) {\n    var e = d;\n    33 > e.charCodeAt(0) && (e = e.trim());\n    V = e;\n    e = [V];\n\n    if (0 < A) {\n      var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n      void 0 !== h && 'string' === typeof h && (c = h);\n    }\n\n    var a = M(O, e, c, 0, 0);\n    0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n    V = '';\n    E = 0;\n    z = D = 1;\n    return a;\n  }\n\n  var ca = /^\\0+/g,\n      N = /[\\0\\r\\f]/g,\n      aa = /: */g,\n      ka = /zoo|gra/,\n      ma = /([,: ])(transform)/g,\n      ia = /,\\r+?/g,\n      F = /([\\t\\r\\n ])*\\f?&/g,\n      fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n      Q = /::(place)/g,\n      ha = /:(read-only)/g,\n      G = /[svh]\\w+-[tblr]{2}/,\n      da = /\\(\\s*(.*)\\s*\\)/g,\n      oa = /([\\s\\S]*?);/g,\n      ba = /-self|flex-/g,\n      na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n      la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n      ja = /([^-])(image-set\\()/,\n      z = 1,\n      D = 1,\n      E = 0,\n      w = 1,\n      O = [],\n      S = [],\n      A = 0,\n      R = null,\n      Y = 0,\n      V = '';\n  B.use = T;\n  B.set = U;\n  void 0 !== W && U(W);\n  return B;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (stylis_min);\n\n\n//# sourceURL=webpack:///./node_modules/@emotion/stylis/dist/stylis.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@emotion/unitless/dist/unitless.esm.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t),t.default=function(e){function t(e,t,r){var o=t.trim().split(f);t=o;var s=o.length,a=e.length;switch(a){case 0:case 1:var i=0;for(e=0===a?"":e[0]+" ";i<s;++i)t[i]=n(e,t[i],r).trim();break;default:var l=i=0;for(t=[];i<s;++i)for(var u=0;u<a;++u)t[l++]=n(e[u]+" ",o[i],r).trim()}return t}function n(e,t,n){var r=t.charCodeAt(0);switch(33>r&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(h,"$1"+e.trim());case 58:return e.trim()+t.replace(h,"$1"+e.trim());default:if(0<1*n&&0<t.indexOf("\f"))return t.replace(h,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function r(e,t,n,s){var a=e+";",i=2*t+3*n+4*s;if(944===i){e=a.indexOf(":",9)+1;var l=a.substring(e,a.length-1).trim();return l=a.substring(0,e).trim()+l+";",1===A||2===A&&o(l,1)?"-webkit-"+l+l:l}if(0===A||2===A&&!o(a,1))return a;switch(i){case 1015:return 97===a.charCodeAt(10)?"-webkit-"+a+a:a;case 951:return 116===a.charCodeAt(3)?"-webkit-"+a+a:a;case 963:return 110===a.charCodeAt(5)?"-webkit-"+a+a:a;case 1009:if(100!==a.charCodeAt(4))break;case 969:case 942:return"-webkit-"+a+a;case 978:return"-webkit-"+a+"-moz-"+a+a;case 1019:case 983:return"-webkit-"+a+"-moz-"+a+"-ms-"+a+a;case 883:if(45===a.charCodeAt(8))return"-webkit-"+a+a;if(0<a.indexOf("image-set(",11))return a.replace(C,"$1-webkit-$2")+a;break;case 932:if(45===a.charCodeAt(4))switch(a.charCodeAt(5)){case 103:return"-webkit-box-"+a.replace("-grow","")+"-webkit-"+a+"-ms-"+a.replace("grow","positive")+a;case 115:return"-webkit-"+a+"-ms-"+a.replace("shrink","negative")+a;case 98:return"-webkit-"+a+"-ms-"+a.replace("basis","preferred-size")+a}return"-webkit-"+a+"-ms-"+a+a;case 964:return"-webkit-"+a+"-ms-flex-"+a+a;case 1023:if(99!==a.charCodeAt(8))break;return"-webkit-box-pack"+(l=a.substring(a.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+a+"-ms-flex-pack"+l+a;case 1005:return p.test(a)?a.replace(d,":-webkit-")+a.replace(d,":-moz-")+a:a;case 1e3:switch(t=(l=a.substring(13).trim()).indexOf("-")+1,l.charCodeAt(0)+l.charCodeAt(t)){case 226:l=a.replace(y,"tb");break;case 232:l=a.replace(y,"tb-rl");break;case 220:l=a.replace(y,"lr");break;default:return a}return"-webkit-"+a+"-ms-"+l+a;case 1017:if(-1===a.indexOf("sticky",9))break;case 975:switch(t=(a=e).length-10,i=(l=(33===a.charCodeAt(t)?a.substring(0,t):a).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(111>l.charCodeAt(8))break;case 115:a=a.replace(l,"-webkit-"+l)+";"+a;break;case 207:case 102:a=a.replace(l,"-webkit-"+(102<i?"inline-":"")+"box")+";"+a.replace(l,"-webkit-"+l)+";"+a.replace(l,"-ms-"+l+"box")+";"+a}return a+";";case 938:if(45===a.charCodeAt(5))switch(a.charCodeAt(6)){case 105:return"-webkit-"+a+"-webkit-box-"+(l=a.replace("-items",""))+"-ms-flex-"+l+a;case 115:return"-webkit-"+a+"-ms-flex-item-"+a.replace(j,"")+a;default:return"-webkit-"+a+"-ms-flex-line-pack"+a.replace("align-content","").replace(j,"")+a}break;case 973:case 989:if(45!==a.charCodeAt(3)||122===a.charCodeAt(4))break;case 931:case 953:if(!0===_.test(e))return 115===(l=e.substring(e.indexOf(":")+1)).charCodeAt(0)?r(e.replace("stretch","fill-available"),t,n,s).replace(":fill-available",":stretch"):a.replace(l,"-webkit-"+l)+a.replace(l,"-moz-"+l.replace("fill-",""))+a;break;case 962:if(a="-webkit-"+a+(102===a.charCodeAt(5)?"-ms-"+a:"")+a,211===n+s&&105===a.charCodeAt(13)&&0<a.indexOf("transform",10))return a.substring(0,a.indexOf(";",27)+1).replace(m,"$1-webkit-$2")+a}return a}function o(e,t){var n=e.indexOf(1===t?":":"{"),r=e.substring(0,3!==t?n:10);return n=e.substring(n+1,e.length-1),F(2!==t?r:r.replace(O,"$1"),n,t)}function s(e,t){var n=r(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+";"?n.replace(w," or ($1)").substring(4):"("+t+")"}function a(e,t,n,r,o,s,a,i,u,c){for(var d,p=0,m=t;p<D;++p)switch(d=N[p].call(l,e,m,n,r,o,s,a,i,u,c)){case void 0:case!1:case!0:case null:break;default:m=d}if(m!==t)return m}function i(e){return void 0!==(e=e.prefix)&&(F=null,e?"function"!=typeof e?A=1:(A=2,F=e):A=0),i}function l(e,n){var i=e;if(33>i.charCodeAt(0)&&(i=i.trim()),i=[i],0<D){var l=a(-1,n,i,i,x,k,0,0,0,0);void 0!==l&&"string"==typeof l&&(n=l)}var d=function e(n,i,l,d,p){for(var m,f,h,y,w,j=0,O=0,_=0,C=0,N=0,F=0,I=h=m=0,L=0,M=0,R=0,z=0,V=l.length,B=V-1,U="",W="",H="",G="";L<V;){if(f=l.charCodeAt(L),L===B&&0!==O+C+_+j&&(0!==O&&(f=47===O?10:47),C=_=j=0,V++,B++),0===O+C+_+j){if(L===B&&(0<M&&(U=U.replace(c,"")),0<U.trim().length)){switch(f){case 32:case 9:case 59:case 13:case 10:break;default:U+=l.charAt(L)}f=59}switch(f){case 123:for(m=(U=U.trim()).charCodeAt(0),h=1,z=++L;L<V;){switch(f=l.charCodeAt(L)){case 123:h++;break;case 125:h--;break;case 47:switch(f=l.charCodeAt(L+1)){case 42:case 47:e:{for(I=L+1;I<B;++I)switch(l.charCodeAt(I)){case 47:if(42===f&&42===l.charCodeAt(I-1)&&L+2!==I){L=I+1;break e}break;case 10:if(47===f){L=I+1;break e}}L=I}}break;case 91:f++;case 40:f++;case 34:case 39:for(;L++<B&&l.charCodeAt(L)!==f;);}if(0===h)break;L++}switch(h=l.substring(z,L),0===m&&(m=(U=U.replace(u,"").trim()).charCodeAt(0)),m){case 64:switch(0<M&&(U=U.replace(c,"")),f=U.charCodeAt(1)){case 100:case 109:case 115:case 45:M=i;break;default:M=P}if(z=(h=e(i,M,h,f,p+1)).length,0<D&&(w=a(3,h,M=t(P,U,R),i,x,k,z,f,p,d),U=M.join(""),void 0!==w&&0===(z=(h=w.trim()).length)&&(f=0,h="")),0<z)switch(f){case 115:U=U.replace(E,s);case 100:case 109:case 45:h=U+"{"+h+"}";break;case 107:h=(U=U.replace(b,"$1 $2"))+"{"+h+"}",h=1===A||2===A&&o("@"+h,3)?"@-webkit-"+h+"@"+h:"@"+h;break;default:h=U+h,112===d&&(W+=h,h="")}else h="";break;default:h=e(i,t(i,U,R),h,d,p+1)}H+=h,h=R=M=I=m=0,U="",f=l.charCodeAt(++L);break;case 125:case 59:if(1<(z=(U=(0<M?U.replace(c,""):U).trim()).length))switch(0===I&&(m=U.charCodeAt(0),45===m||96<m&&123>m)&&(z=(U=U.replace(" ",":")).length),0<D&&void 0!==(w=a(1,U,i,n,x,k,W.length,d,p,d))&&0===(z=(U=w.trim()).length)&&(U="\0\0"),m=U.charCodeAt(0),f=U.charCodeAt(1),m){case 0:break;case 64:if(105===f||99===f){G+=U+l.charAt(L);break}default:58!==U.charCodeAt(z-1)&&(W+=r(U,m,f,U.charCodeAt(2)))}R=M=I=m=0,U="",f=l.charCodeAt(++L)}}switch(f){case 13:case 10:47===O?O=0:0===1+m&&107!==d&&0<U.length&&(M=1,U+="\0"),0<D*T&&a(0,U,i,n,x,k,W.length,d,p,d),k=1,x++;break;case 59:case 125:if(0===O+C+_+j){k++;break}default:switch(k++,y=l.charAt(L),f){case 9:case 32:if(0===C+j+O)switch(N){case 44:case 58:case 9:case 32:y="";break;default:32!==f&&(y=" ")}break;case 0:y="\\0";break;case 12:y="\\f";break;case 11:y="\\v";break;case 38:0===C+O+j&&(M=R=1,y="\f"+y);break;case 108:if(0===C+O+j+S&&0<I)switch(L-I){case 2:112===N&&58===l.charCodeAt(L-3)&&(S=N);case 8:111===F&&(S=F)}break;case 58:0===C+O+j&&(I=L);break;case 44:0===O+_+C+j&&(M=1,y+="\r");break;case 34:case 39:0===O&&(C=C===f?0:0===C?f:C);break;case 91:0===C+O+_&&j++;break;case 93:0===C+O+_&&j--;break;case 41:0===C+O+j&&_--;break;case 40:if(0===C+O+j){if(0===m)switch(2*N+3*F){case 533:break;default:m=1}_++}break;case 64:0===O+_+C+j+I+h&&(h=1);break;case 42:case 47:if(!(0<C+j+_))switch(O){case 0:switch(2*f+3*l.charCodeAt(L+1)){case 235:O=47;break;case 220:z=L,O=42}break;case 42:47===f&&42===N&&z+2!==L&&(33===l.charCodeAt(z+2)&&(W+=l.substring(z,L+1)),y="",O=0)}}0===O&&(U+=y)}F=N,N=f,L++}if(0<(z=W.length)){if(M=i,0<D&&void 0!==(w=a(2,W,M,n,x,k,z,d,p,d))&&0===(W=w).length)return G+W+H;if(W=M.join(",")+"{"+W+"}",0!=A*S){switch(2!==A||o(W,2)||(S=0),S){case 111:W=W.replace(v,":-moz-$1")+W;break;case 112:W=W.replace(g,"::-webkit-input-$1")+W.replace(g,"::-moz-$1")+W.replace(g,":-ms-input-$1")+W}S=0}}return G+W+H}(P,i,n,0,0);return 0<D&&void 0!==(l=a(-2,d,i,i,x,k,d.length,0,0,0))&&(d=l),S=0,k=x=1,d}var u=/^\0+/g,c=/[\0\r\f]/g,d=/: */g,p=/zoo|gra/,m=/([,: ])(transform)/g,f=/,\r+?/g,h=/([\t\r\n ])*\f?&/g,b=/@(k\w+)\s*(\S*)\s*/,g=/::(place)/g,v=/:(read-only)/g,y=/[svh]\w+-[tblr]{2}/,E=/\(\s*(.*)\s*\)/g,w=/([\s\S]*?);/g,j=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\w-]+)[^]*/,_=/stretch|:\s*\w+\-(?:conte|avail)/,C=/([^-])(image-set\()/,k=1,x=1,S=0,A=1,P=[],N=[],D=0,F=null,T=0;return l.use=function e(t){switch(t){case void 0:case null:D=N.length=0;break;default:switch(t.constructor){case Array:for(var n=0,r=t.length;n<r;++n)e(t[n]);break;case Function:N[D++]=t;break;case Boolean:T=0|!!t}}return e},l.set=i,void 0!==e&&i(e),l}},"./node_modules/@emotion/unitless/dist/unitless.esm.js":
 /*!*************************************************************!*\
   !*** ./node_modules/@emotion/unitless/dist/unitless.esm.js ***!
   \*************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\nvar unitlessKeys = {\n  animationIterationCount: 1,\n  borderImageOutset: 1,\n  borderImageSlice: 1,\n  borderImageWidth: 1,\n  boxFlex: 1,\n  boxFlexGroup: 1,\n  boxOrdinalGroup: 1,\n  columnCount: 1,\n  columns: 1,\n  flex: 1,\n  flexGrow: 1,\n  flexPositive: 1,\n  flexShrink: 1,\n  flexNegative: 1,\n  flexOrder: 1,\n  gridRow: 1,\n  gridRowEnd: 1,\n  gridRowSpan: 1,\n  gridRowStart: 1,\n  gridColumn: 1,\n  gridColumnEnd: 1,\n  gridColumnSpan: 1,\n  gridColumnStart: 1,\n  fontWeight: 1,\n  lineHeight: 1,\n  opacity: 1,\n  order: 1,\n  orphans: 1,\n  tabSize: 1,\n  widows: 1,\n  zIndex: 1,\n  zoom: 1,\n  WebkitLineClamp: 1,\n  // SVG-related properties\n  fillOpacity: 1,\n  floodOpacity: 1,\n  stopOpacity: 1,\n  strokeDasharray: 1,\n  strokeDashoffset: 1,\n  strokeMiterlimit: 1,\n  strokeOpacity: 1,\n  strokeWidth: 1\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (unitlessKeys);\n\n\n//# sourceURL=webpack:///./node_modules/@emotion/unitless/dist/unitless.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@wordpress/element/build-module/index.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);t.default={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}},"./node_modules/@wordpress/element/build-module/index.js":
 /*!***************************************************************!*\
   !*** ./node_modules/@wordpress/element/build-module/index.js ***!
   \***************************************************************/
-/*! exports provided: renderToString, RawHTML, Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, StrictMode, concatChildren, switchChildrenNodeName, createPortal, findDOMNode, render, unmountComponentAtNode, isEmptyElement */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./react */ \"./node_modules/@wordpress/element/build-module/react.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Children\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"Children\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneElement\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"cloneElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createContext\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"createContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createRef\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"createRef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forwardRef\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"forwardRef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Fragment\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isValidElement\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"isValidElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StrictMode\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"StrictMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concatChildren\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"concatChildren\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"switchChildrenNodeName\", function() { return _react__WEBPACK_IMPORTED_MODULE_0__[\"switchChildrenNodeName\"]; });\n\n/* harmony import */ var _react_platform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./react-platform */ \"./node_modules/@wordpress/element/build-module/react-platform.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPortal\", function() { return _react_platform__WEBPACK_IMPORTED_MODULE_1__[\"createPortal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findDOMNode\", function() { return _react_platform__WEBPACK_IMPORTED_MODULE_1__[\"findDOMNode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _react_platform__WEBPACK_IMPORTED_MODULE_1__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unmountComponentAtNode\", function() { return _react_platform__WEBPACK_IMPORTED_MODULE_1__[\"unmountComponentAtNode\"]; });\n\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./node_modules/@wordpress/element/build-module/utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isEmptyElement\", function() { return _utils__WEBPACK_IMPORTED_MODULE_2__[\"isEmptyElement\"]; });\n\n/* harmony import */ var _serialize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./serialize */ \"./node_modules/@wordpress/element/build-module/serialize.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"renderToString\", function() { return _serialize__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./raw-html */ \"./node_modules/@wordpress/element/build-module/raw-html.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RawHTML\", function() { return _raw_html__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/element/build-module/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@wordpress/element/build-module/raw-html.js":
+/*! exports provided: renderToString, RawHTML, Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, StrictMode, concatChildren, switchChildrenNodeName, createPortal, findDOMNode, render, unmountComponentAtNode, isEmptyElement */function(e,t,n){"use strict";n.r(t);var r=n(/*! ./react */"./node_modules/@wordpress/element/build-module/react.js");n.d(t,"Children",function(){return r.Children}),n.d(t,"cloneElement",function(){return r.cloneElement}),n.d(t,"Component",function(){return r.Component}),n.d(t,"createContext",function(){return r.createContext}),n.d(t,"createElement",function(){return r.createElement}),n.d(t,"createRef",function(){return r.createRef}),n.d(t,"forwardRef",function(){return r.forwardRef}),n.d(t,"Fragment",function(){return r.Fragment}),n.d(t,"isValidElement",function(){return r.isValidElement}),n.d(t,"StrictMode",function(){return r.StrictMode}),n.d(t,"concatChildren",function(){return r.concatChildren}),n.d(t,"switchChildrenNodeName",function(){return r.switchChildrenNodeName});var o=n(/*! ./react-platform */"./node_modules/@wordpress/element/build-module/react-platform.js");n.d(t,"createPortal",function(){return o.createPortal}),n.d(t,"findDOMNode",function(){return o.findDOMNode}),n.d(t,"render",function(){return o.render}),n.d(t,"unmountComponentAtNode",function(){return o.unmountComponentAtNode});var s=n(/*! ./utils */"./node_modules/@wordpress/element/build-module/utils.js");n.d(t,"isEmptyElement",function(){return s.isEmptyElement});var a=n(/*! ./serialize */"./node_modules/@wordpress/element/build-module/serialize.js");n.d(t,"renderToString",function(){return a.default});var i=n(/*! ./raw-html */"./node_modules/@wordpress/element/build-module/raw-html.js");n.d(t,"RawHTML",function(){return i.default})},"./node_modules/@wordpress/element/build-module/raw-html.js":
 /*!******************************************************************!*\
   !*** ./node_modules/@wordpress/element/build-module/raw-html.js ***!
   \******************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RawHTML; });\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./react */ \"./node_modules/@wordpress/element/build-module/react.js\");\n\n\n\n/**\n * External dependencies\n */\n\n/**\n * Component used as equivalent of Fragment with unescaped HTML, in cases where\n * it is desirable to render dangerous HTML without needing a wrapper element.\n * To preserve additional props, a `div` wrapper _will_ be created if any props\n * aside from `children` are passed.\n *\n * @param {string} props.children HTML to render.\n *\n * @return {WPElement} Dangerously-rendering element.\n */\n\nfunction RawHTML(_ref) {\n  var children = _ref.children,\n      props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_ref, [\"children\"]);\n\n  // The DIV wrapper will be stripped by serializer, unless there are\n  // non-children props present.\n  return Object(_react__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])('div', Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n    dangerouslySetInnerHTML: {\n      __html: children\n    }\n  }, props));\n}\n//# sourceMappingURL=raw-html.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/element/build-module/raw-html.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@wordpress/element/build-module/react-platform.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return a});var r=n(/*! @babel/runtime/helpers/esm/objectSpread */"./node_modules/@babel/runtime/helpers/esm/objectSpread.js"),o=n(/*! @babel/runtime/helpers/esm/objectWithoutProperties */"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),s=n(/*! ./react */"./node_modules/@wordpress/element/build-module/react.js");function a(e){var t=e.children,n=Object(o.default)(e,["children"]);return Object(s.createElement)("div",Object(r.default)({dangerouslySetInnerHTML:{__html:t}},n))}},"./node_modules/@wordpress/element/build-module/react-platform.js":
 /*!************************************************************************!*\
   !*** ./node_modules/@wordpress/element/build-module/react-platform.js ***!
   \************************************************************************/
-/*! exports provided: createPortal, findDOMNode, render, unmountComponentAtNode */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPortal\", function() { return react_dom__WEBPACK_IMPORTED_MODULE_0__[\"createPortal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findDOMNode\", function() { return react_dom__WEBPACK_IMPORTED_MODULE_0__[\"findDOMNode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return react_dom__WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unmountComponentAtNode\", function() { return react_dom__WEBPACK_IMPORTED_MODULE_0__[\"unmountComponentAtNode\"]; });\n\n/**\n * External dependencies\n */\n\n/**\n * Creates a portal into which a component can be rendered.\n *\n * @see https://github.com/facebook/react/issues/10309#issuecomment-318433235\n *\n * @param {Component} component Component\n * @param {Element}   target    DOM node into which element should be rendered\n */\n\n\n/**\n * Finds the dom node of a React component\n *\n * @param {Component} component component's instance\n * @param {Element}   target    DOM node into which element should be rendered\n */\n\n\n/**\n * Renders a given element into the target DOM node.\n *\n * @param {WPElement} element Element to render\n * @param {Element}   target  DOM node into which element should be rendered\n */\n\n\n/**\n * Removes any mounted element from the target DOM node.\n *\n * @param {Element} target DOM node in which element is to be removed\n */\n\n\n//# sourceMappingURL=react-platform.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/element/build-module/react-platform.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@wordpress/element/build-module/react.js":
+/*! exports provided: createPortal, findDOMNode, render, unmountComponentAtNode */function(e,t,n){"use strict";n.r(t);var r=n(/*! react-dom */"react-dom");n.d(t,"createPortal",function(){return r.createPortal}),n.d(t,"findDOMNode",function(){return r.findDOMNode}),n.d(t,"render",function(){return r.render}),n.d(t,"unmountComponentAtNode",function(){return r.unmountComponentAtNode})},"./node_modules/@wordpress/element/build-module/react.js":
 /*!***************************************************************!*\
   !*** ./node_modules/@wordpress/element/build-module/react.js ***!
   \***************************************************************/
-/*! exports provided: Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, StrictMode, concatChildren, switchChildrenNodeName */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concatChildren\", function() { return concatChildren; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"switchChildrenNodeName\", function() { return switchChildrenNodeName; });\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Children\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"Children\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneElement\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"cloneElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"Component\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createContext\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"createContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createRef\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"createRef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"forwardRef\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"forwardRef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Fragment\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"Fragment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isValidElement\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"isValidElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StrictMode\", function() { return react__WEBPACK_IMPORTED_MODULE_2__[\"StrictMode\"]; });\n\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n/**\n * External dependencies\n */\n\n\n\n/**\n * Creates a copy of an element with extended props.\n *\n * @param {WPElement} element Element\n * @param {?Object}   props   Props to apply to cloned element\n *\n * @return {WPElement} Cloned element.\n */\n\n\n/**\n * A base class to create WordPress Components (Refs, state and lifecycle hooks)\n */\n\n\n/**\n * Creates a context object containing two components: a provider and consumer.\n *\n * @param {Object} defaultValue A default data stored in the context.\n *\n * @return {Object} Context object.\n */\n\n\n/**\n * Returns a new element of given type. Type can be either a string tag name or\n * another function which itself returns an element.\n *\n * @param {?(string|Function)} type     Tag name or element creator\n * @param {Object}             props    Element properties, either attribute\n *                                       set to apply to DOM node or values to\n *                                       pass through to element creator\n * @param {...WPElement}       children Descendant elements\n *\n * @return {WPElement} Element.\n */\n\n\n/**\n * Returns an object tracking a reference to a rendered element via its\n * `current` property as either a DOMElement or Element, dependent upon the\n * type of element rendered with the ref attribute.\n *\n * @return {Object} Ref object.\n */\n\n\n/**\n * Component enhancer used to enable passing a ref to its wrapped component.\n * Pass a function argument which receives `props` and `ref` as its arguments,\n * returning an element using the forwarded ref. The return value is a new\n * component which forwards its ref.\n *\n * @param {Function} forwarder Function passed `props` and `ref`, expected to\n *                             return an element.\n *\n * @return {WPComponent} Enhanced component.\n */\n\n\n/**\n * A component which renders its children without any wrapping element.\n */\n\n\n/**\n * Checks if an object is a valid WPElement\n *\n * @param {Object} objectToCheck The object to be checked.\n *\n * @return {boolean} true if objectToTest is a valid WPElement and false otherwise.\n */\n\n\n\n/**\n * Concatenate two or more React children objects.\n *\n * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate.\n *\n * @return {Array} The concatenated value.\n */\n\nfunction concatChildren() {\n  for (var _len = arguments.length, childrenArguments = new Array(_len), _key = 0; _key < _len; _key++) {\n    childrenArguments[_key] = arguments[_key];\n  }\n\n  return childrenArguments.reduce(function (memo, children, i) {\n    react__WEBPACK_IMPORTED_MODULE_2__[\"Children\"].forEach(children, function (child, j) {\n      if (child && 'string' !== typeof child) {\n        child = Object(react__WEBPACK_IMPORTED_MODULE_2__[\"cloneElement\"])(child, {\n          key: [i, j].join()\n        });\n      }\n\n      memo.push(child);\n    });\n    return memo;\n  }, []);\n}\n/**\n * Switches the nodeName of all the elements in the children object.\n *\n * @param {?Object} children Children object.\n * @param {string}  nodeName Node name.\n *\n * @return {?Object} The updated children object.\n */\n\nfunction switchChildrenNodeName(children, nodeName) {\n  return children && react__WEBPACK_IMPORTED_MODULE_2__[\"Children\"].map(children, function (elt, index) {\n    if (Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"isString\"])(elt)) {\n      return Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(nodeName, {\n        key: index\n      }, elt);\n    }\n\n    var _elt$props = elt.props,\n        childrenProp = _elt$props.children,\n        props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_elt$props, [\"children\"]);\n\n    return Object(react__WEBPACK_IMPORTED_MODULE_2__[\"createElement\"])(nodeName, Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n      key: index\n    }, props), childrenProp);\n  });\n}\n//# sourceMappingURL=react.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/element/build-module/react.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@wordpress/element/build-module/serialize.js":
+/*! exports provided: Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, StrictMode, concatChildren, switchChildrenNodeName */function(e,t,n){"use strict";n.r(t),n.d(t,"concatChildren",function(){return i}),n.d(t,"switchChildrenNodeName",function(){return l});var r=n(/*! @babel/runtime/helpers/esm/objectSpread */"./node_modules/@babel/runtime/helpers/esm/objectSpread.js"),o=n(/*! @babel/runtime/helpers/esm/objectWithoutProperties */"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),s=n(/*! react */"react");n.d(t,"Children",function(){return s.Children}),n.d(t,"cloneElement",function(){return s.cloneElement}),n.d(t,"Component",function(){return s.Component}),n.d(t,"createContext",function(){return s.createContext}),n.d(t,"createElement",function(){return s.createElement}),n.d(t,"createRef",function(){return s.createRef}),n.d(t,"forwardRef",function(){return s.forwardRef}),n.d(t,"Fragment",function(){return s.Fragment}),n.d(t,"isValidElement",function(){return s.isValidElement}),n.d(t,"StrictMode",function(){return s.StrictMode});var a=n(/*! lodash */"lodash");function i(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(function(e,t,n){return s.Children.forEach(t,function(t,r){t&&"string"!=typeof t&&(t=Object(s.cloneElement)(t,{key:[n,r].join()})),e.push(t)}),e},[])}function l(e,t){return e&&s.Children.map(e,function(e,n){if(Object(a.isString)(e))return Object(s.createElement)(t,{key:n},e);var i=e.props,l=i.children,u=Object(o.default)(i,["children"]);return Object(s.createElement)(t,Object(r.default)({key:n},u),l)})}},"./node_modules/@wordpress/element/build-module/serialize.js":
 /*!*******************************************************************!*\
   !*** ./node_modules/@wordpress/element/build-module/serialize.js ***!
   \*******************************************************************/
-/*! exports provided: hasPrefix, renderElement, renderNativeComponent, renderComponent, renderAttributes, renderStyle, default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasPrefix\", function() { return hasPrefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderElement\", function() { return renderElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderNativeComponent\", function() { return renderNativeComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderComponent\", function() { return renderComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderAttributes\", function() { return renderAttributes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderStyle\", function() { return renderStyle; });\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/escape-html */ \"./node_modules/@wordpress/escape-html/build-module/index.js\");\n/* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./react */ \"./node_modules/@wordpress/element/build-module/react.js\");\n/* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./raw-html */ \"./node_modules/@wordpress/element/build-module/raw-html.js\");\n\n\n\n\n/**\n * Parts of this source were derived and modified from fast-react-render,\n * released under the MIT license.\n *\n * https://github.com/alt-j/fast-react-render\n *\n * Copyright (c) 2016 Andrey Morozov\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\nvar _createContext = Object(_react__WEBPACK_IMPORTED_MODULE_5__[\"createContext\"])(),\n    Provider = _createContext.Provider,\n    Consumer = _createContext.Consumer;\n/**\n * Valid attribute types.\n *\n * @type {Set}\n */\n\n\nvar ATTRIBUTES_TYPES = new Set(['string', 'boolean', 'number']);\n/**\n * Element tags which can be self-closing.\n *\n * @type {Set}\n */\n\nvar SELF_CLOSING_TAGS = new Set(['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']);\n/**\n * Boolean attributes are attributes whose presence as being assigned is\n * meaningful, even if only empty.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n *     .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 )\n *     .reduce( ( result, tr ) => Object.assign( result, {\n *         [ tr.firstChild.textContent.trim() ]: true\n *     } ), {} ) ).sort();\n *\n * @type {Set}\n */\n\nvar BOOLEAN_ATTRIBUTES = new Set(['allowfullscreen', 'allowpaymentrequest', 'allowusermedia', 'async', 'autofocus', 'autoplay', 'checked', 'controls', 'default', 'defer', 'disabled', 'formnovalidate', 'hidden', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nomodule', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'selected', 'typemustmatch']);\n/**\n * Enumerated attributes are attributes which must be of a specific value form.\n * Like boolean attributes, these are meaningful if specified, even if not of a\n * valid enumerated value.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n *     .filter( ( tr ) => /^(\"(.+?)\";?\\s*)+/.test( tr.lastChild.textContent.trim() ) )\n *     .reduce( ( result, tr ) => Object.assign( result, {\n *         [ tr.firstChild.textContent.trim() ]: true\n *     } ), {} ) ).sort();\n *\n * Some notable omissions:\n *\n *  - `alt`: https://blog.whatwg.org/omit-alt\n *\n * @type {Set}\n */\n\nvar ENUMERATED_ATTRIBUTES = new Set(['autocapitalize', 'autocomplete', 'charset', 'contenteditable', 'crossorigin', 'decoding', 'dir', 'draggable', 'enctype', 'formenctype', 'formmethod', 'http-equiv', 'inputmode', 'kind', 'method', 'preload', 'scope', 'shape', 'spellcheck', 'translate', 'type', 'wrap']);\n/**\n * Set of CSS style properties which support assignment of unitless numbers.\n * Used in rendering of style properties, where `px` unit is assumed unless\n * property is included in this set or value is zero.\n *\n * Generated via:\n *\n * Object.entries( document.createElement( 'div' ).style )\n *     .filter( ( [ key ] ) => (\n *         ! /^(webkit|ms|moz)/.test( key ) &&\n *         ( e.style[ key ] = 10 ) &&\n *         e.style[ key ] === '10'\n *     ) )\n *     .map( ( [ key ] ) => key )\n *     .sort();\n *\n * @type {Set}\n */\n\nvar CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set(['animation', 'animationIterationCount', 'baselineShift', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'columnCount', 'cx', 'cy', 'fillOpacity', 'flexGrow', 'flexShrink', 'floodOpacity', 'fontWeight', 'gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'r', 'rx', 'ry', 'shapeImageThreshold', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'tabSize', 'widows', 'x', 'y', 'zIndex', 'zoom']);\n/**\n * Returns true if the specified string is prefixed by one of an array of\n * possible prefixes.\n *\n * @param {string}   string   String to check.\n * @param {string[]} prefixes Possible prefixes.\n *\n * @return {boolean} Whether string has prefix.\n */\n\nfunction hasPrefix(string, prefixes) {\n  return prefixes.some(function (prefix) {\n    return string.indexOf(prefix) === 0;\n  });\n}\n/**\n * Returns true if the given prop name should be ignored in attributes\n * serialization, or false otherwise.\n *\n * @param {string} attribute Attribute to check.\n *\n * @return {boolean} Whether attribute should be ignored.\n */\n\nfunction isInternalAttribute(attribute) {\n  return 'key' === attribute || 'children' === attribute;\n}\n/**\n * Returns the normal form of the element's attribute value for HTML.\n *\n * @param {string} attribute Attribute name.\n * @param {*}      value     Non-normalized attribute value.\n *\n * @return {string} Normalized attribute value.\n */\n\n\nfunction getNormalAttributeValue(attribute, value) {\n  switch (attribute) {\n    case 'style':\n      return renderStyle(value);\n  }\n\n  return value;\n}\n/**\n * Returns the normal form of the element's attribute name for HTML.\n *\n * @param {string} attribute Non-normalized attribute name.\n *\n * @return {string} Normalized attribute name.\n */\n\n\nfunction getNormalAttributeName(attribute) {\n  switch (attribute) {\n    case 'htmlFor':\n      return 'for';\n\n    case 'className':\n      return 'class';\n  }\n\n  return attribute.toLowerCase();\n}\n/**\n * Returns the normal form of the style property name for HTML.\n *\n * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color'\n * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor'\n * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform'\n *\n * @param {string} property Property name.\n *\n * @return {string} Normalized property name.\n */\n\n\nfunction getNormalStylePropertyName(property) {\n  if (Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"startsWith\"])(property, '--')) {\n    return property;\n  }\n\n  if (hasPrefix(property, ['ms', 'O', 'Moz', 'Webkit'])) {\n    return '-' + Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"kebabCase\"])(property);\n  }\n\n  return Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"kebabCase\"])(property);\n}\n/**\n * Returns the normal form of the style property value for HTML. Appends a\n * default pixel unit if numeric, not a unitless property, and not zero.\n *\n * @param {string} property Property name.\n * @param {*}      value    Non-normalized property value.\n *\n * @return {*} Normalized property value.\n */\n\n\nfunction getNormalStylePropertyValue(property, value) {\n  if (typeof value === 'number' && 0 !== value && !CSS_PROPERTIES_SUPPORTS_UNITLESS.has(property)) {\n    return value + 'px';\n  }\n\n  return value;\n}\n/**\n * Serializes a React element to string.\n *\n * @param {WPElement} element       Element to serialize.\n * @param {?Object}   context       Context object.\n * @param {?Object}   legacyContext Legacy context object.\n *\n * @return {string} Serialized element.\n */\n\n\nfunction renderElement(element, context) {\n  var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  if (null === element || undefined === element || false === element) {\n    return '';\n  }\n\n  if (Array.isArray(element)) {\n    return renderChildren(element, context, legacyContext);\n  }\n\n  switch (Object(_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element)) {\n    case 'string':\n      return Object(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_4__[\"escapeHTML\"])(element);\n\n    case 'number':\n      return element.toString();\n  }\n\n  var type = element.type,\n      props = element.props;\n\n  switch (type) {\n    case _react__WEBPACK_IMPORTED_MODULE_5__[\"StrictMode\"]:\n    case _react__WEBPACK_IMPORTED_MODULE_5__[\"Fragment\"]:\n      return renderChildren(props.children, context, legacyContext);\n\n    case _raw_html__WEBPACK_IMPORTED_MODULE_6__[\"default\"]:\n      var children = props.children,\n          wrapperProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"children\"]);\n\n      return renderNativeComponent(Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"isEmpty\"])(wrapperProps) ? null : 'div', Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, wrapperProps, {\n        dangerouslySetInnerHTML: {\n          __html: children\n        }\n      }), context, legacyContext);\n  }\n\n  switch (Object(_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(type)) {\n    case 'string':\n      return renderNativeComponent(type, props, context, legacyContext);\n\n    case 'function':\n      if (type.prototype && typeof type.prototype.render === 'function') {\n        return renderComponent(type, props, context, legacyContext);\n      }\n\n      return renderElement(type(props, legacyContext), context, legacyContext);\n  }\n\n  switch (type && type.$$typeof) {\n    case Provider.$$typeof:\n      return renderChildren(props.children, props.value, legacyContext);\n\n    case Consumer.$$typeof:\n      return renderElement(props.children(context || type._currentValue), context, legacyContext);\n  }\n\n  return '';\n}\n/**\n * Serializes a native component type to string.\n *\n * @param {?string} type          Native component type to serialize, or null if\n *                                rendering as fragment of children content.\n * @param {Object}  props         Props object.\n * @param {?Object} context       Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized element.\n */\n\nfunction renderNativeComponent(type, props, context) {\n  var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n  var content = '';\n\n  if (type === 'textarea' && props.hasOwnProperty('value')) {\n    // Textarea children can be assigned as value prop. If it is, render in\n    // place of children. Ensure to omit so it is not assigned as attribute\n    // as well.\n    content = renderChildren(props.value, context, legacyContext);\n    props = Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"omit\"])(props, 'value');\n  } else if (props.dangerouslySetInnerHTML && typeof props.dangerouslySetInnerHTML.__html === 'string') {\n    // Dangerous content is left unescaped.\n    content = props.dangerouslySetInnerHTML.__html;\n  } else if (typeof props.children !== 'undefined') {\n    content = renderChildren(props.children, context, legacyContext);\n  }\n\n  if (!type) {\n    return content;\n  }\n\n  var attributes = renderAttributes(props);\n\n  if (SELF_CLOSING_TAGS.has(type)) {\n    return '<' + type + attributes + '/>';\n  }\n\n  return '<' + type + attributes + '>' + content + '</' + type + '>';\n}\n/**\n * Serializes a non-native component type to string.\n *\n * @param {Function} Component     Component type to serialize.\n * @param {Object}   props         Props object.\n * @param {?Object}  context       Context object.\n * @param {?Object}  legacyContext Legacy context object.\n *\n * @return {string} Serialized element\n */\n\nfunction renderComponent(Component, props, context) {\n  var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n  var instance = new Component(props, legacyContext);\n\n  if (typeof instance.getChildContext === 'function') {\n    Object.assign(legacyContext, instance.getChildContext());\n  }\n\n  var html = renderElement(instance.render(), context, legacyContext);\n  return html;\n}\n/**\n * Serializes an array of children to string.\n *\n * @param {Array}   children      Children to serialize.\n * @param {?Object} context       Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized children.\n */\n\nfunction renderChildren(children, context) {\n  var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  var result = '';\n  children = Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"castArray\"])(children);\n\n  for (var i = 0; i < children.length; i++) {\n    var child = children[i];\n    result += renderElement(child, context, legacyContext);\n  }\n\n  return result;\n}\n/**\n * Renders a props object as a string of HTML attributes.\n *\n * @param {Object} props Props object.\n *\n * @return {string} Attributes string.\n */\n\n\nfunction renderAttributes(props) {\n  var result = '';\n\n  for (var key in props) {\n    var attribute = getNormalAttributeName(key);\n\n    if (!Object(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_4__[\"isValidAttributeName\"])(attribute)) {\n      continue;\n    }\n\n    var value = getNormalAttributeValue(key, props[key]); // If value is not of serializeable type, skip.\n\n    if (!ATTRIBUTES_TYPES.has(Object(_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(value))) {\n      continue;\n    } // Don't render internal attribute names.\n\n\n    if (isInternalAttribute(key)) {\n      continue;\n    }\n\n    var isBooleanAttribute = BOOLEAN_ATTRIBUTES.has(attribute); // Boolean attribute should be omitted outright if its value is false.\n\n    if (isBooleanAttribute && value === false) {\n      continue;\n    }\n\n    var isMeaningfulAttribute = isBooleanAttribute || hasPrefix(key, ['data-', 'aria-']) || ENUMERATED_ATTRIBUTES.has(attribute); // Only write boolean value as attribute if meaningful.\n\n    if (typeof value === 'boolean' && !isMeaningfulAttribute) {\n      continue;\n    }\n\n    result += ' ' + attribute; // Boolean attributes should write attribute name, but without value.\n    // Mere presence of attribute name is effective truthiness.\n\n    if (isBooleanAttribute) {\n      continue;\n    }\n\n    if (typeof value === 'string') {\n      value = Object(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_4__[\"escapeAttribute\"])(value);\n    }\n\n    result += '=\"' + value + '\"';\n  }\n\n  return result;\n}\n/**\n * Renders a style object as a string attribute value.\n *\n * @param {Object} style Style object.\n *\n * @return {string} Style attribute value.\n */\n\nfunction renderStyle(style) {\n  // Only generate from object, e.g. tolerate string value.\n  if (!Object(lodash__WEBPACK_IMPORTED_MODULE_3__[\"isPlainObject\"])(style)) {\n    return style;\n  }\n\n  var result;\n\n  for (var property in style) {\n    var value = style[property];\n\n    if (null === value || undefined === value) {\n      continue;\n    }\n\n    if (result) {\n      result += ';';\n    } else {\n      result = '';\n    }\n\n    var normalName = getNormalStylePropertyName(property);\n    var normalValue = getNormalStylePropertyValue(property, value);\n    result += normalName + ':' + normalValue;\n  }\n\n  return result;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (renderElement);\n//# sourceMappingURL=serialize.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/element/build-module/serialize.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@wordpress/element/build-module/utils.js":
+/*! exports provided: hasPrefix, renderElement, renderNativeComponent, renderComponent, renderAttributes, renderStyle, default */function(e,t,n){"use strict";n.r(t),n.d(t,"hasPrefix",function(){return v}),n.d(t,"renderElement",function(){return _}),n.d(t,"renderNativeComponent",function(){return C}),n.d(t,"renderComponent",function(){return k}),n.d(t,"renderAttributes",function(){return S}),n.d(t,"renderStyle",function(){return A});var r=n(/*! @babel/runtime/helpers/esm/objectSpread */"./node_modules/@babel/runtime/helpers/esm/objectSpread.js"),o=n(/*! @babel/runtime/helpers/esm/objectWithoutProperties */"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"),s=n(/*! @babel/runtime/helpers/esm/typeof */"./node_modules/@babel/runtime/helpers/esm/typeof.js"),a=n(/*! lodash */"lodash"),i=n(/*! @wordpress/escape-html */"./node_modules/@wordpress/escape-html/build-module/index.js"),l=n(/*! ./react */"./node_modules/@wordpress/element/build-module/react.js"),u=n(/*! ./raw-html */"./node_modules/@wordpress/element/build-module/raw-html.js"),c=Object(l.createContext)(),d=c.Provider,p=c.Consumer,m=new Set(["string","boolean","number"]),f=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),h=new Set(["allowfullscreen","allowpaymentrequest","allowusermedia","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","typemustmatch"]),b=new Set(["autocapitalize","autocomplete","charset","contenteditable","crossorigin","decoding","dir","draggable","enctype","formenctype","formmethod","http-equiv","inputmode","kind","method","preload","scope","shape","spellcheck","translate","type","wrap"]),g=new Set(["animation","animationIterationCount","baselineShift","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","cx","cy","fillOpacity","flexGrow","flexShrink","floodOpacity","fontWeight","gridColumnEnd","gridColumnStart","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","r","rx","ry","shapeImageThreshold","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","tabSize","widows","x","y","zIndex","zoom"]);function v(e,t){return t.some(function(t){return 0===e.indexOf(t)})}function y(e){return"key"===e||"children"===e}function E(e,t){switch(e){case"style":return A(t)}return t}function w(e){switch(e){case"htmlFor":return"for";case"className":return"class"}return e.toLowerCase()}function j(e){return Object(a.startsWith)(e,"--")?e:v(e,["ms","O","Moz","Webkit"])?"-"+Object(a.kebabCase)(e):Object(a.kebabCase)(e)}function O(e,t){return"number"!=typeof t||0===t||g.has(e)?t:t+"px"}function _(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null===e||void 0===e||!1===e)return"";if(Array.isArray(e))return x(e,t,n);switch(Object(s.default)(e)){case"string":return Object(i.escapeHTML)(e);case"number":return e.toString()}var c=e.type,m=e.props;switch(c){case l.StrictMode:case l.Fragment:return x(m.children,t,n);case u.default:var f=m.children,h=Object(o.default)(m,["children"]);return C(Object(a.isEmpty)(h)?null:"div",Object(r.default)({},h,{dangerouslySetInnerHTML:{__html:f}}),t,n)}switch(Object(s.default)(c)){case"string":return C(c,m,t,n);case"function":return c.prototype&&"function"==typeof c.prototype.render?k(c,m,t,n):_(c(m,n),t,n)}switch(c&&c.$$typeof){case d.$$typeof:return x(m.children,m.value,n);case p.$$typeof:return _(m.children(t||c._currentValue),t,n)}return""}function C(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o="";if("textarea"===e&&t.hasOwnProperty("value")?(o=x(t.value,n,r),t=Object(a.omit)(t,"value")):t.dangerouslySetInnerHTML&&"string"==typeof t.dangerouslySetInnerHTML.__html?o=t.dangerouslySetInnerHTML.__html:void 0!==t.children&&(o=x(t.children,n,r)),!e)return o;var s=S(t);return f.has(e)?"<"+e+s+"/>":"<"+e+s+">"+o+"</"+e+">"}function k(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=new e(t,r);return"function"==typeof o.getChildContext&&Object.assign(r,o.getChildContext()),_(o.render(),n,r)}function x(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r="";e=Object(a.castArray)(e);for(var o=0;o<e.length;o++){r+=_(e[o],t,n)}return r}function S(e){var t="";for(var n in e){var r=w(n);if(Object(i.isValidAttributeName)(r)){var o=E(n,e[n]);if(m.has(Object(s.default)(o))&&!y(n)){var a=h.has(r);if(!a||!1!==o){var l=a||v(n,["data-","aria-"])||b.has(r);("boolean"!=typeof o||l)&&(t+=" "+r,a||("string"==typeof o&&(o=Object(i.escapeAttribute)(o)),t+='="'+o+'"'))}}}}return t}function A(e){if(!Object(a.isPlainObject)(e))return e;var t;for(var n in e){var r=e[n];if(null!==r&&void 0!==r)t?t+=";":t="",t+=j(n)+":"+O(n,r)}return t}t.default=_},"./node_modules/@wordpress/element/build-module/utils.js":
 /*!***************************************************************!*\
   !*** ./node_modules/@wordpress/element/build-module/utils.js ***!
   \***************************************************************/
-/*! exports provided: isEmptyElement */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmptyElement\", function() { return isEmptyElement; });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * External dependencies\n */\n\n/**\n * Checks if the provided WP element is empty.\n *\n * @param {*} element WP element to check.\n * @return {boolean} True when an element is considered empty.\n */\n\nvar isEmptyElement = function isEmptyElement(element) {\n  if (Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"])(element)) {\n    return false;\n  }\n\n  if (Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"isString\"])(element) || Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"isArray\"])(element)) {\n    return !element.length;\n  }\n\n  return !element;\n};\n//# sourceMappingURL=utils.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/element/build-module/utils.js?");
-
-/***/ }),
-
-/***/ "./node_modules/@wordpress/escape-html/build-module/index.js":
+/*! exports provided: isEmptyElement */function(e,t,n){"use strict";n.r(t),n.d(t,"isEmptyElement",function(){return o});var r=n(/*! lodash */"lodash"),o=function(e){return!Object(r.isNumber)(e)&&(Object(r.isString)(e)||Object(r.isArray)(e)?!e.length:!e)}},"./node_modules/@wordpress/escape-html/build-module/index.js":
 /*!*******************************************************************!*\
   !*** ./node_modules/@wordpress/escape-html/build-module/index.js ***!
   \*******************************************************************/
-/*! exports provided: escapeAmpersand, escapeQuotationMark, escapeLessThan, escapeAttribute, escapeHTML, isValidAttributeName */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeAmpersand\", function() { return escapeAmpersand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeQuotationMark\", function() { return escapeQuotationMark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeLessThan\", function() { return escapeLessThan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeAttribute\", function() { return escapeAttribute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeHTML\", function() { return escapeHTML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValidAttributeName\", function() { return isValidAttributeName; });\n/**\n * Regular expression matching invalid attribute names.\n *\n * \"Attribute names must consist of one or more characters other than controls,\n * U+0020 SPACE, U+0022 (\"), U+0027 ('), U+003E (>), U+002F (/), U+003D (=),\n * and noncharacters.\"\n *\n * @link https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n *\n * @type {RegExp}\n */\nvar REGEXP_INVALID_ATTRIBUTE_NAME = /[\\u007F-\\u009F \"'>/=\"\\uFDD0-\\uFDEF]/;\n/**\n * Returns a string with ampersands escaped. Note that this is an imperfect\n * implementation, where only ampersands which do not appear as a pattern of\n * named, decimal, or hexadecimal character references are escaped. Invalid\n * named references (i.e. ambiguous ampersand) are are still permitted.\n *\n * @link https://w3c.github.io/html/syntax.html#character-references\n * @link https://w3c.github.io/html/syntax.html#ambiguous-ampersand\n * @link https://w3c.github.io/html/syntax.html#named-character-references\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nfunction escapeAmpersand(value) {\n  return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&amp;');\n}\n/**\n * Returns a string with quotation marks replaced.\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nfunction escapeQuotationMark(value) {\n  return value.replace(/\"/g, '&quot;');\n}\n/**\n * Returns a string with less-than sign replaced.\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nfunction escapeLessThan(value) {\n  return value.replace(/</g, '&lt;');\n}\n/**\n * Returns an escaped attribute value.\n *\n * @link https://w3c.github.io/html/syntax.html#elements-attributes\n *\n * \"[...] the text cannot contain an ambiguous ampersand [...] must not contain\n * any literal U+0022 QUOTATION MARK characters (\")\"\n *\n * @param {string} value Attribute value.\n *\n * @return {string} Escaped attribute value.\n */\n\nfunction escapeAttribute(value) {\n  return escapeQuotationMark(escapeAmpersand(value));\n}\n/**\n * Returns an escaped HTML element value.\n *\n * @link https://w3c.github.io/html/syntax.html#writing-html-documents-elements\n *\n * \"the text must not contain the character U+003C LESS-THAN SIGN (<) or an\n * ambiguous ampersand.\"\n *\n * @param {string} value Element value.\n *\n * @return {string} Escaped HTML element value.\n */\n\nfunction escapeHTML(value) {\n  return escapeLessThan(escapeAmpersand(value));\n}\n/**\n * Returns true if the given attribute name is valid, or false otherwise.\n *\n * @param {string} name Attribute name to test.\n *\n * @return {boolean} Whether attribute is valid.\n */\n\nfunction isValidAttributeName(name) {\n  return !REGEXP_INVALID_ATTRIBUTE_NAME.test(name);\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/escape-html/build-module/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/classnames/index.js":
+/*! exports provided: escapeAmpersand, escapeQuotationMark, escapeLessThan, escapeAttribute, escapeHTML, isValidAttributeName */function(e,t,n){"use strict";n.r(t),n.d(t,"escapeAmpersand",function(){return o}),n.d(t,"escapeQuotationMark",function(){return s}),n.d(t,"escapeLessThan",function(){return a}),n.d(t,"escapeAttribute",function(){return i}),n.d(t,"escapeHTML",function(){return l}),n.d(t,"isValidAttributeName",function(){return u});var r=/[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/;function o(e){return e.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi,"&amp;")}function s(e){return e.replace(/"/g,"&quot;")}function a(e){return e.replace(/</g,"&lt;")}function i(e){return s(o(e))}function l(e){return a(o(e))}function u(e){return!r.test(e)}},"./node_modules/classnames/index.js":
 /*!******************************************!*\
   !*** ./node_modules/classnames/index.js ***!
   \******************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n  Copyright (c) 2017 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( true && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n\n\n//# sourceURL=webpack:///./node_modules/classnames/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/create-emotion/dist/index.esm.js":
+/*! no static exports found */function(e,t,n){var r;
+/*!
+  Copyright (c) 2017 Jed Watson.
+  Licensed under the MIT License (MIT), see
+  http://jedwatson.github.io/classnames
+*/
+/*!
+  Copyright (c) 2017 Jed Watson.
+  Licensed under the MIT License (MIT), see
+  http://jedwatson.github.io/classnames
+*/
+!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var s=typeof r;if("string"===s||"number"===s)e.push(r);else if(Array.isArray(r)&&r.length){var a=o.apply(null,r);a&&e.push(a)}else if("object"===s)for(var i in r)n.call(r,i)&&r[i]&&e.push(i)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},"./node_modules/create-emotion/dist/index.esm.js":
 /*!*******************************************************!*\
   !*** ./node_modules/create-emotion/dist/index.esm.js ***!
   \*******************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ \"./node_modules/@emotion/memoize/dist/memoize.esm.js\");\n/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/unitless */ \"./node_modules/@emotion/unitless/dist/unitless.esm.js\");\n/* harmony import */ var _emotion_hash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/hash */ \"./node_modules/@emotion/hash/dist/hash.esm.js\");\n/* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ \"./node_modules/@emotion/stylis/dist/stylis.esm.js\");\n/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! stylis-rule-sheet */ \"./node_modules/stylis-rule-sheet/index.js\");\n/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar processStyleName = Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (styleName) {\n  return styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\nvar processStyleValue = function processStyleValue(key, value) {\n  if (value == null || typeof value === 'boolean') {\n    return '';\n  }\n\n  if (_emotion_unitless__WEBPACK_IMPORTED_MODULE_1__[\"default\"][key] !== 1 && key.charCodeAt(1) !== 45 && // custom properties\n  !isNaN(value) && value !== 0) {\n    return value + 'px';\n  }\n\n  return value;\n};\n\nif (true) {\n  var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n  var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n  var oldProcessStyleValue = processStyleValue;\n\n  processStyleValue = function processStyleValue(key, value) {\n    if (key === 'content') {\n      if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n        console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n      }\n    }\n\n    return oldProcessStyleValue(key, value);\n  };\n}\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'function':\n        if (true) {\n          console.error('Passing functions to cx is deprecated and will be removed in the next major version of Emotion.\\n' + 'Please call the function before passing it to cx.');\n        }\n\n        toAdd = classnames([arg()]);\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\nvar isBrowser = typeof document !== 'undefined';\n\n/*\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n- 'polyfills' on server side\n\n// usage\n\nimport StyleSheet from 'glamor/lib/sheet'\nlet styleSheet = new StyleSheet()\n\nstyleSheet.inject()\n- 'injects' the stylesheet into the page (or into memory if on server)\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction makeStyleTag(opts) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', opts.key || '');\n\n  if (opts.nonce !== undefined) {\n    tag.setAttribute('nonce', opts.nonce);\n  }\n\n  tag.appendChild(document.createTextNode('')) // $FlowFixMe\n  ;\n  (opts.container !== undefined ? opts.container : document.head).appendChild(tag);\n  return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n  function StyleSheet(options) {\n    this.isSpeedy = \"development\" === 'production'; // the big drawback here is that the css won't be editable in devtools\n\n    this.tags = [];\n    this.ctr = 0;\n    this.opts = options;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.inject = function inject() {\n    if (this.injected) {\n      throw new Error('already injected!');\n    }\n\n    this.tags[0] = makeStyleTag(this.opts);\n    this.injected = true;\n  };\n\n  _proto.speedy = function speedy(bool) {\n    if (this.ctr !== 0) {\n      // cannot change speedy mode after inserting any rule to sheet. Either call speedy(${bool}) earlier in your app, or call flush() before speedy(${bool})\n      throw new Error(\"cannot change speedy now\");\n    }\n\n    this.isSpeedy = !!bool;\n  };\n\n  _proto.insert = function insert(rule, sourceMap) {\n    // this is the ultrafast version, works across browsers\n    if (this.isSpeedy) {\n      var tag = this.tags[this.tags.length - 1];\n      var sheet = sheetForTag(tag);\n\n      try {\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (true) {\n          console.warn('illegal rule', rule); // eslint-disable-line no-console\n        }\n      }\n    } else {\n      var _tag = makeStyleTag(this.opts);\n\n      this.tags.push(_tag);\n\n      _tag.appendChild(document.createTextNode(rule + (sourceMap || '')));\n    }\n\n    this.ctr++;\n\n    if (this.ctr % 65000 === 0) {\n      this.tags.push(makeStyleTag(this.opts));\n    }\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0; // todo - look for remnants in document.styleSheets\n\n    this.injected = false;\n  };\n\n  return StyleSheet;\n}();\n\nfunction createEmotion(context, options) {\n  if (context.__SECRET_EMOTION__ !== undefined) {\n    return context.__SECRET_EMOTION__;\n  }\n\n  if (options === undefined) options = {};\n  var key = options.key || 'css';\n\n  if (true) {\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var current;\n\n  function insertRule(rule) {\n    current += rule;\n\n    if (isBrowser) {\n      sheet.insert(rule, currentSourceMap);\n    }\n  }\n\n  var insertionPlugin = stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_4___default()(insertRule);\n  var stylisOptions;\n\n  if (options.prefix !== undefined) {\n    stylisOptions = {\n      prefix: options.prefix\n    };\n  }\n\n  var caches = {\n    registered: {},\n    inserted: {},\n    nonce: options.nonce,\n    key: key\n  };\n  var sheet = new StyleSheet(options);\n\n  if (isBrowser) {\n    // 🚀\n    sheet.inject();\n  }\n\n  var stylis = new _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__[\"default\"](stylisOptions);\n  stylis.use(options.stylisPlugins)(insertionPlugin);\n  var currentSourceMap = '';\n\n  function handleInterpolation(interpolation, couldBeSelectorInterpolation) {\n    if (interpolation == null) {\n      return '';\n    }\n\n    switch (typeof interpolation) {\n      case 'boolean':\n        return '';\n\n      case 'function':\n        if (interpolation.__emotion_styles !== undefined) {\n          var selector = interpolation.toString();\n\n          if (selector === 'NO_COMPONENT_SELECTOR' && \"development\" !== 'production') {\n            throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n          }\n\n          return selector;\n        }\n\n        if (this === undefined && \"development\" !== 'production') {\n          console.error('Interpolating functions in css calls is deprecated and will be removed in the next major version of Emotion.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n        }\n\n        return handleInterpolation.call(this, this === undefined ? interpolation() : // $FlowFixMe\n        interpolation(this.mergedProps, this.context), couldBeSelectorInterpolation);\n\n      case 'object':\n        return createStringFromObject.call(this, interpolation);\n\n      default:\n        var cached = caches.registered[interpolation];\n        return couldBeSelectorInterpolation === false && cached !== undefined ? cached : interpolation;\n    }\n  }\n\n  var objectToStringCache = new WeakMap();\n\n  function createStringFromObject(obj) {\n    if (objectToStringCache.has(obj)) {\n      // $FlowFixMe\n      return objectToStringCache.get(obj);\n    }\n\n    var string = '';\n\n    if (Array.isArray(obj)) {\n      obj.forEach(function (interpolation) {\n        string += handleInterpolation.call(this, interpolation, false);\n      }, this);\n    } else {\n      Object.keys(obj).forEach(function (key) {\n        if (typeof obj[key] !== 'object') {\n          if (caches.registered[obj[key]] !== undefined) {\n            string += key + \"{\" + caches.registered[obj[key]] + \"}\";\n          } else {\n            string += processStyleName(key) + \":\" + processStyleValue(key, obj[key]) + \";\";\n          }\n        } else {\n          if (key === 'NO_COMPONENT_SELECTOR' && \"development\" !== 'production') {\n            throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n          }\n\n          if (Array.isArray(obj[key]) && typeof obj[key][0] === 'string' && caches.registered[obj[key][0]] === undefined) {\n            obj[key].forEach(function (value) {\n              string += processStyleName(key) + \":\" + processStyleValue(key, value) + \";\";\n            });\n          } else {\n            string += key + \"{\" + handleInterpolation.call(this, obj[key], false) + \"}\";\n          }\n        }\n      }, this);\n    }\n\n    objectToStringCache.set(obj, string);\n    return string;\n  }\n\n  var name;\n  var stylesWithLabel;\n  var labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\n\n  var createClassName = function createClassName(styles, identifierName) {\n    return Object(_emotion_hash__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(styles + identifierName) + identifierName;\n  };\n\n  if (true) {\n    var oldCreateClassName = createClassName;\n    var sourceMappingUrlPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n\n    createClassName = function createClassName(styles, identifierName) {\n      return oldCreateClassName(styles.replace(sourceMappingUrlPattern, function (sourceMap) {\n        currentSourceMap = sourceMap;\n        return '';\n      }), identifierName);\n    };\n  }\n\n  var createStyles = function createStyles(strings) {\n    var stringMode = true;\n    var styles = '';\n    var identifierName = '';\n\n    if (strings == null || strings.raw === undefined) {\n      stringMode = false;\n      styles += handleInterpolation.call(this, strings, false);\n    } else {\n      styles += strings[0];\n    }\n\n    for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      interpolations[_key - 1] = arguments[_key];\n    }\n\n    interpolations.forEach(function (interpolation, i) {\n      styles += handleInterpolation.call(this, interpolation, styles.charCodeAt(styles.length - 1) === 46 // .\n      );\n\n      if (stringMode === true && strings[i + 1] !== undefined) {\n        styles += strings[i + 1];\n      }\n    }, this);\n    stylesWithLabel = styles;\n    styles = styles.replace(labelPattern, function (match, p1) {\n      identifierName += \"-\" + p1;\n      return '';\n    });\n    name = createClassName(styles, identifierName);\n    return styles;\n  };\n\n  if (true) {\n    var oldStylis = stylis;\n\n    stylis = function stylis(selector, styles) {\n      oldStylis(selector, styles);\n      currentSourceMap = '';\n    };\n  }\n\n  function insert(scope, styles) {\n    if (caches.inserted[name] === undefined) {\n      current = '';\n      stylis(scope, styles);\n      caches.inserted[name] = current;\n    }\n  }\n\n  var css = function css() {\n    var styles = createStyles.apply(this, arguments);\n    var selector = key + \"-\" + name;\n\n    if (caches.registered[selector] === undefined) {\n      caches.registered[selector] = stylesWithLabel;\n    }\n\n    insert(\".\" + selector, styles);\n    return selector;\n  };\n\n  var keyframes = function keyframes() {\n    var styles = createStyles.apply(this, arguments);\n    var animation = \"animation-\" + name;\n    insert('', \"@keyframes \" + animation + \"{\" + styles + \"}\");\n    return animation;\n  };\n\n  var injectGlobal = function injectGlobal() {\n    var styles = createStyles.apply(this, arguments);\n    insert('', styles);\n  };\n\n  function getRegisteredStyles(registeredStyles, classNames) {\n    var rawClassName = '';\n    classNames.split(' ').forEach(function (className) {\n      if (caches.registered[className] !== undefined) {\n        registeredStyles.push(className);\n      } else {\n        rawClassName += className + \" \";\n      }\n    });\n    return rawClassName;\n  }\n\n  function merge(className, sourceMap) {\n    var registeredStyles = [];\n    var rawClassName = getRegisteredStyles(registeredStyles, className);\n\n    if (registeredStyles.length < 2) {\n      return className;\n    }\n\n    return rawClassName + css(registeredStyles, sourceMap);\n  }\n\n  function cx() {\n    for (var _len2 = arguments.length, classNames = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      classNames[_key2] = arguments[_key2];\n    }\n\n    return merge(classnames(classNames));\n  }\n\n  function hydrateSingleId(id) {\n    caches.inserted[id] = true;\n  }\n\n  function hydrate(ids) {\n    ids.forEach(hydrateSingleId);\n  }\n\n  function flush() {\n    if (isBrowser) {\n      sheet.flush();\n      sheet.inject();\n    }\n\n    caches.inserted = {};\n    caches.registered = {};\n  }\n\n  if (isBrowser) {\n    var chunks = document.querySelectorAll(\"[data-emotion-\" + key + \"]\");\n    Array.prototype.forEach.call(chunks, function (node) {\n      // $FlowFixMe\n      sheet.tags[0].parentNode.insertBefore(node, sheet.tags[0]); // $FlowFixMe\n\n      node.getAttribute(\"data-emotion-\" + key).split(' ').forEach(hydrateSingleId);\n    });\n  }\n\n  var emotion = {\n    flush: flush,\n    hydrate: hydrate,\n    cx: cx,\n    merge: merge,\n    getRegisteredStyles: getRegisteredStyles,\n    injectGlobal: injectGlobal,\n    keyframes: keyframes,\n    css: css,\n    sheet: sheet,\n    caches: caches\n  };\n  context.__SECRET_EMOTION__ = emotion;\n  return emotion;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createEmotion);\n\n\n//# sourceURL=webpack:///./node_modules/create-emotion/dist/index.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/dom-helpers/class/addClass.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=n(/*! @emotion/memoize */"./node_modules/@emotion/memoize/dist/memoize.esm.js"),o=n(/*! @emotion/unitless */"./node_modules/@emotion/unitless/dist/unitless.esm.js"),s=n(/*! @emotion/hash */"./node_modules/@emotion/hash/dist/hash.esm.js"),a=n(/*! @emotion/stylis */"./node_modules/@emotion/stylis/dist/stylis.esm.js"),i=n(/*! stylis-rule-sheet */"./node_modules/stylis-rule-sheet/index.js"),l=n.n(i),u=/[A-Z]|^ms/g,c=Object(r.default)(function(e){return e.replace(u,"-$&").toLowerCase()}),d=function(e,t){return null==t||"boolean"==typeof t?"":1===o.default[e]||45===e.charCodeAt(1)||isNaN(t)||0===t?t:t+"px"},p=/(attr|calc|counters?|url)\(/,m=["normal","none","counter","open-quote","close-quote","no-open-quote","no-close-quote","initial","inherit","unset"],f=d;d=function(e,t){return"content"===e&&("string"!=typeof t||-1===m.indexOf(t)&&!p.test(t)&&(t.charAt(0)!==t.charAt(t.length-1)||'"'!==t.charAt(0)&&"'"!==t.charAt(0)))&&console.error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\""+t+"\"'`"),f(e,t)};var h=function e(t){for(var n=t.length,r=0,o="";r<n;r++){var s=t[r];if(null!=s){var a=void 0;switch(typeof s){case"boolean":break;case"function":console.error("Passing functions to cx is deprecated and will be removed in the next major version of Emotion.\nPlease call the function before passing it to cx."),a=e([s()]);break;case"object":if(Array.isArray(s))a=e(s);else for(var i in a="",s)s[i]&&i&&(a&&(a+=" "),a+=i);break;default:a=s}a&&(o&&(o+=" "),o+=a)}}return o},b="undefined"!=typeof document;function g(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key||""),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),(void 0!==e.container?e.container:document.head).appendChild(t),t}var v=function(){function e(e){this.isSpeedy=!1,this.tags=[],this.ctr=0,this.opts=e}var t=e.prototype;return t.inject=function(){if(this.injected)throw new Error("already injected!");this.tags[0]=g(this.opts),this.injected=!0},t.speedy=function(e){if(0!==this.ctr)throw new Error("cannot change speedy now");this.isSpeedy=!!e},t.insert=function(e,t){if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(this.tags[this.tags.length-1]);try{n.insertRule(e,n.cssRules.length)}catch(t){console.warn("illegal rule",e)}}else{var r=g(this.opts);this.tags.push(r),r.appendChild(document.createTextNode(e+(t||"")))}this.ctr++,this.ctr%65e3==0&&this.tags.push(g(this.opts))},t.flush=function(){this.tags.forEach(function(e){return e.parentNode.removeChild(e)}),this.tags=[],this.ctr=0,this.injected=!1},e}();t.default=function(e,t){if(void 0!==e.__SECRET_EMOTION__)return e.__SECRET_EMOTION__;void 0===t&&(t={});var n,r=t.key||"css";if(/[^a-z-]/.test(r))throw new Error('Emotion key must only contain lower case alphabetical characters and - but "'+r+'" was passed');var o,i=l()(function(e){n+=e,b&&p.insert(e,f)});void 0!==t.prefix&&(o={prefix:t.prefix});var u={registered:{},inserted:{},nonce:t.nonce,key:r},p=new v(t);b&&p.inject();var m=new a.default(o);m.use(t.stylisPlugins)(i);var f="";function g(e,t){if(null==e)return"";switch(typeof e){case"boolean":return"";case"function":if(void 0!==e.__emotion_styles){var n=e.toString();if("NO_COMPONENT_SELECTOR"===n)throw new Error("Component selectors can only be used in conjunction with babel-plugin-emotion.");return n}return void 0===this&&console.error("Interpolating functions in css calls is deprecated and will be removed in the next major version of Emotion.\nIf you want to have a css call based on props, create a function that returns a css call like this\nlet dynamicStyle = (props) => css`color: ${props.color}`\nIt can be called directly with props or interpolated in a styled call like this\nlet SomeComponent = styled('div')`${dynamicStyle}`"),g.call(this,void 0===this?e():e(this.mergedProps,this.context),t);case"object":return function(e){if(w.has(e))return w.get(e);var t="";return Array.isArray(e)?e.forEach(function(e){t+=g.call(this,e,!1)},this):Object.keys(e).forEach(function(n){if("object"!=typeof e[n])void 0!==u.registered[e[n]]?t+=n+"{"+u.registered[e[n]]+"}":t+=c(n)+":"+d(n,e[n])+";";else{if("NO_COMPONENT_SELECTOR"===n)throw new Error("Component selectors can only be used in conjunction with babel-plugin-emotion.");Array.isArray(e[n])&&"string"==typeof e[n][0]&&void 0===u.registered[e[n][0]]?e[n].forEach(function(e){t+=c(n)+":"+d(n,e)+";"}):t+=n+"{"+g.call(this,e[n],!1)+"}"}},this),w.set(e,t),t}.call(this,e);default:var r=u.registered[e];return!1===t&&void 0!==r?r:e}}var y,E,w=new WeakMap,j=/label:\s*([^\s;\n{]+)\s*;/g,O=function(e,t){return Object(s.default)(e+t)+t},_=O,C=/\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g;O=function(e,t){return _(e.replace(C,function(e){return f=e,""}),t)};var k=function(e){var t=!0,n="",r="";null==e||void 0===e.raw?(t=!1,n+=g.call(this,e,!1)):n+=e[0];for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;a<o;a++)s[a-1]=arguments[a];return s.forEach(function(r,o){n+=g.call(this,r,46===n.charCodeAt(n.length-1)),!0===t&&void 0!==e[o+1]&&(n+=e[o+1])},this),E=n,n=n.replace(j,function(e,t){return r+="-"+t,""}),y=O(n,r),n},x=m;function S(e,t){void 0===u.inserted[y]&&(n="",m(e,t),u.inserted[y]=n)}m=function(e,t){x(e,t),f=""};var A=function(){var e=k.apply(this,arguments),t=r+"-"+y;return void 0===u.registered[t]&&(u.registered[t]=E),S("."+t,e),t};function P(e,t){var n="";return t.split(" ").forEach(function(t){void 0!==u.registered[t]?e.push(t):n+=t+" "}),n}function N(e,t){var n=[],r=P(n,e);return n.length<2?e:r+A(n,t)}function D(e){u.inserted[e]=!0}if(b){var F=document.querySelectorAll("[data-emotion-"+r+"]");Array.prototype.forEach.call(F,function(e){p.tags[0].parentNode.insertBefore(e,p.tags[0]),e.getAttribute("data-emotion-"+r).split(" ").forEach(D)})}var T={flush:function(){b&&(p.flush(),p.inject()),u.inserted={},u.registered={}},hydrate:function(e){e.forEach(D)},cx:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return N(h(t))},merge:N,getRegisteredStyles:P,injectGlobal:function(){S("",k.apply(this,arguments))},keyframes:function(){var e=k.apply(this,arguments),t="animation-"+y;return S("","@keyframes "+t+"{"+e+"}"),t},css:A,sheet:p,caches:u};return e.__SECRET_EMOTION__=T,T}},"./node_modules/dom-helpers/class/addClass.js":
 /*!****************************************************!*\
   !*** ./node_modules/dom-helpers/class/addClass.js ***!
   \****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(__webpack_require__(/*! ./hasClass */ \"./node_modules/dom-helpers/class/hasClass.js\"));\n\nfunction addClass(element, className) {\n  if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];\n\n//# sourceURL=webpack:///./node_modules/dom-helpers/class/addClass.js?");
-
-/***/ }),
-
-/***/ "./node_modules/dom-helpers/class/hasClass.js":
+/*! no static exports found */function(e,t,n){"use strict";var r=n(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");t.__esModule=!0,t.default=function(e,t){e.classList?e.classList.add(t):(0,o.default)(e,t)||("string"==typeof e.className?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))};var o=r(n(/*! ./hasClass */"./node_modules/dom-helpers/class/hasClass.js"));e.exports=t.default},"./node_modules/dom-helpers/class/hasClass.js":
 /*!****************************************************!*\
   !*** ./node_modules/dom-helpers/class/hasClass.js ***!
   \****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n  if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];\n\n//# sourceURL=webpack:///./node_modules/dom-helpers/class/hasClass.js?");
-
-/***/ }),
-
-/***/ "./node_modules/dom-helpers/class/removeClass.js":
+/*! no static exports found */function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")},e.exports=t.default},"./node_modules/dom-helpers/class/removeClass.js":
 /*!*******************************************************!*\
   !*** ./node_modules/dom-helpers/class/removeClass.js ***!
   \*******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nfunction replaceClassName(origClass, classToRemove) {\n  return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n  if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};\n\n//# sourceURL=webpack:///./node_modules/dom-helpers/class/removeClass.js?");
-
-/***/ }),
-
-/***/ "./node_modules/emotion/dist/index.esm.js":
+/*! no static exports found */function(e,t,n){"use strict";function r(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}e.exports=function(e,t){e.classList?e.classList.remove(t):"string"==typeof e.className?e.className=r(e.className,t):e.setAttribute("class",r(e.className&&e.className.baseVal||"",t))}},"./node_modules/emotion/dist/index.esm.js":
 /*!************************************************!*\
   !*** ./node_modules/emotion/dist/index.esm.js ***!
   \************************************************/
-/*! exports provided: flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, caches */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flush\", function() { return flush; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hydrate\", function() { return hydrate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cx\", function() { return cx; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRegisteredStyles\", function() { return getRegisteredStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"injectGlobal\", function() { return injectGlobal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keyframes\", function() { return keyframes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"css\", function() { return css; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sheet\", function() { return sheet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"caches\", function() { return caches; });\n/* harmony import */ var create_emotion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! create-emotion */ \"./node_modules/create-emotion/dist/index.esm.js\");\n\n\nvar context = typeof global !== 'undefined' ? global : {};\n\nvar _createEmotion = Object(create_emotion__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(context),\n    flush = _createEmotion.flush,\n    hydrate = _createEmotion.hydrate,\n    cx = _createEmotion.cx,\n    merge = _createEmotion.merge,\n    getRegisteredStyles = _createEmotion.getRegisteredStyles,\n    injectGlobal = _createEmotion.injectGlobal,\n    keyframes = _createEmotion.keyframes,\n    css = _createEmotion.css,\n    sheet = _createEmotion.sheet,\n    caches = _createEmotion.caches;\n\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/emotion/dist/index.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/memoize-one/dist/memoize-one.esm.js":
+/*! exports provided: flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, caches */function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"flush",function(){return a}),n.d(t,"hydrate",function(){return i}),n.d(t,"cx",function(){return l}),n.d(t,"merge",function(){return u}),n.d(t,"getRegisteredStyles",function(){return c}),n.d(t,"injectGlobal",function(){return d}),n.d(t,"keyframes",function(){return p}),n.d(t,"css",function(){return m}),n.d(t,"sheet",function(){return f}),n.d(t,"caches",function(){return h});var r=n(/*! create-emotion */"./node_modules/create-emotion/dist/index.esm.js"),o=void 0!==e?e:{},s=Object(r.default)(o),a=s.flush,i=s.hydrate,l=s.cx,u=s.merge,c=s.getRegisteredStyles,d=s.injectGlobal,p=s.keyframes,m=s.css,f=s.sheet,h=s.caches}.call(this,n(/*! ./../../webpack/buildin/global.js */"./node_modules/webpack/buildin/global.js"))},"./node_modules/memoize-one/dist/memoize-one.esm.js":
 /*!**********************************************************!*\
   !*** ./node_modules/memoize-one/dist/memoize-one.esm.js ***!
   \**********************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\nvar simpleIsEqual = function simpleIsEqual(a, b) {\n  return a === b;\n};\n\nfunction index (resultFn, isEqual) {\n  if (isEqual === void 0) {\n    isEqual = simpleIsEqual;\n  }\n\n  var lastThis;\n  var lastArgs = [];\n  var lastResult;\n  var calledOnce = false;\n\n  var isNewArgEqualToLast = function isNewArgEqualToLast(newArg, index) {\n    return isEqual(newArg, lastArgs[index]);\n  };\n\n  var result = function result() {\n    for (var _len = arguments.length, newArgs = new Array(_len), _key = 0; _key < _len; _key++) {\n      newArgs[_key] = arguments[_key];\n    }\n\n    if (calledOnce && lastThis === this && newArgs.length === lastArgs.length && newArgs.every(isNewArgEqualToLast)) {\n      return lastResult;\n    }\n\n    lastResult = resultFn.apply(this, newArgs);\n    calledOnce = true;\n    lastThis = this;\n    lastArgs = newArgs;\n    return lastResult;\n  };\n\n  return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n\n//# sourceURL=webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/object-assign/index.js":
+/*! exports provided: default */function(e,t,n){"use strict";n.r(t);var r=function(e,t){return e.length===t.length&&e.every(function(e,n){return function(e,t){return e===t}(e,t[n])})};t.default=function(e,t){var n;void 0===t&&(t=r);var o,s=[],a=!1;return function(){for(var r=arguments.length,i=new Array(r),l=0;l<r;l++)i[l]=arguments[l];return a&&n===this&&t(i,s)?o:(o=e.apply(this,i),a=!0,n=this,s=i,o)}}},"./node_modules/object-assign/index.js":
 /*!*********************************************!*\
   !*** ./node_modules/object-assign/index.js ***!
   \*********************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n//# sourceURL=webpack:///./node_modules/object-assign/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/performance-now/lib/performance-now.js":
+/*! no static exports found */function(e,t,n){"use strict";
+/*
+object-assign
+(c) Sindre Sorhus
+@license MIT
+*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,i=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var u in n=Object(arguments[l]))o.call(n,u)&&(i[u]=n[u]);if(r){a=r(n);for(var c=0;c<a.length;c++)s.call(n,a[c])&&(i[a[c]]=n[a[c]])}}return i}},"./node_modules/performance-now/lib/performance-now.js":
 /*!*************************************************************!*\
   !*** ./node_modules/performance-now/lib/performance-now.js ***!
   \*************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.12.2\n(function() {\n  var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n  if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n    module.exports = function() {\n      return performance.now();\n    };\n  } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n    module.exports = function() {\n      return (getNanoSeconds() - nodeLoadTime) / 1e6;\n    };\n    hrtime = process.hrtime;\n    getNanoSeconds = function() {\n      var hr;\n      hr = hrtime();\n      return hr[0] * 1e9 + hr[1];\n    };\n    moduleLoadTime = getNanoSeconds();\n    upTime = process.uptime() * 1e9;\n    nodeLoadTime = moduleLoadTime - upTime;\n  } else if (Date.now) {\n    module.exports = function() {\n      return Date.now() - loadTime;\n    };\n    loadTime = Date.now();\n  } else {\n    module.exports = function() {\n      return new Date().getTime() - loadTime;\n    };\n    loadTime = new Date().getTime();\n  }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/performance-now/lib/performance-now.js?");
-
-/***/ }),
-
-/***/ "./node_modules/process/browser.js":
+/*! no static exports found */function(e,t,n){(function(t){(function(){var n,r,o,s,a,i;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:void 0!==t&&null!==t&&t.hrtime?(e.exports=function(){return(n()-a)/1e6},r=t.hrtime,s=(n=function(){var e;return 1e9*(e=r())[0]+e[1]})(),i=1e9*t.uptime(),a=s-i):Date.now?(e.exports=function(){return Date.now()-o},o=Date.now()):(e.exports=function(){return(new Date).getTime()-o},o=(new Date).getTime())}).call(this)}).call(this,n(/*! ./../../process/browser.js */"./node_modules/process/browser.js"))},"./node_modules/process/browser.js":
 /*!*****************************************!*\
   !*** ./node_modules/process/browser.js ***!
   \*****************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack:///./node_modules/process/browser.js?");
-
-/***/ }),
-
-/***/ "./node_modules/prop-types/checkPropTypes.js":
+/*! no static exports found */function(e,t){var n,r,o=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function i(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l,u=[],c=!1,d=-1;function p(){c&&l&&(c=!1,l.length?u=l.concat(u):d=-1,u.length&&m())}function m(){if(!c){var e=i(p);c=!0;for(var t=u.length;t;){for(l=u,u=[];++d<t;)l&&l[d].run();d=-1,t=u.length}l=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.array=t}function h(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new f(e,t)),1!==u.length||c||i(m)},f.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=h,o.addListener=h,o.once=h,o.off=h,o.removeListener=h,o.removeAllListeners=h,o.emit=h,o.prependListener=h,o.prependOnceListener=h,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},"./node_modules/prop-types/checkPropTypes.js":
 /*!***************************************************!*\
   !*** ./node_modules/prop-types/checkPropTypes.js ***!
   \***************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n  var loggedTypeFailures = {};\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (true) {\n    for (var typeSpecName in typeSpecs) {\n      if (typeSpecs.hasOwnProperty(typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          )\n\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\nmodule.exports = checkPropTypes;\n\n\n//# sourceURL=webpack:///./node_modules/prop-types/checkPropTypes.js?");
-
-/***/ }),
-
-/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js":
+/*! no static exports found */function(e,t,n){"use strict";var r=function(){},o=n(/*! ./lib/ReactPropTypesSecret */"./node_modules/prop-types/lib/ReactPropTypesSecret.js"),s={};r=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}},e.exports=function(e,t,n,a,i){for(var l in e)if(e.hasOwnProperty(l)){var u;try{if("function"!=typeof e[l]){var c=Error((a||"React class")+": "+n+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[l]+"`.");throw c.name="Invariant Violation",c}u=e[l](t,l,a,n,null,o)}catch(e){u=e}if(!u||u instanceof Error||r((a||"React class")+": type specification of "+n+" `"+l+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error&&!(u.message in s)){s[u.message]=!0;var d=i?i():"";r("Failed "+n+" type: "+u.message+(null!=d?d:""))}}}},"./node_modules/prop-types/factoryWithTypeCheckers.js":
 /*!************************************************************!*\
   !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!
   \************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar printWarning = function() {};\n\nif (true) {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message) {\n    this.message = message;\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (true) {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if ( true && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n       true ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : undefined;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues);\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (propValue.hasOwnProperty(key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n       true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n          return null;\n        }\n      }\n\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          continue;\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from\n      // props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n\n\n//# sourceURL=webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js?");
-
-/***/ }),
-
-/***/ "./node_modules/prop-types/index.js":
+/*! no static exports found */function(e,t,n){"use strict";var r=n(/*! object-assign */"./node_modules/object-assign/index.js"),o=n(/*! ./lib/ReactPropTypesSecret */"./node_modules/prop-types/lib/ReactPropTypesSecret.js"),s=n(/*! ./checkPropTypes */"./node_modules/prop-types/checkPropTypes.js"),a=function(){};function i(){return null}a=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}},e.exports=function(e,t){var n="function"==typeof Symbol&&Symbol.iterator,l="@@iterator";var u="<<anonymous>>",c={array:f("array"),bool:f("boolean"),func:f("function"),number:f("number"),object:f("object"),string:f("string"),symbol:f("symbol"),any:m(i),arrayOf:function(e){return m(function(t,n,r,s,a){if("function"!=typeof e)return new p("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var i=t[n];if(!Array.isArray(i)){var l=b(i);return new p("Invalid "+s+" `"+a+"` of type `"+l+"` supplied to `"+r+"`, expected an array.")}for(var u=0;u<i.length;u++){var c=e(i,u,r,s,a+"["+u+"]",o);if(c instanceof Error)return c}return null})},element:function(){return m(function(t,n,r,o,s){var a=t[n];if(!e(a)){var i=b(a);return new p("Invalid "+o+" `"+s+"` of type `"+i+"` supplied to `"+r+"`, expected a single ReactElement.")}return null})}(),instanceOf:function(e){return m(function(t,n,r,o,s){if(!(t[n]instanceof e)){var a=e.name||u,i=function(e){if(!e.constructor||!e.constructor.name)return u;return e.constructor.name}(t[n]);return new p("Invalid "+o+" `"+s+"` of type `"+i+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}return null})},node:function(){return m(function(e,t,n,r,o){if(!h(e[t]))return new p("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.");return null})}(),objectOf:function(e){return m(function(t,n,r,s,a){if("function"!=typeof e)return new p("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var i=t[n],l=b(i);if("object"!==l)return new p("Invalid "+s+" `"+a+"` of type `"+l+"` supplied to `"+r+"`, expected an object.");for(var u in i)if(i.hasOwnProperty(u)){var c=e(i,u,r,s,a+"."+u,o);if(c instanceof Error)return c}return null})},oneOf:function(e){if(!Array.isArray(e))return a("Invalid argument supplied to oneOf, expected an instance of array."),i;return m(function(t,n,r,o,s){for(var a=t[n],i=0;i<e.length;i++)if(d(a,e[i]))return null;var l=JSON.stringify(e);return new p("Invalid "+o+" `"+s+"` of value `"+a+"` supplied to `"+r+"`, expected one of "+l+".")})},oneOfType:function(e){if(!Array.isArray(e))return a("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var t=0;t<e.length;t++){var n=e[t];if("function"!=typeof n)return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+v(n)+" at index "+t+"."),i}return m(function(t,n,r,s,a){for(var i=0;i<e.length;i++){var l=e[i];if(null==l(t,n,r,s,a,o))return null}return new p("Invalid "+s+" `"+a+"` supplied to `"+r+"`.")})},shape:function(e){return m(function(t,n,r,s,a){var i=t[n],l=b(i);if("object"!==l)return new p("Invalid "+s+" `"+a+"` of type `"+l+"` supplied to `"+r+"`, expected `object`.");for(var u in e){var c=e[u];if(c){var d=c(i,u,r,s,a+"."+u,o);if(d)return d}}return null})},exact:function(e){return m(function(t,n,s,a,i){var l=t[n],u=b(l);if("object"!==u)return new p("Invalid "+a+" `"+i+"` of type `"+u+"` supplied to `"+s+"`, expected `object`.");var c=r({},t[n],e);for(var d in c){var m=e[d];if(!m)return new p("Invalid "+a+" `"+i+"` key `"+d+"` supplied to `"+s+"`.\nBad object: "+JSON.stringify(t[n],null,"  ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null,"  "));var f=m(l,d,s,a,i+"."+d,o);if(f)return f}return null})}};function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function p(e){this.message=e,this.stack=""}function m(e){var n={},r=0;function s(s,i,l,c,d,m,f){if(c=c||u,m=m||l,f!==o){if(t){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}if("undefined"!=typeof console){var b=c+":"+l;!n[b]&&r<3&&(a("You are manually calling a React.PropTypes validation function for the `"+m+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[b]=!0,r++)}}return null==i[l]?s?null===i[l]?new p("The "+d+" `"+m+"` is marked as required in `"+c+"`, but its value is `null`."):new p("The "+d+" `"+m+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:e(i,l,c,d,m)}var i=s.bind(null,!1);return i.isRequired=s.bind(null,!0),i}function f(e){return m(function(t,n,r,o,s,a){var i=t[n];return b(i)!==e?new p("Invalid "+o+" `"+s+"` of type `"+g(i)+"` supplied to `"+r+"`, expected `"+e+"`."):null})}function h(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(h);if(null===t||e(t))return!0;var r=function(e){var t=e&&(n&&e[n]||e[l]);if("function"==typeof t)return t}(t);if(!r)return!1;var o,s=r.call(t);if(r!==t.entries){for(;!(o=s.next()).done;)if(!h(o.value))return!1}else for(;!(o=s.next()).done;){var a=o.value;if(a&&!h(a[1]))return!1}return!0;default:return!1}}function b(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol}(t,e)?"symbol":t}function g(e){if(void 0===e||null===e)return""+e;var t=b(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function v(e){var t=g(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return p.prototype=Error.prototype,c.checkPropTypes=s,c.PropTypes=c,c}},"./node_modules/prop-types/index.js":
 /*!******************************************!*\
   !*** ./node_modules/prop-types/index.js ***!
   \******************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (true) {\n  var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n    Symbol.for &&\n    Symbol.for('react.element')) ||\n    0xeac7;\n\n  var isValidElement = function(object) {\n    return typeof object === 'object' &&\n      object !== null &&\n      object.$$typeof === REACT_ELEMENT_TYPE;\n  };\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ \"./node_modules/prop-types/factoryWithTypeCheckers.js\")(isValidElement, throwOnDirectAccess);\n} else {}\n\n\n//# sourceURL=webpack:///./node_modules/prop-types/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js":
+/*! no static exports found */function(e,t,n){var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n(/*! ./factoryWithTypeCheckers */"./node_modules/prop-types/factoryWithTypeCheckers.js")(function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},!0)},"./node_modules/prop-types/lib/ReactPropTypesSecret.js":
 /*!*************************************************************!*\
   !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
   \*************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n//# sourceURL=webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js?");
-
-/***/ }),
-
-/***/ "./node_modules/raf/index.js":
+/*! no static exports found */function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},"./node_modules/raf/index.js":
 /*!***********************************!*\
   !*** ./node_modules/raf/index.js ***!
   \***********************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(/*! performance-now */ \"./node_modules/performance-now/lib/performance-now.js\")\n  , root = typeof window === 'undefined' ? global : window\n  , vendors = ['moz', 'webkit']\n  , suffix = 'AnimationFrame'\n  , raf = root['request' + suffix]\n  , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n  raf = root[vendors[i] + 'Request' + suffix]\n  caf = root[vendors[i] + 'Cancel' + suffix]\n      || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n  var last = 0\n    , id = 0\n    , queue = []\n    , frameDuration = 1000 / 60\n\n  raf = function(callback) {\n    if(queue.length === 0) {\n      var _now = now()\n        , next = Math.max(0, frameDuration - (_now - last))\n      last = next + _now\n      setTimeout(function() {\n        var cp = queue.slice(0)\n        // Clear queue here to prevent\n        // callbacks from appending listeners\n        // to the current frame's queue\n        queue.length = 0\n        for(var i = 0; i < cp.length; i++) {\n          if(!cp[i].cancelled) {\n            try{\n              cp[i].callback(last)\n            } catch(e) {\n              setTimeout(function() { throw e }, 0)\n            }\n          }\n        }\n      }, Math.round(next))\n    }\n    queue.push({\n      handle: ++id,\n      callback: callback,\n      cancelled: false\n    })\n    return id\n  }\n\n  caf = function(handle) {\n    for(var i = 0; i < queue.length; i++) {\n      if(queue[i].handle === handle) {\n        queue[i].cancelled = true\n      }\n    }\n  }\n}\n\nmodule.exports = function(fn) {\n  // Wrap in a new function to prevent\n  // `cancel` potentially being assigned\n  // to the native rAF function\n  return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n  caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n  if (!object) {\n    object = root;\n  }\n  object.requestAnimationFrame = raf\n  object.cancelAnimationFrame = caf\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/raf/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-input-autosize/lib/AutosizeInput.js":
+/*! no static exports found */function(e,t,n){(function(t){for(var r=n(/*! performance-now */"./node_modules/performance-now/lib/performance-now.js"),o="undefined"==typeof window?t:window,s=["moz","webkit"],a="AnimationFrame",i=o["request"+a],l=o["cancel"+a]||o["cancelRequest"+a],u=0;!i&&u<s.length;u++)i=o[s[u]+"Request"+a],l=o[s[u]+"Cancel"+a]||o[s[u]+"CancelRequest"+a];if(!i||!l){var c=0,d=0,p=[];i=function(e){if(0===p.length){var t=r(),n=Math.max(0,1e3/60-(t-c));c=n+t,setTimeout(function(){var e=p.slice(0);p.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(c)}catch(e){setTimeout(function(){throw e},0)}},Math.round(n))}return p.push({handle:++d,callback:e,cancelled:!1}),d},l=function(e){for(var t=0;t<p.length;t++)p[t].handle===e&&(p[t].cancelled=!0)}}e.exports=function(e){return i.call(o,e)},e.exports.cancel=function(){l.apply(o,arguments)},e.exports.polyfill=function(e){e||(e=o),e.requestAnimationFrame=i,e.cancelAnimationFrame=l}}).call(this,n(/*! ./../webpack/buildin/global.js */"./node_modules/webpack/buildin/global.js"))},"./node_modules/react-input-autosize/lib/AutosizeInput.js":
 /*!****************************************************************!*\
   !*** ./node_modules/react-input-autosize/lib/AutosizeInput.js ***!
   \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\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 _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId()\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillReceiveProps',\n\t\tvalue: function componentWillReceiveProps(nextProps) {\n\t\t\tvar id = nextProps.id;\n\n\t\t\tif (id !== this.props.id) {\n\t\t\t\tthis.setState({ inputId: id || generateId() });\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;\n\n//# sourceURL=webpack:///./node_modules/react-input-autosize/lib/AutosizeInput.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js":
+/*! no static exports found */function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(/*! react */"react"),a=l(s),i=l(n(/*! prop-types */"./node_modules/prop-types/index.js"));function l(e){return e&&e.__esModule?e:{default:e}}var u={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},c=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],d=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},p=!("undefined"==typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),m=function(){return p?"_"+Math.random().toString(36).substr(2,12):void 0},f=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"==typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||m()},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.Component),o(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentWillReceiveProps",value:function(e){var t=e.id;t!==this.props.id&&this.setState({inputId:t||m()})}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"==typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(d(e,this.sizer),this.placeHolderSizer&&d(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&void 0!==this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return p&&e?a.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce(function(e,t){return null!==e&&void 0!==e?e:t}),t=r({},this.props.style);t.display||(t.display="inline-block");var n=r({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),o=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},o,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:u},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:u},this.props.placeholder):null)}}]),t}();f.propTypes={className:i.default.string,defaultValue:i.default.any,extraWidth:i.default.oneOfType([i.default.number,i.default.string]),id:i.default.string,injectStyles:i.default.bool,inputClassName:i.default.string,inputRef:i.default.func,inputStyle:i.default.object,minWidth:i.default.oneOfType([i.default.number,i.default.string]),onAutosize:i.default.func,onChange:i.default.func,placeholder:i.default.string,placeholderIsMinWidth:i.default.bool,style:i.default.object,value:i.default.any},f.defaultProps={minWidth:1,injectStyles:!0},t.default=f},"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js":
 /*!****************************************************************************!*\
   !*** ./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js ***!
   \****************************************************************************/
-/*! exports provided: polyfill */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"polyfill\", function() { return polyfill; });\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-select/dist/react-select.esm.js":
+/*! exports provided: polyfill */function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!==n&&void 0!==n?n:null}.bind(this))}function s(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,a=null,i=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?i="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(i="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==i){var l=e.displayName||e.name,u="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+l+" uses "+u+" but also contains the following legacy lifecycles:"+(null!==n?"\n  "+n:"")+(null!==a?"\n  "+a:"")+(null!==i?"\n  "+i:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=s;var c=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return a}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,s.__suppressDeprecationWarning=!0},"./node_modules/react-select/dist/react-select.esm.js":
 /*!************************************************************!*\
   !*** ./node_modules/react-select/dist/react-select.esm.js ***!
   \************************************************************/
-/*! exports provided: default, SelectBase, Async, AsyncCreatable, Creatable, createFilter, makeAnimated, components, mergeStyles, defaultTheme */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SelectBase\", function() { return Select; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Async\", function() { return Async; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AsyncCreatable\", function() { return AsyncCreatable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Creatable\", function() { return Creatable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFilter\", function() { return createFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeAnimated\", function() { return index; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"components\", function() { return components; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeStyles\", function() { return mergeStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultTheme\", function() { return defaultTheme; });\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! raf */ \"./node_modules/raf/index.js\");\n/* harmony import */ var raf__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(raf__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var emotion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! emotion */ \"./node_modules/emotion/dist/index.esm.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ \"react-dom\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_input_autosize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-input-autosize */ \"./node_modules/react-input-autosize/lib/AutosizeInput.js\");\n/* harmony import */ var react_input_autosize__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_input_autosize__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! memoize-one */ \"./node_modules/memoize-one/dist/memoize-one.esm.js\");\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/index.js\");\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_transition_group__WEBPACK_IMPORTED_MODULE_7__);\n\n\n\n\n\n\n\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n  return typeof obj;\n} : function (obj) {\n  return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\nvar defineProperty = function (obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar inherits = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n  var target = {};\n\n  for (var i in obj) {\n    if (keys.indexOf(i) >= 0) continue;\n    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n    target[i] = obj[i];\n  }\n\n  return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\n// ==============================\n// NO OP\n// ==============================\n\nvar noop = function noop() {};\n\n// ==============================\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n   @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n   @returns 'react-select__comp react-select__comp--some'\n*/\nfunction applyPrefixToName(prefix, name) {\n  if (!name) {\n    return prefix;\n  } else if (name[0] === '-') {\n    return prefix + name;\n  } else {\n    return prefix + '__' + name;\n  }\n}\n\nfunction classNames(prefix, cssKey, state, className) {\n  var arr = [cssKey, className];\n  if (state && prefix) {\n    for (var key in state) {\n      if (state.hasOwnProperty(key) && state[key]) {\n        arr.push('' + applyPrefixToName(prefix, key));\n      }\n    }\n  }\n\n  return arr.filter(function (i) {\n    return i;\n  }).map(function (i) {\n    return String(i).trim();\n  }).join(' ');\n}\n// ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n  if (Array.isArray(value)) return value.filter(Boolean);\n  if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value !== null) return [value];\n  return [];\n};\n\n// ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n  if (onInputChange) {\n    var newValue = onInputChange(inputValue, actionMeta);\n    if (typeof newValue === 'string') return newValue;\n  }\n  return inputValue;\n}\n\n// ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n  return [document.documentElement, document.body, window].indexOf(el) > -1;\n}\n\n// Normalized scrollTo & scrollTop\n// ------------------------------\n\nfunction getScrollTop(el) {\n  if (isDocumentElement(el)) {\n    return window.pageYOffset;\n  }\n  return el.scrollTop;\n}\n\nfunction scrollTo(el, top) {\n  // with a scroll distance, we perform scroll on the element\n  if (isDocumentElement(el)) {\n    window.scrollTo(0, top);\n    return;\n  }\n\n  el.scrollTop = top;\n}\n\n// Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n  var style = getComputedStyle(element);\n  var excludeStaticParent = style.position === 'absolute';\n  var overflowRx = /(auto|scroll)/;\n  var docEl = document.documentElement; // suck it, flow...\n\n  if (style.position === 'fixed') return docEl;\n\n  for (var parent = element; parent = parent.parentElement;) {\n    style = getComputedStyle(parent);\n    if (excludeStaticParent && style.position === 'static') {\n      continue;\n    }\n    if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n      return parent;\n    }\n  }\n\n  return docEl;\n}\n\n// Animated Scroll To\n// ------------------------------\n\n/**\n  @param t: time (elapsed)\n  @param b: initial value\n  @param c: amount of change\n  @param d: duration\n*/\nfunction easeOutCubic(t, b, c, d) {\n  return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n  var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n  var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n\n  var start = getScrollTop(element);\n  var change = to - start;\n  var increment = 10;\n  var currentTime = 0;\n\n  function animateScroll() {\n    currentTime += increment;\n    var val = easeOutCubic(currentTime, start, change, duration);\n    scrollTo(element, val);\n    if (currentTime < duration) {\n      raf__WEBPACK_IMPORTED_MODULE_0___default()(animateScroll);\n    } else {\n      callback(element);\n    }\n  }\n  animateScroll();\n}\n\n// Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n  var menuRect = menuEl.getBoundingClientRect();\n  var focusedRect = focusedEl.getBoundingClientRect();\n  var overScroll = focusedEl.offsetHeight / 3;\n\n  if (focusedRect.bottom + overScroll > menuRect.bottom) {\n    scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n  } else if (focusedRect.top - overScroll < menuRect.top) {\n    scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n  }\n}\n\n// ==============================\n// Get bounding client object\n// ==============================\n\n// cannot get keys using array notation with DOMRect\nfunction getBoundingClientObj(element) {\n  var rect = element.getBoundingClientRect();\n  return {\n    bottom: rect.bottom,\n    height: rect.height,\n    left: rect.left,\n    right: rect.right,\n    top: rect.top,\n    width: rect.width\n  };\n}\n\n// ==============================\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n  try {\n    document.createEvent('TouchEvent');\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\n// ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n  try {\n    return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)\n    );\n  } catch (e) {\n    return false;\n  }\n}\n\n// ==============================\n// Menu\n// ==============================\n\n// Get Menu Placement\n// ------------------------------\n\nfunction getMenuPlacement(_ref) {\n  var maxHeight = _ref.maxHeight,\n      menuEl = _ref.menuEl,\n      minHeight = _ref.minHeight,\n      placement = _ref.placement,\n      shouldScroll = _ref.shouldScroll,\n      isFixedPosition = _ref.isFixedPosition,\n      theme = _ref.theme;\n  var spacing = theme.spacing;\n\n  var scrollParent = getScrollParent(menuEl);\n  var defaultState = { placement: 'bottom', maxHeight: maxHeight };\n\n  // something went wrong, return default state\n  if (!menuEl || !menuEl.offsetParent) return defaultState;\n\n  // we can't trust `scrollParent.scrollHeight` --> it may increase when\n  // the menu is rendered\n\n  var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n      scrollHeight = _scrollParent$getBoun.height;\n\n  var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n      menuBottom = _menuEl$getBoundingCl.bottom,\n      menuHeight = _menuEl$getBoundingCl.height,\n      menuTop = _menuEl$getBoundingCl.top;\n\n  // $FlowFixMe function returns above if there's no offsetParent\n\n\n  var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n      containerTop = _menuEl$offsetParent$.top;\n\n  var viewHeight = window.innerHeight;\n  var scrollTop = getScrollTop(scrollParent);\n\n  var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n  var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n  var viewSpaceAbove = containerTop - marginTop;\n  var viewSpaceBelow = viewHeight - menuTop;\n  var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n  var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n\n  var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n  var scrollUp = scrollTop + menuTop - marginTop;\n  var scrollDuration = 160;\n\n  switch (placement) {\n    case 'auto':\n    case 'bottom':\n      // 1: the menu will fit, do nothing\n      if (viewSpaceBelow >= menuHeight) {\n        return { placement: 'bottom', maxHeight: maxHeight };\n      }\n\n      // 2: the menu will fit, if scrolled\n      if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n        }\n\n        return { placement: 'bottom', maxHeight: maxHeight };\n      }\n\n      // 3: the menu will fit, if constrained\n      if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n        }\n\n        // we want to provide as much of the menu as possible to the user,\n        // so give them whatever is available below rather than the minHeight.\n        var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n\n        return {\n          placement: 'bottom',\n          maxHeight: constrainedHeight\n        };\n      }\n\n      // 4. Forked beviour when there isn't enough space below\n\n      // AUTO: flip the menu, render above\n      if (placement === 'auto' || isFixedPosition) {\n        // may need to be constrained after flipping\n        var _constrainedHeight = maxHeight;\n\n        if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n          _constrainedHeight = isFixedPosition ? viewSpaceAbove - marginBottom - spacing.controlHeight : scrollSpaceAbove - marginBottom - spacing.controlHeight;\n        }\n\n        return { placement: 'top', maxHeight: _constrainedHeight };\n      }\n\n      // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n      if (placement === 'bottom') {\n        scrollTo(scrollParent, scrollDown);\n        return { placement: 'bottom', maxHeight: maxHeight };\n      }\n      break;\n    case 'top':\n      // 1: the menu will fit, do nothing\n      if (viewSpaceAbove >= menuHeight) {\n        return { placement: 'top', maxHeight: maxHeight };\n      }\n\n      // 2: the menu will fit, if scrolled\n      if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n        }\n\n        return { placement: 'top', maxHeight: maxHeight };\n      }\n\n      // 3: the menu will fit, if constrained\n      if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n        var _constrainedHeight2 = maxHeight;\n\n        // we want to provide as much of the menu as possible to the user,\n        // so give them whatever is available below rather than the minHeight.\n        if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n          _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n        }\n\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n        }\n\n        return {\n          placement: 'top',\n          maxHeight: _constrainedHeight2\n        };\n      }\n\n      // 4. not enough space, the browser WILL NOT increase scrollable area when\n      // absolutely positioned element rendered above the viewport (only below).\n      // Flip the menu, render below\n      return { placement: 'bottom', maxHeight: maxHeight };\n    default:\n      throw new Error('Invalid placement provided \"' + placement + '\".');\n  }\n\n  // fulfil contract with flow: implicit return value of undefined\n  return defaultState;\n}\n\n// Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n  var placementToCSSProp = { bottom: 'top', top: 'bottom' };\n  return placement ? placementToCSSProp[placement] : 'bottom';\n}\nvar coercePlacement = function coercePlacement(p) {\n  return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n  var _ref3;\n\n  var placement = _ref2.placement,\n      _ref2$theme = _ref2.theme,\n      borderRadius = _ref2$theme.borderRadius,\n      spacing = _ref2$theme.spacing,\n      colors = _ref2$theme.colors;\n  return _ref3 = {}, defineProperty(_ref3, alignToControl(placement), '100%'), defineProperty(_ref3, 'backgroundColor', colors.neutral0), defineProperty(_ref3, 'borderRadius', borderRadius), defineProperty(_ref3, 'boxShadow', '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), defineProperty(_ref3, 'marginBottom', spacing.menuGutter), defineProperty(_ref3, 'marginTop', spacing.menuGutter), defineProperty(_ref3, 'position', 'absolute'), defineProperty(_ref3, 'width', '100%'), defineProperty(_ref3, 'zIndex', 1), _ref3;\n};\n\n// NOTE: internal only\nvar MenuPlacer = function (_Component) {\n  inherits(MenuPlacer, _Component);\n\n  function MenuPlacer() {\n    var _ref4;\n\n    var _temp, _this, _ret;\n\n    classCallCheck(this, MenuPlacer);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref4 = MenuPlacer.__proto__ || Object.getPrototypeOf(MenuPlacer)).call.apply(_ref4, [this].concat(args))), _this), _this.state = {\n      maxHeight: _this.props.maxMenuHeight,\n      placement: null\n    }, _this.getPlacement = function (ref) {\n      var _this$props = _this.props,\n          minMenuHeight = _this$props.minMenuHeight,\n          maxMenuHeight = _this$props.maxMenuHeight,\n          menuPlacement = _this$props.menuPlacement,\n          menuPosition = _this$props.menuPosition,\n          menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n          theme = _this$props.theme;\n      var getPortalPlacement = _this.context.getPortalPlacement;\n\n\n      if (!ref) return;\n\n      // DO NOT scroll if position is fixed\n      var isFixedPosition = menuPosition === 'fixed';\n      var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n\n      var state = getMenuPlacement({\n        maxHeight: maxMenuHeight,\n        menuEl: ref,\n        minHeight: minMenuHeight,\n        placement: menuPlacement,\n        shouldScroll: shouldScroll,\n        isFixedPosition: isFixedPosition,\n        theme: theme\n      });\n\n      if (getPortalPlacement) getPortalPlacement(state);\n\n      _this.setState(state);\n    }, _this.getUpdatedProps = function () {\n      var menuPlacement = _this.props.menuPlacement;\n\n      var placement = _this.state.placement || coercePlacement(menuPlacement);\n\n      return _extends({}, _this.props, { placement: placement, maxHeight: _this.state.maxHeight });\n    }, _temp), possibleConstructorReturn(_this, _ret);\n  }\n\n  createClass(MenuPlacer, [{\n    key: 'render',\n    value: function render() {\n      var children = this.props.children;\n\n\n      return children({\n        ref: this.getPlacement,\n        placerProps: this.getUpdatedProps()\n      });\n    }\n  }]);\n  return MenuPlacer;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nMenuPlacer.contextTypes = {\n  getPortalPlacement: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func\n};\nvar Menu = function Menu(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerRef = props.innerRef,\n      innerProps = props.innerProps;\n\n  var cn = cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('menu', props)), { menu: true }, className);\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({ className: cn }, innerProps, { ref: innerRef }),\n    children\n  );\n};\n\n// ==============================\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref5) {\n  var maxHeight = _ref5.maxHeight,\n      baseUnit = _ref5.theme.spacing.baseUnit;\n  return {\n    maxHeight: maxHeight,\n    overflowY: 'auto',\n    paddingBottom: baseUnit,\n    paddingTop: baseUnit,\n    position: 'relative', // required for offset[Height, Top] > keyboard scroll\n    WebkitOverflowScrolling: 'touch'\n  };\n};\nvar MenuList = function MenuList(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      isMulti = props.isMulti,\n      innerRef = props.innerRef;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    {\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('menuList', props)), {\n        'menu-list': true,\n        'menu-list--is-multi': isMulti\n      }, className),\n      ref: innerRef\n    },\n    children\n  );\n};\n\n// ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref6) {\n  var _ref6$theme = _ref6.theme,\n      baseUnit = _ref6$theme.spacing.baseUnit,\n      colors = _ref6$theme.colors;\n  return {\n    color: colors.neutral40,\n    padding: baseUnit * 2 + 'px ' + baseUnit * 3 + 'px',\n    textAlign: 'center'\n  };\n};\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\n\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('noOptionsMessage', props)), {\n        'menu-notice': true,\n        'menu-notice--no-options': true\n      }, className)\n    }, innerProps),\n    children\n  );\n};\nNoOptionsMessage.defaultProps = {\n  children: 'No options'\n};\n\nvar LoadingMessage = function LoadingMessage(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('loadingMessage', props)), {\n        'menu-notice': true,\n        'menu-notice--loading': true\n      }, className)\n    }, innerProps),\n    children\n  );\n};\nLoadingMessage.defaultProps = {\n  children: 'Loading...'\n};\n\n// ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref7) {\n  var rect = _ref7.rect,\n      offset = _ref7.offset,\n      position = _ref7.position;\n  return {\n    left: rect.left,\n    position: position,\n    top: offset,\n    width: rect.width,\n    zIndex: 1\n  };\n};\n\nvar MenuPortal = function (_Component2) {\n  inherits(MenuPortal, _Component2);\n\n  function MenuPortal() {\n    var _ref8;\n\n    var _temp2, _this2, _ret2;\n\n    classCallCheck(this, MenuPortal);\n\n    for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return _ret2 = (_temp2 = (_this2 = possibleConstructorReturn(this, (_ref8 = MenuPortal.__proto__ || Object.getPrototypeOf(MenuPortal)).call.apply(_ref8, [this].concat(args))), _this2), _this2.state = { placement: null }, _this2.getPortalPlacement = function (_ref9) {\n      var placement = _ref9.placement;\n\n      var initialPlacement = coercePlacement(_this2.props.menuPlacement);\n\n      // avoid re-renders if the placement has not changed\n      if (placement !== initialPlacement) {\n        _this2.setState({ placement: placement });\n      }\n    }, _temp2), possibleConstructorReturn(_this2, _ret2);\n  }\n\n  createClass(MenuPortal, [{\n    key: 'getChildContext',\n    value: function getChildContext() {\n      return {\n        getPortalPlacement: this.getPortalPlacement\n      };\n    }\n\n    // callback for occassions where the menu must \"flip\"\n\n  }, {\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          appendTo = _props.appendTo,\n          children = _props.children,\n          controlElement = _props.controlElement,\n          menuPlacement = _props.menuPlacement,\n          position = _props.menuPosition,\n          getStyles = _props.getStyles;\n\n      var isFixed = position === 'fixed';\n\n      // bail early if required elements aren't present\n      if (!appendTo && !isFixed || !controlElement) {\n        return null;\n      }\n\n      var placement = this.state.placement || coercePlacement(menuPlacement);\n      var rect = getBoundingClientObj(controlElement);\n      var scrollDistance = isFixed ? 0 : window.pageYOffset;\n      var offset = rect[placement] + scrollDistance;\n      var state = { offset: offset, position: position, rect: rect };\n\n      // same wrapper element whether fixed or portalled\n      var menuWrapper = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        'div',\n        { className: /*#__PURE__*/ /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('menuPortal', state)) },\n        children\n      );\n\n      return appendTo ? Object(react_dom__WEBPACK_IMPORTED_MODULE_3__[\"createPortal\"])(menuWrapper, appendTo) : menuWrapper;\n    }\n  }]);\n  return MenuPortal;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\nMenuPortal.childContextTypes = {\n  getPortalPlacement: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func\n};\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nfunction equal(a, b) {\n  // fast-deep-equal index.js 2.0.1\n  if (a === b) return true;\n\n  if (a && b && (typeof a === 'undefined' ? 'undefined' : _typeof(a)) == 'object' && (typeof b === 'undefined' ? 'undefined' : _typeof(b)) == 'object') {\n    var arrA = isArray(a),\n        arrB = isArray(b),\n        i,\n        length,\n        key;\n\n    if (arrA && arrB) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;) {\n        if (!equal(a[i], b[i])) return false;\n      }\n      return true;\n    }\n\n    if (arrA != arrB) return false;\n\n    var dateA = a instanceof Date,\n        dateB = b instanceof Date;\n    if (dateA != dateB) return false;\n    if (dateA && dateB) return a.getTime() == b.getTime();\n\n    var regexpA = a instanceof RegExp,\n        regexpB = b instanceof RegExp;\n    if (regexpA != regexpB) return false;\n    if (regexpA && regexpB) return a.toString() == b.toString();\n\n    var keys = keyList(a);\n    length = keys.length;\n\n    if (length !== keyList(b).length) {\n      return false;\n    }\n\n    for (i = length; i-- !== 0;) {\n      if (!hasProp.call(b, keys[i])) return false;\n    }\n    // end fast-deep-equal\n\n    // Custom handling for React\n    for (i = length; i-- !== 0;) {\n      key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner.\n        //  _owner contains circular references\n        // and is not needed when comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of a react element\n        continue;\n      } else {\n        // all other properties should be traversed as usual\n        if (!equal(a[key], b[key])) return false;\n      }\n    }\n\n    // fast-deep-equal index.js 2.0.1\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nfunction exportedEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if (error.message && error.message.match(/stack|recursion/i)) {\n      // warn on circular references, don't crash\n      // browsers give this different errors name and messages:\n      // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n      // firefox: \"InternalError\", too much recursion\"\n      // edge: \"Error\", \"Out of stack space\"\n      console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n}\n\nvar diacritics = [{ base: 'A', letters: /[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]/g }, { base: 'AA', letters: /[\\uA732]/g }, { base: 'AE', letters: /[\\u00C6\\u01FC\\u01E2]/g }, { base: 'AO', letters: /[\\uA734]/g }, { base: 'AU', letters: /[\\uA736]/g }, { base: 'AV', letters: /[\\uA738\\uA73A]/g }, { base: 'AY', letters: /[\\uA73C]/g }, { base: 'B', letters: /[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]/g }, { base: 'C', letters: /[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]/g }, { base: 'D', letters: /[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]/g }, { base: 'DZ', letters: /[\\u01F1\\u01C4]/g }, { base: 'Dz', letters: /[\\u01F2\\u01C5]/g }, { base: 'E', letters: /[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]/g }, { base: 'F', letters: /[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]/g }, { base: 'G', letters: /[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]/g }, { base: 'H', letters: /[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]/g }, { base: 'I', letters: /[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]/g }, { base: 'J', letters: /[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]/g }, { base: 'K', letters: /[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]/g }, { base: 'L', letters: /[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]/g }, { base: 'LJ', letters: /[\\u01C7]/g }, { base: 'Lj', letters: /[\\u01C8]/g }, { base: 'M', letters: /[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]/g }, { base: 'N', letters: /[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]/g }, { base: 'NJ', letters: /[\\u01CA]/g }, { base: 'Nj', letters: /[\\u01CB]/g }, { base: 'O', letters: /[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]/g }, { base: 'OI', letters: /[\\u01A2]/g }, { base: 'OO', letters: /[\\uA74E]/g }, { base: 'OU', letters: /[\\u0222]/g }, { base: 'P', letters: /[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]/g }, { base: 'Q', letters: /[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]/g }, { base: 'R', letters: /[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]/g }, { base: 'S', letters: /[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]/g }, { base: 'T', letters: /[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]/g }, { base: 'TZ', letters: /[\\uA728]/g }, { base: 'U', letters: /[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]/g }, { base: 'V', letters: /[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]/g }, { base: 'VY', letters: /[\\uA760]/g }, { base: 'W', letters: /[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]/g }, { base: 'X', letters: /[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]/g }, { base: 'Y', letters: /[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]/g }, { base: 'Z', letters: /[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]/g }, { base: 'a', letters: /[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]/g }, { base: 'aa', letters: /[\\uA733]/g }, { base: 'ae', letters: /[\\u00E6\\u01FD\\u01E3]/g }, { base: 'ao', letters: /[\\uA735]/g }, { base: 'au', letters: /[\\uA737]/g }, { base: 'av', letters: /[\\uA739\\uA73B]/g }, { base: 'ay', letters: /[\\uA73D]/g }, { base: 'b', letters: /[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]/g }, { base: 'c', letters: /[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]/g }, { base: 'd', letters: /[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]/g }, { base: 'dz', letters: /[\\u01F3\\u01C6]/g }, { base: 'e', letters: /[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]/g }, { base: 'f', letters: /[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]/g }, { base: 'g', letters: /[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]/g }, { base: 'h', letters: /[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]/g }, { base: 'hv', letters: /[\\u0195]/g }, { base: 'i', letters: /[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]/g }, { base: 'j', letters: /[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]/g }, { base: 'k', letters: /[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]/g }, { base: 'l', letters: /[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]/g }, { base: 'lj', letters: /[\\u01C9]/g }, { base: 'm', letters: /[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]/g }, { base: 'n', letters: /[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]/g }, { base: 'nj', letters: /[\\u01CC]/g }, { base: 'o', letters: /[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]/g }, { base: 'oi', letters: /[\\u01A3]/g }, { base: 'ou', letters: /[\\u0223]/g }, { base: 'oo', letters: /[\\uA74F]/g }, { base: 'p', letters: /[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]/g }, { base: 'q', letters: /[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]/g }, { base: 'r', letters: /[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]/g }, { base: 's', letters: /[\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]/g }, { base: 't', letters: /[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]/g }, { base: 'tz', letters: /[\\uA729]/g }, { base: 'u', letters: /[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]/g }, { base: 'v', letters: /[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]/g }, { base: 'vy', letters: /[\\uA761]/g }, { base: 'w', letters: /[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]/g }, { base: 'x', letters: /[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]/g }, { base: 'y', letters: /[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]/g }, { base: 'z', letters: /[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]/g }];\n\nvar stripDiacritics = function stripDiacritics(str) {\n\tfor (var i = 0; i < diacritics.length; i++) {\n\t\tstr = str.replace(diacritics[i].letters, diacritics[i].base);\n\t}\n\treturn str;\n};\n\nvar trimString = function trimString(str) {\n  return str.replace(/^\\s+|\\s+$/g, '');\n};\nvar defaultStringify = function defaultStringify(option) {\n  return option.label + ' ' + option.value;\n};\n\nvar createFilter = function createFilter(config) {\n  return function (option, rawInput) {\n    var _ignoreCase$ignoreAcc = _extends({\n      ignoreCase: true,\n      ignoreAccents: true,\n      stringify: defaultStringify,\n      trim: true,\n      matchFrom: 'any'\n    }, config),\n        ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n        ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n        stringify = _ignoreCase$ignoreAcc.stringify,\n        trim = _ignoreCase$ignoreAcc.trim,\n        matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n    var input = trim ? trimString(rawInput) : rawInput;\n    var candidate = trim ? trimString(stringify(option)) : stringify(option);\n    if (ignoreCase) {\n      input = input.toLowerCase();\n      candidate = candidate.toLowerCase();\n    }\n    if (ignoreAccents) {\n      input = stripDiacritics(input);\n      candidate = stripDiacritics(candidate);\n    }\n    return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n  };\n};\n\n// Assistive text to describe visual elements. Hidden for sighted users.\nvar A11yText = function A11yText(props) {\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('span', _extends({\n    className: Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])({\n      zIndex: 9999,\n      border: 0,\n      clip: 'rect(1px, 1px, 1px, 1px)',\n      height: 1,\n      width: 1,\n      position: 'absolute',\n      overflow: 'hidden',\n      padding: 0,\n      whiteSpace: 'nowrap',\n      backgroundColor: 'red',\n      color: 'blue'\n    })\n  }, props));\n};\n\nvar DummyInput = function (_Component) {\n  inherits(DummyInput, _Component);\n\n  function DummyInput() {\n    classCallCheck(this, DummyInput);\n    return possibleConstructorReturn(this, (DummyInput.__proto__ || Object.getPrototypeOf(DummyInput)).apply(this, arguments));\n  }\n\n  createClass(DummyInput, [{\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          inProp = _props.in,\n          out = _props.out,\n          onExited = _props.onExited,\n          appear = _props.appear,\n          enter = _props.enter,\n          exit = _props.exit,\n          innerRef = _props.innerRef,\n          props = objectWithoutProperties(_props, ['in', 'out', 'onExited', 'appear', 'enter', 'exit', 'innerRef']);\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('input', _extends({\n        ref: innerRef\n      }, props, {\n        className: Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])({\n          // get rid of any default styles\n          background: 0,\n          border: 0,\n          fontSize: 'inherit',\n          outline: 0,\n          padding: 0,\n\n          // important! without `width` browsers won't allow focus\n          width: 1,\n\n          // remove cursor on desktop\n          color: 'transparent',\n\n          // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n          left: -100,\n          opacity: 0,\n          position: 'relative',\n          transform: 'scale(0)'\n        })\n      }));\n    }\n  }]);\n  return DummyInput;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nvar NodeResolver = function (_Component) {\n  inherits(NodeResolver, _Component);\n\n  function NodeResolver() {\n    classCallCheck(this, NodeResolver);\n    return possibleConstructorReturn(this, (NodeResolver.__proto__ || Object.getPrototypeOf(NodeResolver)).apply(this, arguments));\n  }\n\n  createClass(NodeResolver, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      this.props.innerRef(Object(react_dom__WEBPACK_IMPORTED_MODULE_3__[\"findDOMNode\"])(this));\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      this.props.innerRef(null);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      return this.props.children;\n    }\n  }]);\n  return NodeResolver;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\n\nvar LOCK_STYLES = {\n  boxSizing: 'border-box', // account for possible declaration `width: 100%;` on body\n  overflow: 'hidden',\n  position: 'relative',\n  height: '100%'\n};\n\nfunction preventTouchMove(e) {\n  e.preventDefault();\n}\n\nfunction allowTouchMove(e) {\n  e.stopPropagation();\n}\n\nfunction preventInertiaScroll() {\n  var top = this.scrollTop;\n  var totalScroll = this.scrollHeight;\n  var currentScroll = top + this.offsetHeight;\n\n  if (top === 0) {\n    this.scrollTop = 1;\n  } else if (currentScroll === totalScroll) {\n    this.scrollTop = top - 1;\n  }\n}\n\n// `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\nfunction isTouchDevice() {\n  return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar activeScrollLocks = 0;\n\nvar ScrollLock = function (_Component) {\n  inherits(ScrollLock, _Component);\n\n  function ScrollLock() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    classCallCheck(this, ScrollLock);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = ScrollLock.__proto__ || Object.getPrototypeOf(ScrollLock)).call.apply(_ref, [this].concat(args))), _this), _this.originalStyles = {}, _this.listenerOptions = {\n      capture: false,\n      passive: false\n    }, _temp), possibleConstructorReturn(_this, _ret);\n  }\n\n  createClass(ScrollLock, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      if (!canUseDOM) return;\n\n      var _props = this.props,\n          accountForScrollbars = _props.accountForScrollbars,\n          touchScrollTarget = _props.touchScrollTarget;\n\n      var target = document.body;\n      var targetStyle = target && target.style;\n\n      if (accountForScrollbars) {\n        // store any styles already applied to the body\n        STYLE_KEYS.forEach(function (key) {\n          var val = targetStyle && targetStyle[key];\n          _this2.originalStyles[key] = val;\n        });\n      }\n\n      // apply the lock styles and padding if this is the first scroll lock\n      if (accountForScrollbars && activeScrollLocks < 1) {\n        var currentPadding = parseInt(this.originalStyles.paddingRight, 10) || 0;\n        var clientWidth = document.body ? document.body.clientWidth : 0;\n        var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n\n        Object.keys(LOCK_STYLES).forEach(function (key) {\n          var val = LOCK_STYLES[key];\n          if (targetStyle) {\n            targetStyle[key] = val;\n          }\n        });\n\n        if (targetStyle) {\n          targetStyle.paddingRight = adjustedPadding + 'px';\n        }\n      }\n\n      // account for touch devices\n      if (target && isTouchDevice()) {\n        // Mobile Safari ignores { overflow: hidden } declaration on the body.\n        target.addEventListener('touchmove', preventTouchMove, this.listenerOptions);\n\n        // Allow scroll on provided target\n        if (touchScrollTarget) {\n          touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n          touchScrollTarget.addEventListener('touchmove', allowTouchMove, this.listenerOptions);\n        }\n      }\n\n      // increment active scroll locks\n      activeScrollLocks += 1;\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      var _this3 = this;\n\n      if (!canUseDOM) return;\n\n      var _props2 = this.props,\n          accountForScrollbars = _props2.accountForScrollbars,\n          touchScrollTarget = _props2.touchScrollTarget;\n\n      var target = document.body;\n      var targetStyle = target && target.style;\n\n      // safely decrement active scroll locks\n      activeScrollLocks = Math.max(activeScrollLocks - 1, 0);\n\n      // reapply original body styles, if any\n      if (accountForScrollbars && activeScrollLocks < 1) {\n        STYLE_KEYS.forEach(function (key) {\n          var val = _this3.originalStyles[key];\n          if (targetStyle) {\n            targetStyle[key] = val;\n          }\n        });\n      }\n\n      // remove touch listeners\n      if (target && isTouchDevice()) {\n        target.removeEventListener('touchmove', preventTouchMove, this.listenerOptions);\n\n        if (touchScrollTarget) {\n          touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n          touchScrollTarget.removeEventListener('touchmove', allowTouchMove, this.listenerOptions);\n        }\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      return null;\n    }\n  }]);\n  return ScrollLock;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nScrollLock.defaultProps = {\n  accountForScrollbars: true\n};\n\n// NOTE:\n// We shouldn't need this after updating to React v16.3.0, which introduces:\n// - createRef() https://reactjs.org/docs/react-api.html#reactcreateref\n// - forwardRef() https://reactjs.org/docs/react-api.html#reactforwardref\n\nvar ScrollBlock = function (_PureComponent) {\n  inherits(ScrollBlock, _PureComponent);\n\n  function ScrollBlock() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    classCallCheck(this, ScrollBlock);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = ScrollBlock.__proto__ || Object.getPrototypeOf(ScrollBlock)).call.apply(_ref, [this].concat(args))), _this), _this.state = { touchScrollTarget: null }, _this.getScrollTarget = function (ref) {\n      if (ref === _this.state.touchScrollTarget) return;\n      _this.setState({ touchScrollTarget: ref });\n    }, _this.blurSelectInput = function () {\n      if (document.activeElement) {\n        document.activeElement.blur();\n      }\n    }, _temp), possibleConstructorReturn(_this, _ret);\n  }\n\n  // must be in state to trigger a re-render, only runs once per instance\n\n\n  // this will close the menu when a user clicks outside\n\n\n  createClass(ScrollBlock, [{\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          children = _props.children,\n          isEnabled = _props.isEnabled;\n      var touchScrollTarget = this.state.touchScrollTarget;\n\n      // bail early if not enabled\n\n      if (!isEnabled) return children;\n\n      /*\n       * Div\n       * ------------------------------\n       * blocks scrolling on non-body elements behind the menu\n        * NodeResolver\n       * ------------------------------\n       * we need a reference to the scrollable element to \"unlock\" scroll on\n       * mobile devices\n        * ScrollLock\n       * ------------------------------\n       * actually does the scroll locking\n       */\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        'div',\n        null,\n        react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('div', {\n          onClick: this.blurSelectInput,\n          className: Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])({ position: 'fixed', left: 0, bottom: 0, right: 0, top: 0 })\n        }),\n        react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          NodeResolver,\n          { innerRef: this.getScrollTarget },\n          children\n        ),\n        touchScrollTarget ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ScrollLock, { touchScrollTarget: touchScrollTarget }) : null\n      );\n    }\n  }]);\n  return ScrollBlock;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"PureComponent\"]);\n\nvar ScrollCaptor = function (_Component) {\n  inherits(ScrollCaptor, _Component);\n\n  function ScrollCaptor() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    classCallCheck(this, ScrollCaptor);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = ScrollCaptor.__proto__ || Object.getPrototypeOf(ScrollCaptor)).call.apply(_ref, [this].concat(args))), _this), _this.isBottom = false, _this.isTop = false, _this.cancelScroll = function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n    }, _this.handleEventDelta = function (event, delta) {\n      var _this$props = _this.props,\n          onBottomArrive = _this$props.onBottomArrive,\n          onBottomLeave = _this$props.onBottomLeave,\n          onTopArrive = _this$props.onTopArrive,\n          onTopLeave = _this$props.onTopLeave;\n      var _this$scrollTarget = _this.scrollTarget,\n          scrollTop = _this$scrollTarget.scrollTop,\n          scrollHeight = _this$scrollTarget.scrollHeight,\n          clientHeight = _this$scrollTarget.clientHeight;\n\n      var target = _this.scrollTarget;\n      var isDeltaPositive = delta > 0;\n      var availableScroll = scrollHeight - clientHeight - scrollTop;\n      var shouldCancelScroll = false;\n\n      // reset bottom/top flags\n      if (availableScroll > delta && _this.isBottom) {\n        if (onBottomLeave) onBottomLeave(event);\n        _this.isBottom = false;\n      }\n      if (isDeltaPositive && _this.isTop) {\n        if (onTopLeave) onTopLeave(event);\n        _this.isTop = false;\n      }\n\n      // bottom limit\n      if (isDeltaPositive && delta > availableScroll) {\n        if (onBottomArrive && !_this.isBottom) {\n          onBottomArrive(event);\n        }\n        target.scrollTop = scrollHeight;\n        shouldCancelScroll = true;\n        _this.isBottom = true;\n\n        // top limit\n      } else if (!isDeltaPositive && -delta > scrollTop) {\n        if (onTopArrive && !_this.isTop) {\n          onTopArrive(event);\n        }\n        target.scrollTop = 0;\n        shouldCancelScroll = true;\n        _this.isTop = true;\n      }\n\n      // cancel scroll\n      if (shouldCancelScroll) {\n        _this.cancelScroll(event);\n      }\n    }, _this.onWheel = function (event) {\n      _this.handleEventDelta(event, event.deltaY);\n    }, _this.onTouchStart = function (event) {\n      // set touch start so we can calculate touchmove delta\n      _this.touchStart = event.changedTouches[0].clientY;\n    }, _this.onTouchMove = function (event) {\n      var deltaY = _this.touchStart - event.changedTouches[0].clientY;\n      _this.handleEventDelta(event, deltaY);\n    }, _this.getScrollTarget = function (ref) {\n      _this.scrollTarget = ref;\n    }, _temp), possibleConstructorReturn(_this, _ret);\n  }\n\n  createClass(ScrollCaptor, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      this.startListening(this.scrollTarget);\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      this.stopListening(this.scrollTarget);\n    }\n  }, {\n    key: 'startListening',\n    value: function startListening(el) {\n      // bail early if no scroll available\n      if (el.scrollHeight <= el.clientHeight) return;\n\n      // all the if statements are to appease Flow 😢\n      if (typeof el.addEventListener === 'function') {\n        el.addEventListener('wheel', this.onWheel, false);\n      }\n      if (typeof el.addEventListener === 'function') {\n        el.addEventListener('touchstart', this.onTouchStart, false);\n      }\n      if (typeof el.addEventListener === 'function') {\n        el.addEventListener('touchmove', this.onTouchMove, false);\n      }\n    }\n  }, {\n    key: 'stopListening',\n    value: function stopListening(el) {\n      // bail early if no scroll available\n      if (el.scrollHeight <= el.clientHeight) return;\n\n      // all the if statements are to appease Flow 😢\n      if (typeof el.removeEventListener === 'function') {\n        el.removeEventListener('wheel', this.onWheel, false);\n      }\n      if (typeof el.removeEventListener === 'function') {\n        el.removeEventListener('touchstart', this.onTouchStart, false);\n      }\n      if (typeof el.removeEventListener === 'function') {\n        el.removeEventListener('touchmove', this.onTouchMove, false);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        NodeResolver,\n        { innerRef: this.getScrollTarget },\n        this.props.children\n      );\n    }\n  }]);\n  return ScrollCaptor;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nvar ScrollCaptorSwitch = function (_Component2) {\n  inherits(ScrollCaptorSwitch, _Component2);\n\n  function ScrollCaptorSwitch() {\n    classCallCheck(this, ScrollCaptorSwitch);\n    return possibleConstructorReturn(this, (ScrollCaptorSwitch.__proto__ || Object.getPrototypeOf(ScrollCaptorSwitch)).apply(this, arguments));\n  }\n\n  createClass(ScrollCaptorSwitch, [{\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          isEnabled = _props.isEnabled,\n          props = objectWithoutProperties(_props, ['isEnabled']);\n\n      return isEnabled ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ScrollCaptor, props) : this.props.children;\n    }\n  }]);\n  return ScrollCaptorSwitch;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nScrollCaptorSwitch.defaultProps = { isEnabled: true };\n\nvar instructionsAriaMessage = function instructionsAriaMessage(event) {\n  var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var isSearchable = context.isSearchable,\n      isMulti = context.isMulti,\n      label = context.label;\n\n  switch (event) {\n    case 'menu':\n      return 'Use Up and Down to choose options, press Backspace to select the currently focused option, press Escape to exit the menu, press Tab to select the option and exit the menu.';\n    case 'input':\n      return (label ? label : 'Select') + ' is focused ' + (isSearchable ? ',type to refine list' : '') + ', press Down to open the menu, ' + (isMulti ? ' press left to focus selected values' : '');\n    case 'value':\n      return 'Use left and right to toggle between focused values, press Enter to remove the currently focused value';\n  }\n};\n\nvar valueEventAriaMessage = function valueEventAriaMessage(event, context) {\n  var value = context.value;\n\n  if (!value) return;\n  switch (event) {\n    case 'deselect-option':\n    case 'pop-value':\n    case 'remove-value':\n      return 'option ' + value + ', deselected.';\n    case 'select-option':\n      return 'option ' + value + ', selected.';\n  }\n};\n\nvar valueFocusAriaMessage = function valueFocusAriaMessage(_ref) {\n  var focusedValue = _ref.focusedValue,\n      getOptionLabel = _ref.getOptionLabel,\n      selectValue = _ref.selectValue;\n  return 'value ' + getOptionLabel(focusedValue) + ' focused, ' + (selectValue.indexOf(focusedValue) + 1) + ' of ' + selectValue.length + '.';\n};\nvar optionFocusAriaMessage = function optionFocusAriaMessage(_ref2) {\n  var focusedOption = _ref2.focusedOption,\n      getOptionLabel = _ref2.getOptionLabel,\n      options = _ref2.options;\n  return 'option ' + getOptionLabel(focusedOption) + ' focused, ' + (options.indexOf(focusedOption) + 1) + ' of ' + options.length + '.';\n};\nvar resultsAriaMessage = function resultsAriaMessage(_ref3) {\n  var inputValue = _ref3.inputValue,\n      screenReaderMessage = _ref3.screenReaderMessage;\n  return '' + screenReaderMessage + (inputValue ? ' for search term ' + inputValue : '') + '.';\n};\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n  return group.label;\n};\n\nvar getOptionLabel = function getOptionLabel(option) {\n  return option.label;\n};\n\nvar getOptionValue = function getOptionValue(option) {\n  return option.value;\n};\n\nvar isOptionDisabled = function isOptionDisabled(option) {\n  return !!option.isDisabled;\n};\n\n// ==============================\n// Root Container\n// ==============================\n\nvar containerCSS = function containerCSS(_ref) {\n  var isDisabled = _ref.isDisabled,\n      isRtl = _ref.isRtl;\n  return {\n    direction: isRtl ? 'rtl' : null,\n    pointerEvents: isDisabled ? 'none' : null, // cancel mouse events when disabled\n    position: 'relative'\n  };\n};\nvar SelectContainer = function SelectContainer(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps,\n      isDisabled = props.isDisabled,\n      isRtl = props.isRtl;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('container', props)), {\n        '--is-disabled': isDisabled,\n        '--is-rtl': isRtl\n      }, className)\n    }, innerProps),\n    children\n  );\n};\n\n// ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n  var spacing = _ref2.theme.spacing;\n  return {\n    alignItems: 'center',\n    display: 'flex',\n    flex: 1,\n    flexWrap: 'wrap',\n    padding: spacing.baseUnit / 2 + 'px ' + spacing.baseUnit * 2 + 'px',\n    WebkitOverflowScrolling: 'touch',\n    position: 'relative',\n    overflow: 'hidden'\n  };\n};\nvar ValueContainer = function (_Component) {\n  inherits(ValueContainer, _Component);\n\n  function ValueContainer() {\n    classCallCheck(this, ValueContainer);\n    return possibleConstructorReturn(this, (ValueContainer.__proto__ || Object.getPrototypeOf(ValueContainer)).apply(this, arguments));\n  }\n\n  createClass(ValueContainer, [{\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          children = _props.children,\n          className = _props.className,\n          cx = _props.cx,\n          isMulti = _props.isMulti,\n          getStyles = _props.getStyles,\n          hasValue = _props.hasValue;\n\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        'div',\n        {\n          className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('valueContainer', this.props)), {\n            'value-container': true,\n            'value-container--is-multi': isMulti,\n            'value-container--has-value': hasValue\n          }, className)\n        },\n        children\n      );\n    }\n  }]);\n  return ValueContainer;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\n// ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n  return {\n    alignItems: 'center',\n    alignSelf: 'stretch',\n    display: 'flex',\n    flexShrink: 0\n  };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles;\n\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    {\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('indicatorsContainer', props)), {\n        'indicators': true\n      }, className)\n    },\n    children\n  );\n};\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\n\nvar Svg = function Svg(_ref) {\n  var size = _ref.size,\n      props = objectWithoutProperties(_ref, ['size']);\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('svg', _extends({\n    height: size,\n    width: size,\n    viewBox: '0 0 20 20',\n    'aria-hidden': 'true',\n    focusable: 'false',\n    className: /*#__PURE__*/ /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])({\n      display: 'inline-block',\n      fill: 'currentColor',\n      lineHeight: 1,\n      stroke: 'currentColor',\n      strokeWidth: 0\n    })\n  }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    Svg,\n    _extends({ size: 20 }, props),\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('path', { d: 'M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z' })\n  );\n};\nvar DownChevron = function DownChevron(props) {\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    Svg,\n    _extends({ size: 20 }, props),\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('path', { d: 'M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z' })\n  );\n};\n\n// ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref2) {\n  var isFocused = _ref2.isFocused,\n      _ref2$theme = _ref2.theme,\n      baseUnit = _ref2$theme.spacing.baseUnit,\n      colors = _ref2$theme.colors;\n  return {\n    color: isFocused ? colors.neutral60 : colors.neutral20,\n    display: 'flex',\n    padding: baseUnit * 2,\n    transition: 'color 150ms',\n\n    ':hover': {\n      color: isFocused ? colors.neutral80 : colors.neutral40\n    }\n  };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({}, innerProps, {\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('dropdownIndicator', props)), {\n        'indicator': true,\n        'dropdown-indicator': true\n      }, className)\n    }),\n    children\n  );\n};\nDropdownIndicator.defaultProps = {\n  children: react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DownChevron, null)\n};\n\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({}, innerProps, {\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('clearIndicator', props)), {\n        'indicator': true,\n        'clear-indicator': true\n      }, className)\n    }),\n    children\n  );\n};\n\nClearIndicator.defaultProps = {\n  children: react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(CrossIcon, null)\n};\n\n// ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref3) {\n  var isDisabled = _ref3.isDisabled,\n      _ref3$theme = _ref3.theme,\n      baseUnit = _ref3$theme.spacing.baseUnit,\n      colors = _ref3$theme.colors;\n  return {\n    alignSelf: 'stretch',\n    backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n    marginBottom: baseUnit * 2,\n    marginTop: baseUnit * 2,\n    width: 1\n  };\n};\n\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n  var className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('span', _extends({}, innerProps, {\n    className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('indicatorSeparator', props)), { 'indicator-separator': true }, className)\n  }));\n};\n\n// ==============================\n// Loading\n// ==============================\n\nvar keyframesName = 'react-select-loading-indicator';\n\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref4) {\n  var isFocused = _ref4.isFocused,\n      size = _ref4.size,\n      _ref4$theme = _ref4.theme,\n      colors = _ref4$theme.colors,\n      baseUnit = _ref4$theme.spacing.baseUnit;\n  return {\n    color: isFocused ? colors.neutral60 : colors.neutral20,\n    display: 'flex',\n    padding: baseUnit * 2,\n    transition: 'color 150ms',\n    alignSelf: 'center',\n    fontSize: size,\n    lineHeight: 1,\n    marginRight: size,\n    textAlign: 'center',\n    verticalAlign: 'middle'\n  };\n};\n\nvar LoadingDot = function LoadingDot(_ref5) {\n  var color = _ref5.color,\n      delay = _ref5.delay,\n      offset = _ref5.offset;\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('span', {\n    className: Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])({\n      animationDuration: '1s',\n      animationDelay: delay + 'ms',\n      animationIterationCount: 'infinite',\n      animationName: keyframesName,\n      animationTimingFunction: 'ease-in-out',\n      backgroundColor: color,\n      borderRadius: '1em',\n      display: 'inline-block',\n      marginLeft: offset ? '1em' : null,\n      height: '1em',\n      verticalAlign: 'top',\n      width: '1em'\n    })\n  });\n};\n\n// eslint-disable-next-line no-unused-expressions\nObject(emotion__WEBPACK_IMPORTED_MODULE_2__[\"injectGlobal\"])('@keyframes ', keyframesName, '{0%,80%,100%{opacity:0;}40%{opacity:1;}};');\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n  var className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps,\n      isFocused = props.isFocused,\n      isRtl = props.isRtl,\n      colors = props.theme.colors;\n\n  var color = isFocused ? colors.neutral80 : colors.neutral20;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({}, innerProps, {\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('loadingIndicator', props)), {\n        'indicator': true,\n        'loading-indicator': true\n      }, className)\n    }),\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(LoadingDot, { color: color, delay: 0, offset: isRtl }),\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(LoadingDot, { color: color, delay: 160, offset: true }),\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(LoadingDot, { color: color, delay: 320, offset: !isRtl })\n  );\n};\nLoadingIndicator.defaultProps = { size: 4 };\n\nvar css$1 = function css$$1(_ref) {\n  var isDisabled = _ref.isDisabled,\n      isFocused = _ref.isFocused,\n      _ref$theme = _ref.theme,\n      colors = _ref$theme.colors,\n      borderRadius = _ref$theme.borderRadius,\n      spacing = _ref$theme.spacing;\n  return {\n    alignItems: 'center',\n    backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n    borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n    borderRadius: borderRadius,\n    borderStyle: 'solid',\n    borderWidth: 1,\n    boxShadow: isFocused ? '0 0 0 1px ' + colors.primary : null,\n    cursor: 'default',\n    display: 'flex',\n    flexWrap: 'wrap',\n    justifyContent: 'space-between',\n    minHeight: spacing.controlHeight,\n    outline: '0 !important',\n    position: 'relative',\n    transition: 'all 100ms',\n\n    '&:hover': {\n      borderColor: isFocused ? colors.primary : colors.neutral30\n    }\n  };\n};\n\nvar Control = function Control(props) {\n  var children = props.children,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      className = props.className,\n      isDisabled = props.isDisabled,\n      isFocused = props.isFocused,\n      innerRef = props.innerRef,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({\n      ref: innerRef,\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('control', props)), {\n        'control': true,\n        'control--is-disabled': isDisabled,\n        'control--is-focused': isFocused\n      }, className)\n    }, innerProps),\n    children\n  );\n};\n\nvar groupCSS = function groupCSS(_ref) {\n  var spacing = _ref.theme.spacing;\n  return {\n    paddingBottom: spacing.baseUnit * 2,\n    paddingTop: spacing.baseUnit * 2\n  };\n};\n\nvar Group = function Group(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      Heading = props.Heading,\n      headingProps = props.headingProps,\n      label = props.label,\n      theme = props.theme;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    {\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('group', props)), { 'group': true }, className)\n    },\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n      Heading,\n      _extends({}, headingProps, { theme: theme, getStyles: getStyles, cx: cx }),\n      label\n    ),\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n      'div',\n      null,\n      children\n    )\n  );\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n  var spacing = _ref2.theme.spacing;\n  return {\n    color: '#999',\n    cursor: 'default',\n    display: 'block',\n    fontSize: '75%',\n    fontWeight: '500',\n    marginBottom: '0.25em',\n    paddingLeft: spacing.baseUnit * 3,\n    paddingRight: spacing.baseUnit * 3,\n    textTransform: 'uppercase'\n  };\n};\n\nvar GroupHeading = function GroupHeading(props) {\n  var className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      theme = props.theme,\n      cleanProps = objectWithoutProperties(props, ['className', 'cx', 'getStyles', 'theme']);\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('div', _extends({\n    className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('groupHeading', _extends({ theme: theme }, cleanProps))), { 'group-heading': true }, className)\n  }, cleanProps));\n};\n\nvar inputCSS = function inputCSS(_ref) {\n  var isDisabled = _ref.isDisabled,\n      _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    margin: spacing.baseUnit / 2,\n    paddingBottom: spacing.baseUnit / 2,\n    paddingTop: spacing.baseUnit / 2,\n    visibility: isDisabled ? 'hidden' : 'visible',\n    color: colors.neutral80\n  };\n};\nvar inputStyle = function inputStyle(isHidden) {\n  return {\n    background: 0,\n    border: 0,\n    fontSize: 'inherit',\n    opacity: isHidden ? 0 : 1,\n    outline: 0,\n    padding: 0,\n    color: 'inherit'\n  };\n};\n\nvar Input = function Input(_ref2) {\n  var className = _ref2.className,\n      cx = _ref2.cx,\n      getStyles = _ref2.getStyles,\n      innerRef = _ref2.innerRef,\n      isHidden = _ref2.isHidden,\n      isDisabled = _ref2.isDisabled,\n      theme = _ref2.theme,\n      props = objectWithoutProperties(_ref2, ['className', 'cx', 'getStyles', 'innerRef', 'isHidden', 'isDisabled', 'theme']);\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    {\n      className: Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('input', _extends({ theme: theme }, props)))\n    },\n    react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_input_autosize__WEBPACK_IMPORTED_MODULE_5___default.a, _extends({\n      className: cx(null, { 'input': true }, className),\n      inputRef: innerRef,\n      inputStyle: inputStyle(isHidden),\n      disabled: isDisabled\n    }, props))\n  );\n};\n\nvar multiValueCSS = function multiValueCSS(_ref) {\n  var _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      borderRadius = _ref$theme.borderRadius,\n      colors = _ref$theme.colors;\n  return {\n    backgroundColor: colors.neutral10,\n    borderRadius: borderRadius / 2,\n    display: 'flex',\n    margin: spacing.baseUnit / 2,\n    minWidth: 0 // resolves flex/text-overflow bug\n  };\n};\n\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n  var _ref2$theme = _ref2.theme,\n      borderRadius = _ref2$theme.borderRadius,\n      colors = _ref2$theme.colors,\n      cropWithEllipsis = _ref2.cropWithEllipsis;\n  return {\n    borderRadius: borderRadius / 2,\n    color: colors.neutral80,\n    fontSize: '85%',\n    overflow: 'hidden',\n    padding: 3,\n    paddingLeft: 6,\n    textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n    whiteSpace: 'nowrap'\n  };\n};\n\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n  var _ref3$theme = _ref3.theme,\n      spacing = _ref3$theme.spacing,\n      borderRadius = _ref3$theme.borderRadius,\n      colors = _ref3$theme.colors,\n      isFocused = _ref3.isFocused;\n  return {\n    alignItems: 'center',\n    borderRadius: borderRadius / 2,\n    backgroundColor: isFocused && colors.dangerLight,\n    display: 'flex',\n    paddingLeft: spacing.baseUnit,\n    paddingRight: spacing.baseUnit,\n    ':hover': {\n      backgroundColor: colors.dangerLight,\n      color: colors.danger\n    }\n  };\n};\n\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n  var children = _ref4.children,\n      innerProps = _ref4.innerProps;\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    innerProps,\n    children\n  );\n};\n\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\n\nvar MultiValueRemove = function (_Component) {\n  inherits(MultiValueRemove, _Component);\n\n  function MultiValueRemove() {\n    classCallCheck(this, MultiValueRemove);\n    return possibleConstructorReturn(this, (MultiValueRemove.__proto__ || Object.getPrototypeOf(MultiValueRemove)).apply(this, arguments));\n  }\n\n  createClass(MultiValueRemove, [{\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          children = _props.children,\n          innerProps = _props.innerProps;\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        'div',\n        innerProps,\n        children\n      );\n    }\n  }]);\n  return MultiValueRemove;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nMultiValueRemove.defaultProps = {\n  children: react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(CrossIcon, { size: 14 })\n};\n\nvar MultiValue = function (_Component2) {\n  inherits(MultiValue, _Component2);\n\n  function MultiValue() {\n    classCallCheck(this, MultiValue);\n    return possibleConstructorReturn(this, (MultiValue.__proto__ || Object.getPrototypeOf(MultiValue)).apply(this, arguments));\n  }\n\n  createClass(MultiValue, [{\n    key: 'render',\n    value: function render() {\n      var _props2 = this.props,\n          children = _props2.children,\n          className = _props2.className,\n          components = _props2.components,\n          cx = _props2.cx,\n          data = _props2.data,\n          getStyles = _props2.getStyles,\n          innerProps = _props2.innerProps,\n          isDisabled = _props2.isDisabled,\n          removeProps = _props2.removeProps,\n          selectProps = _props2.selectProps;\n      var Container = components.Container,\n          Label = components.Label,\n          Remove = components.Remove;\n\n\n      var containerInnerProps = _extends({\n        className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('multiValue', this.props)), {\n          'multi-value': true,\n          'multi-value--is-disabled': isDisabled\n        }, className)\n      }, innerProps);\n\n      var labelInnerProps = {\n        className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('multiValueLabel', this.props)), {\n          'multi-value__label': true\n        }, className)\n      };\n\n      var removeInnerProps = _extends({\n        className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('multiValueRemove', this.props)), {\n          'multi-value__remove': true\n        }, className)\n      }, removeProps);\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        Container,\n        {\n          data: data,\n          innerProps: containerInnerProps,\n          selectProps: selectProps\n        },\n        react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          Label,\n          {\n            data: data,\n            innerProps: labelInnerProps,\n            selectProps: selectProps\n          },\n          children\n        ),\n        react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Remove, {\n          data: data,\n          innerProps: removeInnerProps,\n          selectProps: selectProps\n        })\n      );\n    }\n  }]);\n  return MultiValue;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nMultiValue.defaultProps = {\n  cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n  var isDisabled = _ref.isDisabled,\n      isFocused = _ref.isFocused,\n      isSelected = _ref.isSelected,\n      _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n    color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n    cursor: 'default',\n    display: 'block',\n    fontSize: 'inherit',\n    padding: spacing.baseUnit * 2 + 'px ' + spacing.baseUnit * 3 + 'px',\n    width: '100%',\n    userSelect: 'none',\n    WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n\n    // provide some affordance on touch devices\n    ':active': {\n      backgroundColor: isSelected ? colors.primary : colors.primary50\n    }\n  };\n};\n\nvar Option = function Option(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      isDisabled = props.isDisabled,\n      isFocused = props.isFocused,\n      isSelected = props.isSelected,\n      innerRef = props.innerRef,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({\n      ref: innerRef,\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('option', props)), {\n        'option': true,\n        'option--is-disabled': isDisabled,\n        'option--is-focused': isFocused,\n        'option--is-selected': isSelected\n      }, className)\n    }, innerProps),\n    children\n  );\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n  var _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    color: colors.neutral50,\n    marginLeft: spacing.baseUnit / 2,\n    marginRight: spacing.baseUnit / 2,\n    position: 'absolute',\n    top: '50%',\n    transform: 'translateY(-50%)'\n  };\n};\n\nvar Placeholder = function Placeholder(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('placeholder', props)), {\n        'placeholder': true\n      }, className)\n    }, innerProps),\n    children\n  );\n};\n\nvar css$2 = function css$$1(_ref) {\n  var isDisabled = _ref.isDisabled,\n      _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    color: isDisabled ? colors.neutral40 : colors.neutral80,\n    marginLeft: spacing.baseUnit / 2,\n    marginRight: spacing.baseUnit / 2,\n    maxWidth: 'calc(100% - ' + spacing.baseUnit * 2 + 'px)',\n    overflow: 'hidden',\n    position: 'absolute',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap',\n    top: '50%',\n    transform: 'translateY(-50%)'\n  };\n};\n\nvar SingleValue = function SingleValue(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      isDisabled = props.isDisabled,\n      innerProps = props.innerProps;\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    'div',\n    _extends({\n      className: cx( /*#__PURE__*/Object(emotion__WEBPACK_IMPORTED_MODULE_2__[\"css\"])(getStyles('singleValue', props)), {\n        'single-value': true,\n        'single-value--is-disabled': isDisabled\n      }, className)\n    }, innerProps),\n    children\n  );\n};\n\nvar components = {\n  ClearIndicator: ClearIndicator,\n  Control: Control,\n  DropdownIndicator: DropdownIndicator,\n  DownChevron: DownChevron,\n  CrossIcon: CrossIcon,\n  Group: Group,\n  GroupHeading: GroupHeading,\n  IndicatorsContainer: IndicatorsContainer,\n  IndicatorSeparator: IndicatorSeparator,\n  Input: Input,\n  LoadingIndicator: LoadingIndicator,\n  Menu: Menu,\n  MenuList: MenuList,\n  MenuPortal: MenuPortal,\n  LoadingMessage: LoadingMessage,\n  NoOptionsMessage: NoOptionsMessage,\n  MultiValue: MultiValue,\n  MultiValueContainer: MultiValueContainer,\n  MultiValueLabel: MultiValueLabel,\n  MultiValueRemove: MultiValueRemove,\n  Option: Option,\n  Placeholder: Placeholder,\n  SelectContainer: SelectContainer,\n  SingleValue: SingleValue,\n  ValueContainer: ValueContainer\n};\n\nvar defaultComponents = function defaultComponents(props) {\n  return _extends({}, components, props.components);\n};\n\nvar defaultStyles = {\n  clearIndicator: clearIndicatorCSS,\n  container: containerCSS,\n  control: css$1,\n  dropdownIndicator: dropdownIndicatorCSS,\n  group: groupCSS,\n  groupHeading: groupHeadingCSS,\n  indicatorsContainer: indicatorsContainerCSS,\n  indicatorSeparator: indicatorSeparatorCSS,\n  input: inputCSS,\n  loadingIndicator: loadingIndicatorCSS,\n  loadingMessage: loadingMessageCSS,\n  menu: menuCSS,\n  menuList: menuListCSS,\n  menuPortal: menuPortalCSS,\n  multiValue: multiValueCSS,\n  multiValueLabel: multiValueLabelCSS,\n  multiValueRemove: multiValueRemoveCSS,\n  noOptionsMessage: noOptionsMessageCSS,\n  option: optionCSS,\n  placeholder: placeholderCSS,\n  singleValue: css$2,\n  valueContainer: valueContainerCSS\n};\n\n// Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n  var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  // initialize with source styles\n  var styles = _extends({}, source);\n\n  // massage in target styles\n  Object.keys(target).forEach(function (key) {\n    if (source[key]) {\n      styles[key] = function (rsCss, props) {\n        return target[key](source[key](rsCss, props), props);\n      };\n    } else {\n      styles[key] = target[key];\n    }\n  });\n\n  return styles;\n}\n\nvar colors = {\n  primary: '#2684FF',\n  primary75: '#4C9AFF',\n  primary50: '#B2D4FF',\n  primary25: '#DEEBFF',\n\n  danger: '#DE350B',\n  dangerLight: '#FFBDAD',\n\n  neutral0: 'hsl(0, 0%, 100%)',\n  neutral5: 'hsl(0, 0%, 95%)',\n  neutral10: 'hsl(0, 0%, 90%)',\n  neutral20: 'hsl(0, 0%, 80%)',\n  neutral30: 'hsl(0, 0%, 70%)',\n  neutral40: 'hsl(0, 0%, 60%)',\n  neutral50: 'hsl(0, 0%, 50%)',\n  neutral60: 'hsl(0, 0%, 40%)',\n  neutral70: 'hsl(0, 0%, 30%)',\n  neutral80: 'hsl(0, 0%, 20%)',\n  neutral90: 'hsl(0, 0%, 10%)'\n};\n\nvar borderRadius = 4;\nvar baseUnit = 4; /* Used to calculate consistent margin/padding on elements */\nvar controlHeight = 38; /* The minimum height of the control */\nvar menuGutter = baseUnit * 2; /* The amount of space between the control and menu */\n\nvar spacing = {\n  baseUnit: baseUnit,\n  controlHeight: controlHeight,\n  menuGutter: menuGutter\n};\n\nvar defaultTheme = {\n  borderRadius: borderRadius,\n  colors: colors,\n  spacing: spacing\n};\n\nvar defaultProps = {\n  backspaceRemovesValue: true,\n  blurInputOnSelect: isTouchCapable(),\n  captureMenuScroll: !isTouchCapable(),\n  closeMenuOnSelect: true,\n  closeMenuOnScroll: false,\n  components: {},\n  controlShouldRenderValue: true,\n  escapeClearsValue: false,\n  filterOption: createFilter(),\n  formatGroupLabel: formatGroupLabel,\n  getOptionLabel: getOptionLabel,\n  getOptionValue: getOptionValue,\n  isDisabled: false,\n  isLoading: false,\n  isMulti: false,\n  isRtl: false,\n  isSearchable: true,\n  isOptionDisabled: isOptionDisabled,\n  loadingMessage: function loadingMessage() {\n    return 'Loading...';\n  },\n  maxMenuHeight: 300,\n  minMenuHeight: 140,\n  menuIsOpen: false,\n  menuPlacement: 'bottom',\n  menuPosition: 'absolute',\n  menuShouldBlockScroll: false,\n  menuShouldScrollIntoView: !isMobileDevice(),\n  noOptionsMessage: function noOptionsMessage() {\n    return 'No options';\n  },\n  openMenuOnFocus: false,\n  openMenuOnClick: true,\n  options: [],\n  pageSize: 5,\n  placeholder: 'Select...',\n  screenReaderStatus: function screenReaderStatus(_ref) {\n    var count = _ref.count;\n    return count + ' result' + (count !== 1 ? 's' : '') + ' available';\n  },\n  styles: {},\n  tabIndex: '0',\n  tabSelectsValue: true\n};\n\nvar instanceId = 1;\n\nvar Select = function (_Component) {\n  inherits(Select, _Component);\n\n  // Lifecycle\n  // ------------------------------\n\n  // Refs\n  // ------------------------------\n\n  // Misc. Instance Properties\n  // ------------------------------\n\n  function Select(props) {\n    classCallCheck(this, Select);\n\n    var _this = possibleConstructorReturn(this, (Select.__proto__ || Object.getPrototypeOf(Select)).call(this, props));\n\n    _initialiseProps.call(_this);\n\n    var value = props.value;\n\n    _this.cacheComponents = Object(memoize_one__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_this.cacheComponents, exportedEqual).bind(_this);\n    _this.cacheComponents(props.components);\n    _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n\n    var selectValue = cleanValue(value);\n    var menuOptions = _this.buildMenuOptions(props, selectValue);\n\n    _this.state.menuOptions = menuOptions;\n    _this.state.selectValue = selectValue;\n    return _this;\n  } // TODO\n\n\n  createClass(Select, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      this.startListeningComposition();\n      this.startListeningToTouch();\n\n      if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n        // Listen to all scroll events, and filter them out inside of 'onScroll'\n        document.addEventListener('scroll', this.onScroll, true);\n      }\n\n      if (this.props.autoFocus) {\n        this.focusInput();\n      }\n    }\n  }, {\n    key: 'componentWillReceiveProps',\n    value: function componentWillReceiveProps(nextProps) {\n      var _props = this.props,\n          options = _props.options,\n          value = _props.value,\n          inputValue = _props.inputValue;\n      // re-cache custom components\n\n      this.cacheComponents(nextProps.components);\n      // rebuild the menu options\n      if (nextProps.value !== value || nextProps.options !== options || nextProps.inputValue !== inputValue) {\n        var _selectValue = cleanValue(nextProps.value);\n        var _menuOptions = this.buildMenuOptions(nextProps, _selectValue);\n        var _focusedValue = this.getNextFocusedValue(_selectValue);\n        var _focusedOption = this.getNextFocusedOption(_menuOptions.focusable);\n        this.setState({ menuOptions: _menuOptions, selectValue: _selectValue, focusedOption: _focusedOption, focusedValue: _focusedValue });\n      }\n      // some updates should toggle the state of the input visibility\n      if (this.inputIsHiddenAfterUpdate != null) {\n        this.setState({\n          inputIsHidden: this.inputIsHiddenAfterUpdate\n        });\n        delete this.inputIsHiddenAfterUpdate;\n      }\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps) {\n      var _props2 = this.props,\n          isDisabled = _props2.isDisabled,\n          menuIsOpen = _props2.menuIsOpen;\n      var isFocused = this.state.isFocused;\n\n\n      if (\n      // ensure focus is restored correctly when the control becomes enabled\n      isFocused && !isDisabled && prevProps.isDisabled ||\n      // ensure focus is on the Input when the menu opens\n      isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n        this.focusInput();\n      }\n\n      // scroll the focused option into view if necessary\n      if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n        scrollIntoView(this.menuListRef, this.focusedOptionRef);\n      }\n      this.scrollToFocusedOptionOnUpdate = false;\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      this.stopListeningComposition();\n      this.stopListeningToTouch();\n      document.removeEventListener('scroll', this.onScroll, true);\n    }\n  }, {\n    key: 'onMenuOpen',\n\n    // ==============================\n    // Consumer Handlers\n    // ==============================\n\n    value: function onMenuOpen() {\n      this.props.onMenuOpen();\n    }\n  }, {\n    key: 'onMenuClose',\n    value: function onMenuClose() {\n      var _props3 = this.props,\n          isSearchable = _props3.isSearchable,\n          isMulti = _props3.isMulti;\n\n      this.announceAriaLiveContext({\n        event: 'input',\n        context: { isSearchable: isSearchable, isMulti: isMulti }\n      });\n      this.onInputChange('', { action: 'menu-close' });\n      this.props.onMenuClose();\n    }\n  }, {\n    key: 'onInputChange',\n    value: function onInputChange(newValue, actionMeta) {\n      this.props.onInputChange(newValue, actionMeta);\n    }\n\n    // ==============================\n    // Methods\n    // ==============================\n\n  }, {\n    key: 'focusInput',\n    value: function focusInput() {\n      if (!this.inputRef) return;\n      this.inputRef.focus();\n    }\n  }, {\n    key: 'blurInput',\n    value: function blurInput() {\n      if (!this.inputRef) return;\n      this.inputRef.blur();\n    }\n\n    // aliased for consumers\n\n  }, {\n    key: 'openMenu',\n    value: function openMenu(focusOption) {\n      var _state = this.state,\n          menuOptions = _state.menuOptions,\n          selectValue = _state.selectValue;\n      var isMulti = this.props.isMulti;\n\n      var openAtIndex = focusOption === 'first' ? 0 : menuOptions.focusable.length - 1;\n\n      if (!isMulti) {\n        var selectedIndex = menuOptions.focusable.indexOf(selectValue[0]);\n        if (selectedIndex > -1) {\n          openAtIndex = selectedIndex;\n        }\n      }\n\n      this.scrollToFocusedOptionOnUpdate = true;\n      this.inputIsHiddenAfterUpdate = false;\n\n      this.onMenuOpen();\n      this.setState({\n        focusedValue: null,\n        focusedOption: menuOptions.focusable[openAtIndex]\n      });\n\n      this.announceAriaLiveContext({ event: 'menu' });\n    }\n  }, {\n    key: 'focusValue',\n    value: function focusValue(direction) {\n      var _props4 = this.props,\n          isMulti = _props4.isMulti,\n          isSearchable = _props4.isSearchable;\n      var _state2 = this.state,\n          selectValue = _state2.selectValue,\n          focusedValue = _state2.focusedValue;\n\n      // Only multiselects support value focusing\n\n      if (!isMulti) return;\n\n      this.setState({\n        focusedOption: null\n      });\n\n      var focusedIndex = selectValue.indexOf(focusedValue);\n      if (!focusedValue) {\n        focusedIndex = -1;\n        this.announceAriaLiveContext({ event: 'value' });\n      }\n\n      var lastIndex = selectValue.length - 1;\n      var nextFocus = -1;\n      if (!selectValue.length) return;\n\n      switch (direction) {\n        case 'previous':\n          if (focusedIndex === 0) {\n            // don't cycle from the start to the end\n            nextFocus = 0;\n          } else if (focusedIndex === -1) {\n            // if nothing is focused, focus the last value first\n            nextFocus = lastIndex;\n          } else {\n            nextFocus = focusedIndex - 1;\n          }\n          break;\n        case 'next':\n          if (focusedIndex > -1 && focusedIndex < lastIndex) {\n            nextFocus = focusedIndex + 1;\n          }\n          break;\n      }\n\n      if (nextFocus === -1) {\n        this.announceAriaLiveContext({\n          event: 'input',\n          context: { isSearchable: isSearchable, isMulti: isMulti }\n        });\n      }\n\n      this.setState({\n        inputIsHidden: nextFocus === -1 ? false : true,\n        focusedValue: selectValue[nextFocus]\n      });\n    }\n  }, {\n    key: 'focusOption',\n    value: function focusOption() {\n      var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n      var pageSize = this.props.pageSize;\n      var _state3 = this.state,\n          focusedOption = _state3.focusedOption,\n          menuOptions = _state3.menuOptions;\n\n      var options = menuOptions.focusable;\n\n      if (!options.length) return;\n      var nextFocus = 0; // handles 'first'\n      var focusedIndex = options.indexOf(focusedOption);\n      if (!focusedOption) {\n        focusedIndex = -1;\n        this.announceAriaLiveContext({ event: 'menu' });\n      }\n\n      if (direction === 'up') {\n        nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n      } else if (direction === 'down') {\n        nextFocus = (focusedIndex + 1) % options.length;\n      } else if (direction === 'pageup') {\n        nextFocus = focusedIndex - pageSize;\n        if (nextFocus < 0) nextFocus = 0;\n      } else if (direction === 'pagedown') {\n        nextFocus = focusedIndex + pageSize;\n        if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n      } else if (direction === 'last') {\n        nextFocus = options.length - 1;\n      }\n      this.scrollToFocusedOptionOnUpdate = true;\n      this.setState({\n        focusedOption: options[nextFocus],\n        focusedValue: null\n      });\n    }\n  }, {\n    key: 'getTheme',\n\n\n    // ==============================\n    // Getters\n    // ==============================\n\n    value: function getTheme() {\n      // Use the default theme if there are no customizations.\n      if (!this.props.theme) {\n        return defaultTheme;\n      }\n      // If the theme prop is a function, assume the function\n      // knows how to merge the passed-in default theme with\n      // its own modifications.\n      if (typeof this.props.theme === 'function') {\n        return this.props.theme(defaultTheme);\n      }\n      // Otherwise, if a plain theme object was passed in,\n      // overlay it with the default theme.\n      return _extends({}, defaultTheme, this.props.theme);\n    }\n  }, {\n    key: 'getCommonProps',\n    value: function getCommonProps() {\n      var clearValue = this.clearValue,\n          getStyles = this.getStyles,\n          setValue = this.setValue,\n          selectOption = this.selectOption,\n          props = this.props;\n      var classNamePrefix = props.classNamePrefix,\n          isMulti = props.isMulti,\n          isRtl = props.isRtl,\n          options = props.options;\n      var selectValue = this.state.selectValue;\n\n      var hasValue = this.hasValue();\n      var getValue = function getValue() {\n        return selectValue;\n      };\n      var cxPrefix = classNamePrefix;\n\n      var cx = classNames.bind(null, cxPrefix);\n      return {\n        cx: cx,\n        clearValue: clearValue,\n        getStyles: getStyles,\n        getValue: getValue,\n        hasValue: hasValue,\n        isMulti: isMulti,\n        isRtl: isRtl,\n        options: options,\n        selectOption: selectOption,\n        setValue: setValue,\n        selectProps: props,\n        theme: this.getTheme()\n      };\n    }\n  }, {\n    key: 'getNextFocusedValue',\n    value: function getNextFocusedValue(nextSelectValue) {\n      if (this.clearFocusValueOnUpdate) {\n        this.clearFocusValueOnUpdate = false;\n        return null;\n      }\n      var _state4 = this.state,\n          focusedValue = _state4.focusedValue,\n          lastSelectValue = _state4.selectValue;\n\n      var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n      if (lastFocusedIndex > -1) {\n        var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n        if (nextFocusedIndex > -1) {\n          // the focused value is still in the selectValue, return it\n          return focusedValue;\n        } else if (lastFocusedIndex < nextSelectValue.length) {\n          // the focusedValue is not present in the next selectValue array by\n          // reference, so return the new value at the same index\n          return nextSelectValue[lastFocusedIndex];\n        }\n      }\n      return null;\n    }\n  }, {\n    key: 'getNextFocusedOption',\n    value: function getNextFocusedOption(options) {\n      var lastFocusedOption = this.state.focusedOption;\n\n      return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n    }\n\n    // ==============================\n    // Helpers\n    // ==============================\n\n  }, {\n    key: 'hasValue',\n    value: function hasValue() {\n      var selectValue = this.state.selectValue;\n\n      return selectValue.length > 0;\n    }\n  }, {\n    key: 'hasOptions',\n    value: function hasOptions() {\n      return !!this.state.menuOptions.render.length;\n    }\n  }, {\n    key: 'countOptions',\n    value: function countOptions() {\n      return this.state.menuOptions.focusable.length;\n    }\n  }, {\n    key: 'isClearable',\n    value: function isClearable() {\n      var _props5 = this.props,\n          isClearable = _props5.isClearable,\n          isMulti = _props5.isMulti;\n\n      // single select, by default, IS NOT clearable\n      // multi select, by default, IS clearable\n\n      if (isClearable === undefined) return isMulti;\n\n      return isClearable;\n    }\n  }, {\n    key: 'isOptionDisabled',\n    value: function isOptionDisabled$$1(option, selectValue) {\n      return typeof this.props.isOptionDisabled === 'function' ? this.props.isOptionDisabled(option, selectValue) : false;\n    }\n  }, {\n    key: 'isOptionSelected',\n    value: function isOptionSelected(option, selectValue) {\n      var _this2 = this;\n\n      if (selectValue.indexOf(option) > -1) return true;\n      if (typeof this.props.isOptionSelected === 'function') {\n        return this.props.isOptionSelected(option, selectValue);\n      }\n      var candidate = this.getOptionValue(option);\n      return selectValue.some(function (i) {\n        return _this2.getOptionValue(i) === candidate;\n      });\n    }\n  }, {\n    key: 'filterOption',\n    value: function filterOption(option, inputValue) {\n      return this.props.filterOption ? this.props.filterOption(option, inputValue) : true;\n    }\n  }, {\n    key: 'formatOptionLabel',\n    value: function formatOptionLabel(data, context) {\n      if (typeof this.props.formatOptionLabel === 'function') {\n        var _inputValue = this.props.inputValue;\n        var _selectValue2 = this.state.selectValue;\n\n        return this.props.formatOptionLabel(data, {\n          context: context,\n          inputValue: _inputValue,\n          selectValue: _selectValue2\n        });\n      } else {\n        return this.getOptionLabel(data);\n      }\n    }\n  }, {\n    key: 'formatGroupLabel',\n    value: function formatGroupLabel$$1(data) {\n      return this.props.formatGroupLabel(data);\n    }\n\n    // ==============================\n    // Mouse Handlers\n    // ==============================\n\n  }, {\n    key: 'startListeningComposition',\n\n\n    // ==============================\n    // Composition Handlers\n    // ==============================\n\n    value: function startListeningComposition() {\n      if (document && document.addEventListener) {\n        document.addEventListener('compositionstart', this.onCompositionStart, false);\n        document.addEventListener('compositionend', this.onCompositionEnd, false);\n      }\n    }\n  }, {\n    key: 'stopListeningComposition',\n    value: function stopListeningComposition() {\n      if (document && document.removeEventListener) {\n        document.removeEventListener('compositionstart', this.onCompositionStart);\n        document.removeEventListener('compositionend', this.onCompositionEnd);\n      }\n    }\n  }, {\n    key: 'startListeningToTouch',\n\n\n    // ==============================\n    // Touch Handlers\n    // ==============================\n\n    value: function startListeningToTouch() {\n      if (document && document.addEventListener) {\n        document.addEventListener('touchstart', this.onTouchStart, false);\n        document.addEventListener('touchmove', this.onTouchMove, false);\n        document.addEventListener('touchend', this.onTouchEnd, false);\n      }\n    }\n  }, {\n    key: 'stopListeningToTouch',\n    value: function stopListeningToTouch() {\n      if (document && document.removeEventListener) {\n        document.removeEventListener('touchstart', this.onTouchStart);\n        document.removeEventListener('touchmove', this.onTouchMove);\n        document.removeEventListener('touchend', this.onTouchEnd);\n      }\n    }\n\n    // ==============================\n    // Focus Handlers\n    // ==============================\n\n    // ==============================\n    // Keyboard Handlers\n    // ==============================\n\n  }, {\n    key: 'buildMenuOptions',\n\n\n    // ==============================\n    // Menu Options\n    // ==============================\n\n    value: function buildMenuOptions(props, selectValue) {\n      var _this3 = this;\n\n      var _props$inputValue = props.inputValue,\n          inputValue = _props$inputValue === undefined ? '' : _props$inputValue,\n          options = props.options;\n\n\n      var toOption = function toOption(option, id) {\n        var isDisabled = _this3.isOptionDisabled(option, selectValue);\n        var isSelected = _this3.isOptionSelected(option, selectValue);\n        var label = _this3.getOptionLabel(option);\n        var value = _this3.getOptionValue(option);\n\n        if (_this3.shouldHideSelectedOptions() && isSelected || !_this3.filterOption({ label: label, value: value, data: option }, inputValue)) {\n          return;\n        }\n\n        var onHover = isDisabled ? undefined : function () {\n          return _this3.onOptionHover(option);\n        };\n        var onSelect = isDisabled ? undefined : function () {\n          return _this3.selectOption(option);\n        };\n        var optionId = _this3.getElementId('option') + '-' + id;\n\n        return {\n          innerProps: {\n            id: optionId,\n            onClick: onSelect,\n            onMouseMove: onHover,\n            onMouseOver: onHover,\n            role: 'option',\n            tabIndex: -1\n          },\n          data: option,\n          isDisabled: isDisabled,\n          isSelected: isSelected,\n          key: optionId,\n          label: label,\n          type: 'option',\n          value: value\n        };\n      };\n\n      return options.reduce(function (acc, item, itemIndex) {\n        if (item.options) {\n          // TODO needs a tidier implementation\n          if (!_this3.hasGroups) _this3.hasGroups = true;\n\n          var items = item.options;\n\n          var children = items.map(function (child, i) {\n            var option = toOption(child, itemIndex + '-' + i);\n            if (option && !option.isDisabled) acc.focusable.push(child);\n            return option;\n          }).filter(Boolean);\n          if (children.length) {\n            var groupId = _this3.getElementId('group') + '-' + itemIndex;\n            acc.render.push({\n              type: 'group',\n              key: groupId,\n              data: item,\n              options: children\n            });\n          }\n        } else {\n          var option = toOption(item, '' + itemIndex);\n          if (option) {\n            acc.render.push(option);\n            if (!option.isDisabled) acc.focusable.push(item);\n          }\n        }\n        return acc;\n      }, { render: [], focusable: [] });\n    }\n\n    // ==============================\n    // Renderers\n    // ==============================\n\n  }, {\n    key: 'constructAriaLiveMessage',\n    value: function constructAriaLiveMessage() {\n      var _state5 = this.state,\n          ariaLiveContext = _state5.ariaLiveContext,\n          selectValue = _state5.selectValue,\n          focusedValue = _state5.focusedValue,\n          focusedOption = _state5.focusedOption;\n      var _props6 = this.props,\n          options = _props6.options,\n          menuIsOpen = _props6.menuIsOpen,\n          inputValue = _props6.inputValue,\n          screenReaderStatus = _props6.screenReaderStatus;\n\n      // An aria live message representing the currently focused value in the select.\n\n      var focusedValueMsg = focusedValue ? valueFocusAriaMessage({\n        focusedValue: focusedValue,\n        getOptionLabel: this.getOptionLabel,\n        selectValue: selectValue\n      }) : '';\n      // An aria live message representing the currently focused option in the select.\n      var focusedOptionMsg = focusedOption && menuIsOpen ? optionFocusAriaMessage({\n        focusedOption: focusedOption,\n        getOptionLabel: this.getOptionLabel,\n        options: options\n      }) : '';\n      // An aria live message representing the set of focusable results and current searchterm/inputvalue.\n      var resultsMsg = resultsAriaMessage({\n        inputValue: inputValue,\n        screenReaderMessage: screenReaderStatus({ count: this.countOptions() })\n      });\n\n      return focusedValueMsg + ' ' + focusedOptionMsg + ' ' + resultsMsg + ' ' + ariaLiveContext;\n    }\n  }, {\n    key: 'renderInput',\n    value: function renderInput() {\n      var _props7 = this.props,\n          isDisabled = _props7.isDisabled,\n          isSearchable = _props7.isSearchable,\n          inputId = _props7.inputId,\n          inputValue = _props7.inputValue,\n          tabIndex = _props7.tabIndex;\n      var Input = this.components.Input;\n      var inputIsHidden = this.state.inputIsHidden;\n\n\n      var id = inputId || this.getElementId('input');\n\n      if (!isSearchable) {\n        // use a dummy input to maintain focus/blur functionality\n        return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DummyInput, {\n          id: id,\n          innerRef: this.getInputRef,\n          onBlur: this.onInputBlur,\n          onChange: noop,\n          onFocus: this.onInputFocus,\n          readOnly: true,\n          tabIndex: tabIndex,\n          value: ''\n        });\n      }\n\n      // aria attributes makes the JSX \"noisy\", separated for clarity\n      var ariaAttributes = {\n        'aria-autocomplete': 'list',\n        'aria-label': this.props['aria-label'],\n        'aria-labelledby': this.props['aria-labelledby']\n      };\n\n      var _commonProps = this.commonProps,\n          cx = _commonProps.cx,\n          theme = _commonProps.theme;\n\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Input, _extends({\n        autoCapitalize: 'none',\n        autoComplete: 'off',\n        autoCorrect: 'off',\n        cx: cx,\n        getStyles: this.getStyles,\n        id: id,\n        innerRef: this.getInputRef,\n        isDisabled: isDisabled,\n        isHidden: inputIsHidden,\n        onBlur: this.onInputBlur,\n        onChange: this.handleInputChange,\n        onFocus: this.onInputFocus,\n        spellCheck: 'false',\n        tabIndex: tabIndex,\n        theme: theme,\n        type: 'text',\n        value: inputValue\n      }, ariaAttributes));\n    }\n  }, {\n    key: 'renderPlaceholderOrValue',\n    value: function renderPlaceholderOrValue() {\n      var _this4 = this;\n\n      var _components = this.components,\n          MultiValue = _components.MultiValue,\n          MultiValueContainer = _components.MultiValueContainer,\n          MultiValueLabel = _components.MultiValueLabel,\n          MultiValueRemove = _components.MultiValueRemove,\n          SingleValue = _components.SingleValue,\n          Placeholder = _components.Placeholder;\n      var commonProps = this.commonProps;\n      var _props8 = this.props,\n          controlShouldRenderValue = _props8.controlShouldRenderValue,\n          isDisabled = _props8.isDisabled,\n          isMulti = _props8.isMulti,\n          inputValue = _props8.inputValue,\n          placeholder = _props8.placeholder;\n      var _state6 = this.state,\n          selectValue = _state6.selectValue,\n          focusedValue = _state6.focusedValue;\n\n\n      if (!this.hasValue() || !controlShouldRenderValue) {\n        return inputValue ? null : react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          Placeholder,\n          _extends({}, commonProps, { key: 'placeholder', isDisabled: isDisabled }),\n          placeholder\n        );\n      }\n\n      if (isMulti) {\n        var selectValues = selectValue.map(function (opt) {\n          var isFocused = opt === focusedValue;\n          return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n            MultiValue,\n            _extends({}, commonProps, {\n              components: {\n                Container: MultiValueContainer,\n                Label: MultiValueLabel,\n                Remove: MultiValueRemove\n              },\n              isFocused: isFocused,\n              isDisabled: isDisabled,\n              key: _this4.getOptionValue(opt),\n              removeProps: {\n                onClick: function onClick() {\n                  return _this4.removeValue(opt);\n                },\n                onTouchEnd: function onTouchEnd() {\n                  return _this4.removeValue(opt);\n                },\n                onMouseDown: function onMouseDown(e) {\n                  e.preventDefault();\n                  e.stopPropagation();\n                }\n              },\n              data: opt\n            }),\n            _this4.formatOptionLabel(opt, 'value')\n          );\n        });\n        return selectValues;\n      }\n\n      if (inputValue) {\n        return null;\n      }\n\n      var singleValue = selectValue[0];\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        SingleValue,\n        _extends({}, commonProps, { data: singleValue, isDisabled: isDisabled }),\n        this.formatOptionLabel(singleValue, 'value')\n      );\n    }\n  }, {\n    key: 'renderClearIndicator',\n    value: function renderClearIndicator() {\n      var ClearIndicator = this.components.ClearIndicator;\n      var commonProps = this.commonProps;\n      var _props9 = this.props,\n          isDisabled = _props9.isDisabled,\n          isLoading = _props9.isLoading;\n      var isFocused = this.state.isFocused;\n\n\n      if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n        return null;\n      }\n\n      var innerProps = {\n        onMouseDown: this.onClearIndicatorMouseDown,\n        onTouchEnd: this.onClearIndicatorTouchEnd,\n        'aria-hidden': 'true'\n      };\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ClearIndicator, _extends({}, commonProps, {\n        innerProps: innerProps,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: 'renderLoadingIndicator',\n    value: function renderLoadingIndicator() {\n      var LoadingIndicator = this.components.LoadingIndicator;\n      var commonProps = this.commonProps;\n      var _props10 = this.props,\n          isDisabled = _props10.isDisabled,\n          isLoading = _props10.isLoading;\n      var isFocused = this.state.isFocused;\n\n\n      if (!LoadingIndicator || !isLoading) return null;\n\n      var innerProps = { 'aria-hidden': 'true' };\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(LoadingIndicator, _extends({}, commonProps, {\n        innerProps: innerProps,\n        isDisabled: isDisabled,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: 'renderIndicatorSeparator',\n    value: function renderIndicatorSeparator() {\n      var _components2 = this.components,\n          DropdownIndicator = _components2.DropdownIndicator,\n          IndicatorSeparator = _components2.IndicatorSeparator;\n\n      // separator doesn't make sense without the dropdown indicator\n\n      if (!DropdownIndicator || !IndicatorSeparator) return null;\n\n      var commonProps = this.commonProps;\n      var isDisabled = this.props.isDisabled;\n      var isFocused = this.state.isFocused;\n\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(IndicatorSeparator, _extends({}, commonProps, {\n        isDisabled: isDisabled,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: 'renderDropdownIndicator',\n    value: function renderDropdownIndicator() {\n      var DropdownIndicator = this.components.DropdownIndicator;\n\n      if (!DropdownIndicator) return null;\n      var commonProps = this.commonProps;\n      var isDisabled = this.props.isDisabled;\n      var isFocused = this.state.isFocused;\n\n\n      var innerProps = {\n        onMouseDown: this.onDropdownIndicatorMouseDown,\n        onTouchEnd: this.onDropdownIndicatorTouchEnd,\n        'aria-hidden': 'true'\n      };\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(DropdownIndicator, _extends({}, commonProps, {\n        innerProps: innerProps,\n        isDisabled: isDisabled,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: 'renderMenu',\n    value: function renderMenu() {\n      var _this5 = this;\n\n      var _components3 = this.components,\n          Group = _components3.Group,\n          GroupHeading = _components3.GroupHeading,\n          Menu$$1 = _components3.Menu,\n          MenuList$$1 = _components3.MenuList,\n          MenuPortal$$1 = _components3.MenuPortal,\n          LoadingMessage$$1 = _components3.LoadingMessage,\n          NoOptionsMessage$$1 = _components3.NoOptionsMessage,\n          Option = _components3.Option;\n      var commonProps = this.commonProps;\n      var _state7 = this.state,\n          focusedOption = _state7.focusedOption,\n          menuOptions = _state7.menuOptions;\n      var _props11 = this.props,\n          captureMenuScroll = _props11.captureMenuScroll,\n          inputValue = _props11.inputValue,\n          isLoading = _props11.isLoading,\n          loadingMessage = _props11.loadingMessage,\n          minMenuHeight = _props11.minMenuHeight,\n          maxMenuHeight = _props11.maxMenuHeight,\n          menuIsOpen = _props11.menuIsOpen,\n          menuPlacement = _props11.menuPlacement,\n          menuPosition = _props11.menuPosition,\n          menuPortalTarget = _props11.menuPortalTarget,\n          menuShouldBlockScroll = _props11.menuShouldBlockScroll,\n          menuShouldScrollIntoView = _props11.menuShouldScrollIntoView,\n          noOptionsMessage = _props11.noOptionsMessage,\n          onMenuScrollToTop = _props11.onMenuScrollToTop,\n          onMenuScrollToBottom = _props11.onMenuScrollToBottom;\n\n\n      if (!menuIsOpen) return null;\n\n      // TODO: Internal Option Type here\n      var render = function render(props) {\n        // for performance, the menu options in state aren't changed when the\n        // focused option changes so we calculate additional props based on that\n        var isFocused = focusedOption === props.data;\n        props.innerRef = isFocused ? _this5.getFocusedOptionRef : undefined;\n\n        return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          Option,\n          _extends({}, commonProps, props, { isFocused: isFocused }),\n          _this5.formatOptionLabel(props.data, 'menu')\n        );\n      };\n\n      var menuUI = void 0;\n\n      if (this.hasOptions()) {\n        menuUI = menuOptions.render.map(function (item) {\n          if (item.type === 'group') {\n            var type = item.type,\n                group = objectWithoutProperties(item, ['type']);\n\n            var headingId = item.key + '-heading';\n\n            return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n              Group,\n              _extends({}, commonProps, group, {\n                Heading: GroupHeading,\n                headingProps: {\n                  id: headingId\n                },\n                label: _this5.formatGroupLabel(item.data)\n              }),\n              item.options.map(function (option) {\n                return render(option);\n              })\n            );\n          } else if (item.type === 'option') {\n            return render(item);\n          }\n        });\n      } else if (isLoading) {\n        var message = loadingMessage({ inputValue: inputValue });\n        if (message === null) return null;\n        menuUI = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          LoadingMessage$$1,\n          commonProps,\n          message\n        );\n      } else {\n        var _message = noOptionsMessage({ inputValue: inputValue });\n        if (_message === null) return null;\n        menuUI = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          NoOptionsMessage$$1,\n          commonProps,\n          _message\n        );\n      }\n      var menuPlacementProps = {\n        minMenuHeight: minMenuHeight,\n        maxMenuHeight: maxMenuHeight,\n        menuPlacement: menuPlacement,\n        menuPosition: menuPosition,\n        menuShouldScrollIntoView: menuShouldScrollIntoView\n      };\n\n      var menuElement = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        MenuPlacer,\n        _extends({}, commonProps, menuPlacementProps),\n        function (_ref2) {\n          var ref = _ref2.ref,\n              _ref2$placerProps = _ref2.placerProps,\n              placement = _ref2$placerProps.placement,\n              maxHeight = _ref2$placerProps.maxHeight;\n          return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n            Menu$$1,\n            _extends({}, commonProps, menuPlacementProps, {\n              innerRef: ref,\n              innerProps: {\n                onMouseDown: _this5.onMenuMouseDown,\n                onMouseMove: _this5.onMenuMouseMove\n              },\n              isLoading: isLoading,\n              placement: placement\n            }),\n            react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n              ScrollCaptorSwitch,\n              {\n                isEnabled: captureMenuScroll,\n                onTopArrive: onMenuScrollToTop,\n                onBottomArrive: onMenuScrollToBottom\n              },\n              react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n                ScrollBlock,\n                { isEnabled: menuShouldBlockScroll },\n                react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n                  MenuList$$1,\n                  _extends({}, commonProps, {\n                    innerRef: _this5.getMenuListRef,\n                    isLoading: isLoading,\n                    maxHeight: maxHeight\n                  }),\n                  menuUI\n                )\n              )\n            )\n          );\n        }\n      );\n\n      // positioning behaviour is almost identical for portalled and fixed,\n      // so we use the same component. the actual portalling logic is forked\n      // within the component based on `menuPosition`\n      return menuPortalTarget || menuPosition === 'fixed' ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        MenuPortal$$1,\n        _extends({}, commonProps, {\n          appendTo: menuPortalTarget,\n          controlElement: this.controlRef,\n          menuPlacement: menuPlacement,\n          menuPosition: menuPosition\n        }),\n        menuElement\n      ) : menuElement;\n    }\n  }, {\n    key: 'renderFormField',\n    value: function renderFormField() {\n      var _this6 = this;\n\n      var _props12 = this.props,\n          delimiter = _props12.delimiter,\n          isDisabled = _props12.isDisabled,\n          isMulti = _props12.isMulti,\n          name = _props12.name;\n      var selectValue = this.state.selectValue;\n\n\n      if (!name || isDisabled) return;\n\n      if (isMulti) {\n        if (delimiter) {\n          var _value = selectValue.map(function (opt) {\n            return _this6.getOptionValue(opt);\n          }).join(delimiter);\n          return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('input', { name: name, type: 'hidden', value: _value });\n        } else {\n          var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n            return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('input', {\n              key: 'i-' + i,\n              name: name,\n              type: 'hidden',\n              value: _this6.getOptionValue(opt)\n            });\n          }) : react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('input', { name: name, type: 'hidden' });\n\n          return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n            'div',\n            null,\n            input\n          );\n        }\n      } else {\n        var _value2 = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n        return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('input', { name: name, type: 'hidden', value: _value2 });\n      }\n    }\n  }, {\n    key: 'renderLiveRegion',\n    value: function renderLiveRegion() {\n      if (!this.state.isFocused) return null;\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        A11yText,\n        { 'aria-live': 'assertive' },\n        react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          'p',\n          { id: 'aria-selection-event' },\n          '\\xA0',\n          this.state.ariaLiveSelection\n        ),\n        react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          'p',\n          { id: 'aria-context' },\n          '\\xA0',\n          this.constructAriaLiveMessage()\n        )\n      );\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _components4 = this.components,\n          Control = _components4.Control,\n          IndicatorsContainer = _components4.IndicatorsContainer,\n          SelectContainer = _components4.SelectContainer,\n          ValueContainer = _components4.ValueContainer;\n      var _props13 = this.props,\n          className = _props13.className,\n          id = _props13.id,\n          isDisabled = _props13.isDisabled;\n      var isFocused = this.state.isFocused;\n\n\n      var commonProps = this.commonProps = this.getCommonProps();\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        SelectContainer,\n        _extends({}, commonProps, {\n          className: className,\n          innerProps: {\n            id: id,\n            onKeyDown: this.onKeyDown\n          },\n          isDisabled: isDisabled,\n          isFocused: isFocused\n        }),\n        this.renderLiveRegion(),\n        react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n          Control,\n          _extends({}, commonProps, {\n            innerRef: this.getControlRef,\n            innerProps: {\n              onMouseDown: this.onControlMouseDown,\n              onTouchEnd: this.onControlTouchEnd\n            },\n            isDisabled: isDisabled,\n            isFocused: isFocused\n          }),\n          react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n            ValueContainer,\n            _extends({}, commonProps, { isDisabled: isDisabled }),\n            this.renderPlaceholderOrValue(),\n            this.renderInput()\n          ),\n          react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n            IndicatorsContainer,\n            _extends({}, commonProps, { isDisabled: isDisabled }),\n            this.renderClearIndicator(),\n            this.renderLoadingIndicator(),\n            this.renderIndicatorSeparator(),\n            this.renderDropdownIndicator()\n          )\n        ),\n        this.renderMenu(),\n        this.renderFormField()\n      );\n    }\n  }]);\n  return Select;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\nSelect.defaultProps = defaultProps;\n\nvar _initialiseProps = function _initialiseProps() {\n  var _this7 = this;\n\n  this.state = {\n    ariaLiveSelection: '',\n    ariaLiveContext: '',\n    focusedOption: null,\n    focusedValue: null,\n    inputIsHidden: false,\n    isFocused: false,\n    isComposing: false,\n    menuOptions: { render: [], focusable: [] },\n    selectValue: []\n  };\n  this.blockOptionHover = false;\n  this.clearFocusValueOnUpdate = false;\n  this.hasGroups = false;\n  this.initialTouchX = 0;\n  this.initialTouchY = 0;\n  this.instancePrefix = '';\n  this.openAfterFocus = false;\n  this.scrollToFocusedOptionOnUpdate = false;\n  this.controlRef = null;\n\n  this.getControlRef = function (ref) {\n    _this7.controlRef = ref;\n  };\n\n  this.focusedOptionRef = null;\n\n  this.getFocusedOptionRef = function (ref) {\n    _this7.focusedOptionRef = ref;\n  };\n\n  this.menuListRef = null;\n\n  this.getMenuListRef = function (ref) {\n    _this7.menuListRef = ref;\n  };\n\n  this.inputRef = null;\n\n  this.getInputRef = function (ref) {\n    _this7.inputRef = ref;\n  };\n\n  this.cacheComponents = function (components$$1) {\n    _this7.components = defaultComponents({ components: components$$1 });\n  };\n\n  this.focus = this.focusInput;\n  this.blur = this.blurInput;\n\n  this.setValue = function (newValue) {\n    var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n    var option = arguments[2];\n    var _props14 = _this7.props,\n        closeMenuOnSelect = _props14.closeMenuOnSelect,\n        isMulti = _props14.isMulti,\n        onChange = _props14.onChange;\n\n    _this7.onInputChange('', { action: 'set-value' });\n    if (closeMenuOnSelect) {\n      _this7.inputIsHiddenAfterUpdate = !isMulti;\n      _this7.onMenuClose();\n    }\n    // when the select value should change, we should reset focusedValue\n    _this7.clearFocusValueOnUpdate = true;\n    onChange(newValue, { action: action, option: option });\n  };\n\n  this.selectOption = function (newValue) {\n    var _props15 = _this7.props,\n        blurInputOnSelect = _props15.blurInputOnSelect,\n        isMulti = _props15.isMulti;\n\n\n    if (isMulti) {\n      var _selectValue3 = _this7.state.selectValue;\n\n      if (_this7.isOptionSelected(newValue, _selectValue3)) {\n        var candidate = _this7.getOptionValue(newValue);\n        _this7.setValue(_selectValue3.filter(function (i) {\n          return _this7.getOptionValue(i) !== candidate;\n        }), 'deselect-option', newValue);\n        _this7.announceAriaLiveSelection({\n          event: 'deselect-option',\n          context: { value: _this7.getOptionLabel(newValue) }\n        });\n      } else {\n        _this7.setValue([].concat(toConsumableArray(_selectValue3), [newValue]), 'select-option', newValue);\n        _this7.announceAriaLiveSelection({\n          event: 'select-option',\n          context: { value: _this7.getOptionLabel(newValue) }\n        });\n      }\n    } else {\n      _this7.setValue(newValue, 'select-option');\n      _this7.announceAriaLiveSelection({\n        event: 'select-option',\n        context: { value: _this7.getOptionLabel(newValue) }\n      });\n    }\n\n    if (blurInputOnSelect) {\n      _this7.blurInput();\n    }\n  };\n\n  this.removeValue = function (removedValue) {\n    var onChange = _this7.props.onChange;\n    var selectValue = _this7.state.selectValue;\n\n    var candidate = _this7.getOptionValue(removedValue);\n    onChange(selectValue.filter(function (i) {\n      return _this7.getOptionValue(i) !== candidate;\n    }), {\n      action: 'remove-value',\n      removedValue: removedValue\n    });\n    _this7.announceAriaLiveSelection({\n      event: 'remove-value',\n      context: {\n        value: removedValue ? _this7.getOptionLabel(removedValue) : undefined\n      }\n    });\n    _this7.focusInput();\n  };\n\n  this.clearValue = function () {\n    var _props16 = _this7.props,\n        isMulti = _props16.isMulti,\n        onChange = _props16.onChange;\n\n    onChange(isMulti ? [] : null, { action: 'clear' });\n  };\n\n  this.popValue = function () {\n    var onChange = _this7.props.onChange;\n    var selectValue = _this7.state.selectValue;\n\n    var lastSelectedValue = selectValue[selectValue.length - 1];\n    _this7.announceAriaLiveSelection({\n      event: 'pop-value',\n      context: {\n        value: lastSelectedValue ? _this7.getOptionLabel(lastSelectedValue) : undefined\n      }\n    });\n    onChange(selectValue.slice(0, selectValue.length - 1), {\n      action: 'pop-value',\n      removedValue: lastSelectedValue\n    });\n  };\n\n  this.getOptionLabel = function (data) {\n    return _this7.props.getOptionLabel(data);\n  };\n\n  this.getOptionValue = function (data) {\n    return _this7.props.getOptionValue(data);\n  };\n\n  this.getStyles = function (key, props) {\n    var base = defaultStyles[key](props);\n    base.boxSizing = 'border-box';\n    var custom = _this7.props.styles[key];\n    return custom ? custom(base, props) : base;\n  };\n\n  this.getElementId = function (element) {\n    return _this7.instancePrefix + '-' + element;\n  };\n\n  this.getActiveDescendentId = function () {\n    var menuIsOpen = _this7.props.menuIsOpen;\n    var _state8 = _this7.state,\n        menuOptions = _state8.menuOptions,\n        focusedOption = _state8.focusedOption;\n\n\n    if (!focusedOption || !menuIsOpen) return undefined;\n\n    var index = menuOptions.focusable.indexOf(focusedOption);\n    var option = menuOptions.render[index];\n\n    return option && option.key;\n  };\n\n  this.announceAriaLiveSelection = function (_ref3) {\n    var event = _ref3.event,\n        context = _ref3.context;\n\n    _this7.setState({\n      ariaLiveSelection: valueEventAriaMessage(event, context)\n    });\n  };\n\n  this.announceAriaLiveContext = function (_ref4) {\n    var event = _ref4.event,\n        context = _ref4.context;\n\n    _this7.setState({\n      ariaLiveContext: instructionsAriaMessage(event, _extends({}, context, {\n        label: _this7.props['aria-label']\n      }))\n    });\n  };\n\n  this.onMenuMouseDown = function (event) {\n    if (event.button !== 0) {\n      return;\n    }\n    event.stopPropagation();\n    event.preventDefault();\n    _this7.focusInput();\n  };\n\n  this.onMenuMouseMove = function (event) {\n    _this7.blockOptionHover = false;\n  };\n\n  this.onControlMouseDown = function (event) {\n    var openMenuOnClick = _this7.props.openMenuOnClick;\n\n    if (!_this7.state.isFocused) {\n      if (openMenuOnClick) {\n        _this7.openAfterFocus = true;\n      }\n      _this7.focusInput();\n    } else if (!_this7.props.menuIsOpen) {\n      _this7.openMenu('first');\n    } else {\n      _this7.onMenuClose();\n    }\n    // $FlowFixMe HTMLElement type does not have tagName property\n    if (event.target.tagName !== 'INPUT') {\n      event.preventDefault();\n    }\n  };\n\n  this.onDropdownIndicatorMouseDown = function (event) {\n    // ignore mouse events that weren't triggered by the primary button\n    if (event && event.type === 'mousedown' && event.button !== 0) {\n      return;\n    }\n    if (_this7.props.isDisabled) return;\n    var _props17 = _this7.props,\n        isMulti = _props17.isMulti,\n        menuIsOpen = _props17.menuIsOpen;\n\n    _this7.focusInput();\n    if (menuIsOpen) {\n      _this7.inputIsHiddenAfterUpdate = !isMulti;\n      _this7.onMenuClose();\n    } else {\n      _this7.openMenu('first');\n    }\n    event.preventDefault();\n    event.stopPropagation();\n  };\n\n  this.onClearIndicatorMouseDown = function (event) {\n    // ignore mouse events that weren't triggered by the primary button\n    if (event && event.type === 'mousedown' && event.button !== 0) {\n      return;\n    }\n    _this7.clearValue();\n    event.stopPropagation();\n    _this7.openAfterFocus = false;\n    setTimeout(function () {\n      return _this7.focusInput();\n    });\n  };\n\n  this.onScroll = function (event) {\n    if (typeof _this7.props.closeMenuOnScroll === 'boolean') {\n      if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n        _this7.props.onMenuClose();\n      }\n    } else if (typeof _this7.props.closeMenuOnScroll === 'function') {\n      if (_this7.props.closeMenuOnScroll(event)) {\n        _this7.props.onMenuClose();\n      }\n    }\n  };\n\n  this.onCompositionStart = function () {\n    _this7.setState({\n      isComposing: true\n    });\n  };\n\n  this.onCompositionEnd = function () {\n    _this7.setState({\n      isComposing: false\n    });\n  };\n\n  this.onTouchStart = function (_ref5) {\n    var _ref5$touches = slicedToArray(_ref5.touches, 1),\n        touch = _ref5$touches[0];\n\n    _this7.initialTouchX = touch.clientX;\n    _this7.initialTouchY = touch.clientY;\n    _this7.userIsDragging = false;\n  };\n\n  this.onTouchMove = function (_ref6) {\n    var _ref6$touches = slicedToArray(_ref6.touches, 1),\n        touch = _ref6$touches[0];\n\n    var deltaX = Math.abs(touch.clientX - _this7.initialTouchX);\n    var deltaY = Math.abs(touch.clientY - _this7.initialTouchY);\n    var moveThreshold = 5;\n\n    _this7.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n  };\n\n  this.onTouchEnd = function (event) {\n    if (_this7.userIsDragging) return;\n\n    // type cast the EventTarget\n    var target = event.target;\n\n    // close the menu if the user taps outside\n    if (_this7.controlRef && !_this7.controlRef.contains(target) && _this7.menuListRef && !_this7.menuListRef.contains(target)) {\n      _this7.blurInput();\n    }\n\n    // reset move vars\n    _this7.initialTouchX = 0;\n    _this7.initialTouchY = 0;\n  };\n\n  this.onControlTouchEnd = function (event) {\n    if (_this7.userIsDragging) return;\n\n    _this7.onControlMouseDown(event);\n  };\n\n  this.onClearIndicatorTouchEnd = function (event) {\n    if (_this7.userIsDragging) return;\n\n    _this7.onClearIndicatorMouseDown(event);\n  };\n\n  this.onDropdownIndicatorTouchEnd = function (event) {\n    if (_this7.userIsDragging) return;\n\n    _this7.onDropdownIndicatorMouseDown(event);\n  };\n\n  this.handleInputChange = function (event) {\n    var inputValue = event.currentTarget.value;\n    _this7.inputIsHiddenAfterUpdate = false;\n    _this7.onInputChange(inputValue, { action: 'input-change' });\n    _this7.onMenuOpen();\n  };\n\n  this.onInputFocus = function (event) {\n    var _props18 = _this7.props,\n        isSearchable = _props18.isSearchable,\n        isMulti = _props18.isMulti;\n\n    if (_this7.props.onFocus) {\n      _this7.props.onFocus(event);\n    }\n    _this7.inputIsHiddenAfterUpdate = false;\n    _this7.announceAriaLiveContext({\n      event: 'input',\n      context: { isSearchable: isSearchable, isMulti: isMulti }\n    });\n    _this7.setState({\n      isFocused: true\n    });\n    if (_this7.openAfterFocus || _this7.props.openMenuOnFocus) {\n      _this7.openMenu('first');\n    }\n    _this7.openAfterFocus = false;\n  };\n\n  this.onInputBlur = function (event) {\n    if (_this7.props.onBlur) {\n      _this7.props.onBlur(event);\n    }\n    _this7.onInputChange('', { action: 'input-blur' });\n    _this7.onMenuClose();\n    _this7.setState({\n      focusedValue: null,\n      isFocused: false\n    });\n  };\n\n  this.onOptionHover = function (focusedOption) {\n    if (_this7.blockOptionHover || _this7.state.focusedOption === focusedOption) {\n      return;\n    }\n    _this7.setState({ focusedOption: focusedOption });\n  };\n\n  this.shouldHideSelectedOptions = function () {\n    var _props19 = _this7.props,\n        hideSelectedOptions = _props19.hideSelectedOptions,\n        isMulti = _props19.isMulti;\n\n    if (hideSelectedOptions === undefined) return isMulti;\n    return hideSelectedOptions;\n  };\n\n  this.onKeyDown = function (event) {\n    var _props20 = _this7.props,\n        isMulti = _props20.isMulti,\n        backspaceRemovesValue = _props20.backspaceRemovesValue,\n        escapeClearsValue = _props20.escapeClearsValue,\n        inputValue = _props20.inputValue,\n        isClearable = _props20.isClearable,\n        isDisabled = _props20.isDisabled,\n        menuIsOpen = _props20.menuIsOpen,\n        onKeyDown = _props20.onKeyDown,\n        tabSelectsValue = _props20.tabSelectsValue,\n        openMenuOnFocus = _props20.openMenuOnFocus;\n    var _state9 = _this7.state,\n        isComposing = _state9.isComposing,\n        focusedOption = _state9.focusedOption,\n        focusedValue = _state9.focusedValue,\n        selectValue = _state9.selectValue;\n\n\n    if (isDisabled) return;\n\n    if (typeof onKeyDown === 'function') {\n      onKeyDown(event);\n      if (event.defaultPrevented) {\n        return;\n      }\n    }\n\n    // Block option hover events when the user has just pressed a key\n    _this7.blockOptionHover = true;\n    switch (event.key) {\n      case 'ArrowLeft':\n        if (!isMulti || inputValue) return;\n        _this7.focusValue('previous');\n        break;\n      case 'ArrowRight':\n        if (!isMulti || inputValue) return;\n        _this7.focusValue('next');\n        break;\n      case 'Delete':\n      case 'Backspace':\n        if (inputValue) return;\n        if (focusedValue) {\n          _this7.removeValue(focusedValue);\n        } else {\n          if (!backspaceRemovesValue) return;\n          _this7.popValue();\n        }\n        break;\n      case 'Tab':\n        if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption ||\n        // don't capture the event if the menu opens on focus and the focused\n        // option is already selected; it breaks the flow of navigation\n        openMenuOnFocus && _this7.isOptionSelected(focusedOption, selectValue)) {\n          return;\n        }\n        _this7.selectOption(focusedOption);\n        break;\n      case 'Enter':\n        if (menuIsOpen) {\n          if (!focusedOption) return;\n          if (isComposing) return;\n          _this7.selectOption(focusedOption);\n        } else {\n          _this7.focusOption('first');\n        }\n        break;\n      case 'Escape':\n        if (menuIsOpen) {\n          _this7.inputIsHiddenAfterUpdate = false;\n          _this7.onInputChange('', { action: 'menu-close' });\n          _this7.onMenuClose();\n        } else if (isClearable && escapeClearsValue) {\n          _this7.clearValue();\n        }\n        break;\n      case ' ':\n        // space\n        if (inputValue) {\n          return;\n        }\n        if (!menuIsOpen) {\n          _this7.openMenu('first');\n          break;\n        }\n        if (!focusedOption) return;\n        _this7.selectOption(focusedOption);\n        break;\n      case 'ArrowUp':\n        if (menuIsOpen) {\n          _this7.focusOption('up');\n        } else {\n          _this7.openMenu('last');\n        }\n        break;\n      case 'ArrowDown':\n        if (menuIsOpen) {\n          _this7.focusOption('down');\n        } else {\n          _this7.openMenu('first');\n        }\n        break;\n      case 'PageUp':\n        if (!menuIsOpen) return;\n        _this7.focusOption('pageup');\n        break;\n      case 'PageDown':\n        if (!menuIsOpen) return;\n        _this7.focusOption('pagedown');\n        break;\n      case 'Home':\n        if (!menuIsOpen) return;\n        _this7.focusOption('first');\n        break;\n      case 'End':\n        if (!menuIsOpen) return;\n        _this7.focusOption('last');\n        break;\n      default:\n        return;\n    }\n    event.preventDefault();\n  };\n};\n\nvar manageState = function manageState(SelectComponent) {\n  var _class, _temp2;\n\n  return _temp2 = _class = function (_Component) {\n    inherits(StateManager, _Component);\n\n    function StateManager() {\n      var _ref;\n\n      var _temp, _this, _ret;\n\n      classCallCheck(this, StateManager);\n\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = StateManager.__proto__ || Object.getPrototypeOf(StateManager)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n        inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n        menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n        value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n      }, _this.onChange = function (value, actionMeta) {\n        _this.callProp('onChange', value, actionMeta);\n        _this.setState({ value: value });\n      }, _this.onInputChange = function (value, actionMeta) {\n        // TODO: for backwards compatibility, we allow the prop to return a new\n        // value, but now inputValue is a controllable prop we probably shouldn't\n        var newValue = _this.callProp('onInputChange', value, actionMeta);\n        _this.setState({\n          inputValue: newValue !== undefined ? newValue : value\n        });\n      }, _this.onMenuOpen = function () {\n        _this.callProp('onMenuOpen');\n        _this.setState({ menuIsOpen: true });\n      }, _this.onMenuClose = function () {\n        _this.callProp('onMenuClose');\n        _this.setState({ menuIsOpen: false });\n      }, _temp), possibleConstructorReturn(_this, _ret);\n    }\n\n    createClass(StateManager, [{\n      key: 'focus',\n      value: function focus() {\n        this.select.focus();\n      }\n    }, {\n      key: 'blur',\n      value: function blur() {\n        this.select.blur();\n      }\n    }, {\n      key: 'getProp',\n      value: function getProp(key) {\n        return this.props[key] !== undefined ? this.props[key] : this.state[key];\n      }\n    }, {\n      key: 'callProp',\n      value: function callProp(name) {\n        if (typeof this.props[name] === 'function') {\n          var _props;\n\n          for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n            args[_key2 - 1] = arguments[_key2];\n          }\n\n          return (_props = this.props)[name].apply(_props, toConsumableArray(args));\n        }\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _this2 = this;\n\n        return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(SelectComponent, _extends({}, this.props, {\n          ref: function ref(_ref2) {\n            _this2.select = _ref2;\n          },\n          inputValue: this.getProp('inputValue'),\n          menuIsOpen: this.getProp('menuIsOpen'),\n          onChange: this.onChange,\n          onInputChange: this.onInputChange,\n          onMenuClose: this.onMenuClose,\n          onMenuOpen: this.onMenuOpen,\n          value: this.getProp('value')\n        }));\n      }\n    }]);\n    return StateManager;\n  }(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]), _class.defaultProps = {\n    defaultInputValue: '',\n    defaultMenuIsOpen: false,\n    defaultValue: null\n  }, _temp2;\n};\n\nvar defaultProps$1 = {\n  cacheOptions: false,\n  defaultOptions: false\n};\n\nvar makeAsyncSelect = function makeAsyncSelect(SelectComponent) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    inherits(Async, _Component);\n\n    function Async(props) {\n      classCallCheck(this, Async);\n\n      var _this = possibleConstructorReturn(this, (Async.__proto__ || Object.getPrototypeOf(Async)).call(this));\n\n      _this.mounted = false;\n      _this.optionsCache = {};\n\n      _this.handleInputChange = function (newValue, actionMeta) {\n        var _this$props = _this.props,\n            cacheOptions = _this$props.cacheOptions,\n            onInputChange = _this$props.onInputChange;\n        // TODO\n\n        var inputValue = handleInputChange(newValue, actionMeta, onInputChange);\n        if (!inputValue) {\n          delete _this.lastRequest;\n          _this.setState({\n            inputValue: '',\n            loadedInputValue: '',\n            loadedOptions: [],\n            isLoading: false,\n            passEmptyOptions: false\n          });\n          return;\n        }\n        if (cacheOptions && _this.optionsCache[inputValue]) {\n          _this.setState({\n            inputValue: inputValue,\n            loadedInputValue: inputValue,\n            loadedOptions: _this.optionsCache[inputValue],\n            isLoading: false,\n            passEmptyOptions: false\n          });\n        } else {\n          var request = _this.lastRequest = {};\n          _this.setState({\n            inputValue: inputValue,\n            isLoading: true,\n            passEmptyOptions: !_this.state.loadedInputValue\n          }, function () {\n            _this.loadOptions(inputValue, function (options) {\n              if (!_this.mounted) return;\n              if (options) {\n                _this.optionsCache[inputValue] = options;\n              }\n              if (request !== _this.lastRequest) return;\n              delete _this.lastRequest;\n              _this.setState({\n                isLoading: false,\n                loadedInputValue: inputValue,\n                loadedOptions: options || [],\n                passEmptyOptions: false\n              });\n            });\n          });\n        }\n        return inputValue;\n      };\n\n      _this.state = {\n        defaultOptions: Array.isArray(props.defaultOptions) ? props.defaultOptions : undefined,\n        inputValue: '',\n        isLoading: props.defaultOptions === true ? true : false,\n        loadedOptions: [],\n        passEmptyOptions: false\n      };\n      return _this;\n    }\n\n    createClass(Async, [{\n      key: 'componentDidMount',\n      value: function componentDidMount() {\n        var _this2 = this;\n\n        this.mounted = true;\n        var defaultOptions = this.props.defaultOptions;\n\n        if (defaultOptions === true) {\n          this.loadOptions('', function (options) {\n            if (!_this2.mounted) return;\n            var isLoading = !!_this2.lastRequest;\n            _this2.setState({ defaultOptions: options || [], isLoading: isLoading });\n          });\n        }\n      }\n    }, {\n      key: 'componentWillReceiveProps',\n      value: function componentWillReceiveProps(nextProps) {\n        // if the cacheOptions prop changes, clear the cache\n        if (nextProps.cacheOptions !== this.props.cacheOptions) {\n          this.optionsCache = {};\n        }\n        if (nextProps.defaultOptions !== this.props.defaultOptions) {\n          this.setState({\n            defaultOptions: Array.isArray(nextProps.defaultOptions) ? nextProps.defaultOptions : undefined\n          });\n        }\n      }\n    }, {\n      key: 'componentWillUnmount',\n      value: function componentWillUnmount() {\n        this.mounted = false;\n      }\n    }, {\n      key: 'focus',\n      value: function focus() {\n        this.select.focus();\n      }\n    }, {\n      key: 'blur',\n      value: function blur() {\n        this.select.blur();\n      }\n    }, {\n      key: 'loadOptions',\n      value: function loadOptions(inputValue, callback) {\n        var loadOptions = this.props.loadOptions;\n\n        if (!loadOptions) return callback();\n        var loader = loadOptions(inputValue, callback);\n        if (loader && typeof loader.then === 'function') {\n          loader.then(callback, function () {\n            return callback();\n          });\n        }\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _this3 = this;\n\n        var _props = this.props,\n            loadOptions = _props.loadOptions,\n            props = objectWithoutProperties(_props, ['loadOptions']);\n        var _state = this.state,\n            defaultOptions = _state.defaultOptions,\n            inputValue = _state.inputValue,\n            isLoading = _state.isLoading,\n            loadedInputValue = _state.loadedInputValue,\n            loadedOptions = _state.loadedOptions,\n            passEmptyOptions = _state.passEmptyOptions;\n\n        var options = passEmptyOptions ? [] : inputValue && loadedInputValue ? loadedOptions : defaultOptions || [];\n        return (\n          // $FlowFixMe\n          react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(SelectComponent, _extends({}, props, {\n            filterOption: this.props.filterOption || null,\n            ref: function ref(_ref) {\n              _this3.select = _ref;\n            },\n            options: options,\n            isLoading: isLoading,\n            onInputChange: this.handleInputChange\n          }))\n        );\n      }\n    }]);\n    return Async;\n  }(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]), _class.defaultProps = defaultProps$1, _temp;\n};\nvar Async = makeAsyncSelect(manageState(Select));\n\nvar compareOption = function compareOption(inputValue, option) {\n  var candidate = inputValue.toLowerCase();\n  return option.value.toLowerCase() === candidate || option.label.toLowerCase() === candidate;\n};\n\nvar builtins = {\n  formatCreateLabel: function formatCreateLabel(inputValue) {\n    return 'Create \"' + inputValue + '\"';\n  },\n  isValidNewOption: function isValidNewOption(inputValue, selectValue, selectOptions) {\n    return !(!inputValue || selectValue.some(function (option) {\n      return compareOption(inputValue, option);\n    }) || selectOptions.some(function (option) {\n      return compareOption(inputValue, option);\n    }));\n  },\n  getNewOptionData: function getNewOptionData(inputValue, optionLabel) {\n    return {\n      label: optionLabel,\n      value: inputValue,\n      __isNew__: true\n    };\n  }\n};\n\nvar defaultProps$2 = _extends({\n  allowCreateWhileLoading: false,\n  createOptionPosition: 'last'\n}, builtins);\n\nvar makeCreatableSelect = function makeCreatableSelect(SelectComponent) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    inherits(Creatable, _Component);\n\n    function Creatable(props) {\n      classCallCheck(this, Creatable);\n\n      var _this = possibleConstructorReturn(this, (Creatable.__proto__ || Object.getPrototypeOf(Creatable)).call(this, props));\n\n      _this.onChange = function (newValue, actionMeta) {\n        var _this$props = _this.props,\n            getNewOptionData = _this$props.getNewOptionData,\n            inputValue = _this$props.inputValue,\n            isMulti = _this$props.isMulti,\n            onChange = _this$props.onChange,\n            onCreateOption = _this$props.onCreateOption,\n            value = _this$props.value;\n\n        if (actionMeta.action !== 'select-option') {\n          return onChange(newValue, actionMeta);\n        }\n        var newOption = _this.state.newOption;\n\n        var valueArray = Array.isArray(newValue) ? newValue : [newValue];\n\n        if (valueArray[valueArray.length - 1] === newOption) {\n          if (onCreateOption) onCreateOption(inputValue);else {\n            var newOptionData = getNewOptionData(inputValue, inputValue);\n            var newActionMeta = { action: 'create-option' };\n            if (isMulti) {\n              onChange([].concat(toConsumableArray(cleanValue(value)), [newOptionData]), newActionMeta);\n            } else {\n              onChange(newOptionData, newActionMeta);\n            }\n          }\n          return;\n        }\n        onChange(newValue, actionMeta);\n      };\n\n      var options = props.options || [];\n      _this.state = {\n        newOption: undefined,\n        options: options\n      };\n      return _this;\n    }\n\n    createClass(Creatable, [{\n      key: 'componentWillReceiveProps',\n      value: function componentWillReceiveProps(nextProps) {\n        var allowCreateWhileLoading = nextProps.allowCreateWhileLoading,\n            createOptionPosition = nextProps.createOptionPosition,\n            formatCreateLabel = nextProps.formatCreateLabel,\n            getNewOptionData = nextProps.getNewOptionData,\n            inputValue = nextProps.inputValue,\n            isLoading = nextProps.isLoading,\n            isValidNewOption = nextProps.isValidNewOption,\n            value = nextProps.value;\n\n        var options = nextProps.options || [];\n        var newOption = this.state.newOption;\n\n        if (isValidNewOption(inputValue, cleanValue(value), options)) {\n          newOption = getNewOptionData(inputValue, formatCreateLabel(inputValue));\n        } else {\n          newOption = undefined;\n        }\n        this.setState({\n          newOption: newOption,\n          options: (allowCreateWhileLoading || !isLoading) && newOption ? createOptionPosition === 'first' ? [newOption].concat(toConsumableArray(options)) : [].concat(toConsumableArray(options), [newOption]) : options\n        });\n      }\n    }, {\n      key: 'focus',\n      value: function focus() {\n        this.select.focus();\n      }\n    }, {\n      key: 'blur',\n      value: function blur() {\n        this.select.blur();\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        var _this2 = this;\n\n        var props = objectWithoutProperties(this.props, []);\n        var options = this.state.options;\n\n        return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(SelectComponent, _extends({}, props, {\n          ref: function ref(_ref) {\n            _this2.select = _ref;\n          },\n          options: options,\n          onChange: this.onChange\n        }));\n      }\n    }]);\n    return Creatable;\n  }(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]), _class.defaultProps = defaultProps$2, _temp;\n};\nvar Creatable = manageState(makeCreatableSelect(Select));\n\nvar AsyncCreatable = makeAsyncSelect(manageState(makeCreatableSelect(Select)));\n\n// ==============================\n// Fade Transition\n// ==============================\n\nvar Fade = function Fade(_ref) {\n  var Tag = _ref.component,\n      _ref$duration = _ref.duration,\n      duration = _ref$duration === undefined ? 1 : _ref$duration,\n      inProp = _ref.in,\n      onExited = _ref.onExited,\n      props = objectWithoutProperties(_ref, ['component', 'duration', 'in', 'onExited']);\n\n  var transition = {\n    entering: { opacity: 0 },\n    entered: { opacity: 1, transition: 'opacity ' + duration + 'ms' },\n    exiting: { opacity: 0 },\n    exited: { opacity: 0 }\n  };\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n    react_transition_group__WEBPACK_IMPORTED_MODULE_7__[\"Transition\"],\n    { mountOnEnter: true, unmountOnExit: true, 'in': inProp, timeout: duration },\n    function (state) {\n      var innerProps = {\n        style: _extends({}, transition[state])\n      };\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Tag, _extends({ innerProps: innerProps }, props));\n    }\n  );\n};\nvar collapseDuration = 260;\n\n// wrap each MultiValue with a collapse transition; decreases width until\n// finally removing from DOM\nvar Collapse = function (_Component) {\n  inherits(Collapse, _Component);\n\n  function Collapse() {\n    var _ref2;\n\n    var _temp, _this, _ret;\n\n    classCallCheck(this, Collapse);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref2 = Collapse.__proto__ || Object.getPrototypeOf(Collapse)).call.apply(_ref2, [this].concat(args))), _this), _this.duration = collapseDuration, _this.state = { width: 'auto' }, _this.transition = {\n      exiting: { width: 0, transition: 'width ' + _this.duration + 'ms ease-out' },\n      exited: { width: 0 }\n    }, _this.getWidth = function (ref) {\n      if (ref && isNaN(_this.state.width)) {\n        // cannot use `offsetWidth` because it is rounded\n        var _ref$getBoundingClien = ref.getBoundingClientRect(),\n            _width = _ref$getBoundingClien.width;\n\n        _this.setState({ width: _width });\n      }\n    }, _this.getStyle = function (width) {\n      return {\n        overflow: 'hidden',\n        whiteSpace: 'nowrap',\n        width: width\n      };\n    }, _this.getTransition = function (state) {\n      return _this.transition[state];\n    }, _temp), possibleConstructorReturn(_this, _ret);\n  }\n\n  // width must be calculated; cannot transition from `undefined` to `number`\n\n\n  // get base styles\n\n\n  // get transition styles\n\n\n  createClass(Collapse, [{\n    key: 'render',\n    value: function render() {\n      var _this2 = this;\n\n      var _props = this.props,\n          children = _props.children,\n          inProp = _props.in;\n      var width = this.state.width;\n\n\n      return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n        react_transition_group__WEBPACK_IMPORTED_MODULE_7__[\"Transition\"],\n        {\n          enter: false,\n          mountOnEnter: true,\n          unmountOnExit: true,\n          'in': inProp,\n          timeout: this.duration\n        },\n        function (state) {\n          var style = _extends({}, _this2.getStyle(width), _this2.getTransition(state));\n          return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n            'div',\n            { ref: _this2.getWidth, style: style },\n            children\n          );\n        }\n      );\n    }\n  }]);\n  return Collapse;\n}(react__WEBPACK_IMPORTED_MODULE_1__[\"Component\"]);\n\n// strip transition props off before spreading onto select component\n// note we need to be explicit about innerRef for flow\nvar AnimatedInput = function AnimatedInput(WrappedComponent) {\n  return function (_ref) {\n    var inProp = _ref.in,\n        onExited = _ref.onExited,\n        appear = _ref.appear,\n        enter = _ref.enter,\n        exit = _ref.exit,\n        innerRef = _ref.innerRef,\n        props = objectWithoutProperties(_ref, ['in', 'onExited', 'appear', 'enter', 'exit', 'innerRef']);\n    return (\n      // $FlowFixMe\n      react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(WrappedComponent, _extends({ innerRef: innerRef }, props))\n    );\n  };\n};\n\n// strip transition props off before spreading onto actual component\n\n\nvar AnimatedMultiValue = function AnimatedMultiValue(WrappedComponent) {\n  return function (_ref) {\n    var inProp = _ref.in,\n        onExited = _ref.onExited,\n        props = objectWithoutProperties(_ref, ['in', 'onExited']);\n    return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\n      Collapse,\n      { 'in': inProp, onExited: onExited },\n      react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(WrappedComponent, _extends({ cropWithEllipsis: inProp }, props))\n    );\n  };\n};\n\n// fade in when last multi-value removed, otherwise instant\nvar AnimatedPlaceholder = function AnimatedPlaceholder(WrappedComponent) {\n  return function (props) {\n    return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Fade, _extends({\n      component: WrappedComponent,\n      duration: props.isMulti ? collapseDuration : 1\n    }, props));\n  };\n};\n\n// instant fade; all transition-group children must be transitions\n\nvar AnimatedSingleValue = function AnimatedSingleValue(WrappedComponent) {\n  return function (props) {\n    return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Fade, _extends({ component: WrappedComponent }, props));\n  };\n};\n\n// make ValueContainer a transition group\nvar AnimatedValueContainer = function AnimatedValueContainer(WrappedComponent) {\n  return function (props) {\n    return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_transition_group__WEBPACK_IMPORTED_MODULE_7__[\"TransitionGroup\"], _extends({ component: WrappedComponent }, props));\n  };\n};\n\nvar makeAnimated = function makeAnimated(externalComponents) {\n  var components$$1 = defaultComponents({ components: externalComponents });\n  var Input = components$$1.Input,\n      MultiValue = components$$1.MultiValue,\n      Placeholder = components$$1.Placeholder,\n      SingleValue = components$$1.SingleValue,\n      ValueContainer = components$$1.ValueContainer,\n      rest = objectWithoutProperties(components$$1, ['Input', 'MultiValue', 'Placeholder', 'SingleValue', 'ValueContainer']);\n\n  return _extends({\n    Input: AnimatedInput(Input),\n    MultiValue: AnimatedMultiValue(MultiValue),\n    Placeholder: AnimatedPlaceholder(Placeholder),\n    SingleValue: AnimatedSingleValue(SingleValue),\n    ValueContainer: AnimatedValueContainer(ValueContainer)\n  }, rest);\n};\n\nvar AnimatedComponents = makeAnimated();\n\nvar Input$1 = AnimatedComponents.Input;\nvar MultiValue$1 = AnimatedComponents.MultiValue;\nvar Placeholder$1 = AnimatedComponents.Placeholder;\nvar SingleValue$1 = AnimatedComponents.SingleValue;\nvar ValueContainer$1 = AnimatedComponents.ValueContainer;\n\nvar index = Object(memoize_one__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(makeAnimated, exportedEqual);\n\nvar index$1 = manageState(Select);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index$1);\n\n\n\n//# sourceURL=webpack:///./node_modules/react-select/dist/react-select.esm.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-transition-group/CSSTransition.js":
+/*! exports provided: default, SelectBase, Async, makeAsyncSelect, AsyncCreatable, Creatable, makeCreatableSelect, createFilter, makeAnimated, components, mergeStyles, defaultTheme */function(e,t,n){"use strict";n.r(t),n.d(t,"SelectBase",function(){return Be}),n.d(t,"Async",function(){return qe}),n.d(t,"makeAsyncSelect",function(){return Ge}),n.d(t,"AsyncCreatable",function(){return Ze}),n.d(t,"Creatable",function(){return Qe}),n.d(t,"makeCreatableSelect",function(){return Je}),n.d(t,"createFilter",function(){return ee}),n.d(t,"makeAnimated",function(){return st}),n.d(t,"components",function(){return Te}),n.d(t,"mergeStyles",function(){return Me}),n.d(t,"defaultTheme",function(){return Re});var r=n(/*! react */"react"),o=n.n(r),s=n(/*! memoize-one */"./node_modules/memoize-one/dist/memoize-one.esm.js"),a=n(/*! emotion */"./node_modules/emotion/dist/index.esm.js"),i=n(/*! react-dom */"react-dom"),l=n(/*! prop-types */"./node_modules/prop-types/index.js"),u=n.n(l),c=n(/*! raf */"./node_modules/raf/index.js"),d=n.n(c),p=n(/*! react-input-autosize */"./node_modules/react-input-autosize/lib/AutosizeInput.js"),m=n.n(p),f=n(/*! react-transition-group */"./node_modules/react-transition-group/index.js");function h(e){return(h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function v(e,t,n){return t&&g(e.prototype,t),n&&g(e,n),e}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(){return(E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){y(e,t,n[t])})}return e}function j(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_(e,t)}function O(e){return(O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t){return(_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function k(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function x(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?k(e):t}function S(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var A=function(){};function P(e,t){return t?"-"===t[0]?e+t:e+"__"+t:e}var N=function(e){return Array.isArray(e)?e.filter(Boolean):"object"===h(e)&&null!==e?[e]:[]};function D(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function F(e){return D(e)?window.pageYOffset:e.scrollTop}function T(e,t){D(e)?window.scrollTo(0,t):e.scrollTop=t}function I(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:A,o=F(e),s=t-o,a=10,i=0;!function t(){var l=function(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}(i+=a,o,s,n);T(e,l),i<n?d()(t):r(e)}()}function L(){try{return document.createEvent("TouchEvent"),!0}catch(e){return!1}}function M(e){var t=e.maxHeight,n=e.menuEl,r=e.minHeight,o=e.placement,s=e.shouldScroll,a=e.isFixedPosition,i=e.theme.spacing,l=function(e){var t=getComputedStyle(e),n="absolute"===t.position,r=/(auto|scroll)/,o=document.documentElement;if("fixed"===t.position)return o;for(var s=e;s=s.parentElement;)if(t=getComputedStyle(s),(!n||"static"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return s;return o}(n),u={placement:"bottom",maxHeight:t};if(!n||!n.offsetParent)return u;var c=l.getBoundingClientRect().height,d=n.getBoundingClientRect(),p=d.bottom,m=d.height,f=d.top,h=n.offsetParent.getBoundingClientRect().top,b=window.innerHeight,g=F(l),v=parseInt(getComputedStyle(n).marginBottom,10),y=parseInt(getComputedStyle(n).marginTop,10),E=h-y,w=b-f,j=E+g,O=c-g-f,_=p-b+g+v,C=g+f-y;switch(o){case"auto":case"bottom":if(w>=m)return{placement:"bottom",maxHeight:t};if(O>=m&&!a)return s&&I(l,_,160),{placement:"bottom",maxHeight:t};if(!a&&O>=r||a&&w>=r)return s&&I(l,_,160),{placement:"bottom",maxHeight:a?w-v:O-v};if("auto"===o||a){var k=t,x=a?E:j;return x>=r&&(k=Math.min(x-v-i.controlHeight,t)),{placement:"top",maxHeight:k}}if("bottom"===o)return T(l,_),{placement:"bottom",maxHeight:t};break;case"top":if(E>=m)return{placement:"top",maxHeight:t};if(j>=m&&!a)return s&&I(l,C,160),{placement:"top",maxHeight:t};if(!a&&j>=r||a&&E>=r){var S=t;return(!a&&j>=r||a&&E>=r)&&(S=a?E-y:j-y),s&&I(l,C,160),{placement:"top",maxHeight:S}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(o,'".'))}return u}var R=function(e){return"auto"===e?"bottom":e},z=function(e){function t(){var e,n;b(this,t);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return y(k(k(n=x(this,(e=O(t)).call.apply(e,[this].concat(o))))),"state",{maxHeight:n.props.maxMenuHeight,placement:null}),y(k(k(n)),"getPlacement",function(e){var t=n.props,r=t.minMenuHeight,o=t.maxMenuHeight,s=t.menuPlacement,a=t.menuPosition,i=t.menuShouldScrollIntoView,l=t.theme,u=n.context.getPortalPlacement;if(e){var c="fixed"===a,d=M({maxHeight:o,menuEl:e,minHeight:r,placement:s,shouldScroll:i&&!c,isFixedPosition:c,theme:l});u&&u(d),n.setState(d)}}),y(k(k(n)),"getUpdatedProps",function(){var e=n.props.menuPlacement,t=n.state.placement||R(e);return w({},n.props,{placement:t,maxHeight:n.state.maxHeight})}),n}return j(t,r["Component"]),v(t,[{key:"render",value:function(){return(0,this.props.children)({ref:this.getPlacement,placerProps:this.getUpdatedProps()})}}]),t}();y(z,"contextTypes",{getPortalPlacement:u.a.func});var V=function(e){var t=e.theme,n=t.spacing.baseUnit;return{color:t.colors.neutral40,padding:"".concat(2*n,"px ").concat(3*n,"px"),textAlign:"center"}},B=V,U=V,W=function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.innerProps;return o.a.createElement("div",E({className:r(Object(a.css)(s("noOptionsMessage",e)),{"menu-notice":!0,"menu-notice--no-options":!0},n)},i),t)};W.defaultProps={children:"No options"};var H=function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.innerProps;return o.a.createElement("div",E({className:r(Object(a.css)(s("loadingMessage",e)),{"menu-notice":!0,"menu-notice--loading":!0},n)},i),t)};H.defaultProps={children:"Loading..."};var G=function(e){function t(){var e,n;b(this,t);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return y(k(k(n=x(this,(e=O(t)).call.apply(e,[this].concat(o))))),"state",{placement:null}),y(k(k(n)),"getPortalPlacement",function(e){var t=e.placement;t!==R(n.props.menuPlacement)&&n.setState({placement:t})}),n}return j(t,r["Component"]),v(t,[{key:"getChildContext",value:function(){return{getPortalPlacement:this.getPortalPlacement}}},{key:"render",value:function(){var e=this.props,t=e.appendTo,n=e.children,r=e.controlElement,s=e.menuPlacement,l=e.menuPosition,u=e.getStyles,c="fixed"===l;if(!t&&!c||!r)return null;var d=this.state.placement||R(s),p=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(r),m=c?0:window.pageYOffset,f={offset:p[d]+m,position:l,rect:p},h=o.a.createElement("div",{className:Object(a.css)(u("menuPortal",f))},n);return t?Object(i.createPortal)(h,t):h}}]),t}();y(G,"childContextTypes",{getPortalPlacement:u.a.func});var $=Array.isArray,q=Object.keys,Y=Object.prototype.hasOwnProperty;function X(e,t){try{return function e(t,n){if(t===n)return!0;if(t&&n&&"object"==h(t)&&"object"==h(n)){var r,o,s,a=$(t),i=$(n);if(a&&i){if((o=t.length)!=n.length)return!1;for(r=o;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(a!=i)return!1;var l=t instanceof Date,u=n instanceof Date;if(l!=u)return!1;if(l&&u)return t.getTime()==n.getTime();var c=t instanceof RegExp,d=n instanceof RegExp;if(c!=d)return!1;if(c&&d)return t.toString()==n.toString();var p=q(t);if((o=p.length)!==q(n).length)return!1;for(r=o;0!=r--;)if(!Y.call(n,p[r]))return!1;for(r=o;0!=r--;)if(!("_owner"===(s=p[r])&&t.$$typeof||e(t[s],n[s])))return!1;return!0}return t!=t&&n!=n}(e,t)}catch(e){if(e.message&&e.message.match(/stack|recursion/i))return console.warn("Warning: react-fast-compare does not handle circular references.",e.name,e.message),!1;throw e}}var J=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],Q=function(e){for(var t=0;t<J.length;t++)e=e.replace(J[t].letters,J[t].base);return e},K=function(e){return e.replace(/^\s+|\s+$/g,"")},Z=function(e){return"".concat(e.label," ").concat(e.value)},ee=function(e){return function(t,n){var r=w({ignoreCase:!0,ignoreAccents:!0,stringify:Z,trim:!0,matchFrom:"any"},e),o=r.ignoreCase,s=r.ignoreAccents,a=r.stringify,i=r.trim,l=r.matchFrom,u=i?K(n):n,c=i?K(a(t)):a(t);return o&&(u=u.toLowerCase(),c=c.toLowerCase()),s&&(u=Q(u),c=Q(c)),"start"===l?c.substr(0,u.length)===u:c.indexOf(u)>-1}},te=function(e){return o.a.createElement("span",E({className:Object(a.css)({zIndex:9999,border:0,clip:"rect(1px, 1px, 1px, 1px)",height:1,width:1,position:"absolute",overflow:"hidden",padding:0,whiteSpace:"nowrap",backgroundColor:"red",color:"blue"})},e))},ne=function(e){function t(){return b(this,t),x(this,O(t).apply(this,arguments))}return j(t,r["Component"]),v(t,[{key:"render",value:function(){var e=this.props,t=(e.in,e.out,e.onExited,e.appear,e.enter,e.exit,e.innerRef),n=(e.emotion,C(e,["in","out","onExited","appear","enter","exit","innerRef","emotion"]));return o.a.createElement("input",E({ref:t},n,{className:Object(a.css)({background:0,border:0,fontSize:"inherit",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(0)"})}))}}]),t}(),re=function(e){function t(){return b(this,t),x(this,O(t).apply(this,arguments))}return j(t,r["Component"]),v(t,[{key:"componentDidMount",value:function(){this.props.innerRef(Object(i.findDOMNode)(this))}},{key:"componentWillUnmount",value:function(){this.props.innerRef(null)}},{key:"render",value:function(){return this.props.children}}]),t}(),oe=["boxSizing","height","overflow","paddingRight","position"],se={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function ae(e){e.preventDefault()}function ie(e){e.stopPropagation()}function le(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function ue(){return"ontouchstart"in window||navigator.maxTouchPoints}var ce=!("undefined"==typeof window||!window.document||!window.document.createElement),de=0,pe=function(e){function t(){var e,n;b(this,t);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return y(k(k(n=x(this,(e=O(t)).call.apply(e,[this].concat(o))))),"originalStyles",{}),y(k(k(n)),"listenerOptions",{capture:!1,passive:!1}),n}return j(t,r["Component"]),v(t,[{key:"componentDidMount",value:function(){var e=this;if(ce){var t=this.props,n=t.accountForScrollbars,r=t.touchScrollTarget,o=document.body,s=o&&o.style;if(n&&oe.forEach(function(t){var n=s&&s[t];e.originalStyles[t]=n}),n&&de<1){var a=parseInt(this.originalStyles.paddingRight,10)||0,i=document.body?document.body.clientWidth:0,l=window.innerWidth-i+a||0;Object.keys(se).forEach(function(e){var t=se[e];s&&(s[e]=t)}),s&&(s.paddingRight="".concat(l,"px"))}o&&ue()&&(o.addEventListener("touchmove",ae,this.listenerOptions),r&&(r.addEventListener("touchstart",le,this.listenerOptions),r.addEventListener("touchmove",ie,this.listenerOptions))),de+=1}}},{key:"componentWillUnmount",value:function(){var e=this;if(ce){var t=this.props,n=t.accountForScrollbars,r=t.touchScrollTarget,o=document.body,s=o&&o.style;de=Math.max(de-1,0),n&&de<1&&oe.forEach(function(t){var n=e.originalStyles[t];s&&(s[t]=n)}),o&&ue()&&(o.removeEventListener("touchmove",ae,this.listenerOptions),r&&(r.removeEventListener("touchstart",le,this.listenerOptions),r.removeEventListener("touchmove",ie,this.listenerOptions)))}}},{key:"render",value:function(){return null}}]),t}();y(pe,"defaultProps",{accountForScrollbars:!0});var me=function(e){function t(){var e,n;b(this,t);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return y(k(k(n=x(this,(e=O(t)).call.apply(e,[this].concat(o))))),"state",{touchScrollTarget:null}),y(k(k(n)),"getScrollTarget",function(e){e!==n.state.touchScrollTarget&&n.setState({touchScrollTarget:e})}),y(k(k(n)),"blurSelectInput",function(){document.activeElement&&document.activeElement.blur()}),n}return j(t,r["PureComponent"]),v(t,[{key:"render",value:function(){var e=this.props,t=e.children,n=e.isEnabled,r=this.state.touchScrollTarget;return n?o.a.createElement("div",null,o.a.createElement("div",{onClick:this.blurSelectInput,className:Object(a.css)({position:"fixed",left:0,bottom:0,right:0,top:0})}),o.a.createElement(re,{innerRef:this.getScrollTarget},t),r?o.a.createElement(pe,{touchScrollTarget:r}):null):t}}]),t}(),fe=function(e){function t(){var e,n;b(this,t);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return y(k(k(n=x(this,(e=O(t)).call.apply(e,[this].concat(o))))),"isBottom",!1),y(k(k(n)),"isTop",!1),y(k(k(n)),"scrollTarget",void 0),y(k(k(n)),"touchStart",void 0),y(k(k(n)),"cancelScroll",function(e){e.preventDefault(),e.stopPropagation()}),y(k(k(n)),"handleEventDelta",function(e,t){var r=n.props,o=r.onBottomArrive,s=r.onBottomLeave,a=r.onTopArrive,i=r.onTopLeave,l=n.scrollTarget,u=l.scrollTop,c=l.scrollHeight,d=l.clientHeight,p=n.scrollTarget,m=t>0,f=c-d-u,h=!1;f>t&&n.isBottom&&(s&&s(e),n.isBottom=!1),m&&n.isTop&&(i&&i(e),n.isTop=!1),m&&t>f?(o&&!n.isBottom&&o(e),p.scrollTop=c,h=!0,n.isBottom=!0):!m&&-t>u&&(a&&!n.isTop&&a(e),p.scrollTop=0,h=!0,n.isTop=!0),h&&n.cancelScroll(e)}),y(k(k(n)),"onWheel",function(e){n.handleEventDelta(e,e.deltaY)}),y(k(k(n)),"onTouchStart",function(e){n.touchStart=e.changedTouches[0].clientY}),y(k(k(n)),"onTouchMove",function(e){var t=n.touchStart-e.changedTouches[0].clientY;n.handleEventDelta(e,t)}),y(k(k(n)),"getScrollTarget",function(e){n.scrollTarget=e}),n}return j(t,r["Component"]),v(t,[{key:"componentDidMount",value:function(){this.startListening(this.scrollTarget)}},{key:"componentWillUnmount",value:function(){this.stopListening(this.scrollTarget)}},{key:"startListening",value:function(e){e&&(e.scrollHeight<=e.clientHeight||("function"==typeof e.addEventListener&&e.addEventListener("wheel",this.onWheel,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchstart",this.onTouchStart,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchmove",this.onTouchMove,!1)))}},{key:"stopListening",value:function(e){e.scrollHeight<=e.clientHeight||("function"==typeof e.removeEventListener&&e.removeEventListener("wheel",this.onWheel,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchstart",this.onTouchStart,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchmove",this.onTouchMove,!1))}},{key:"render",value:function(){return o.a.createElement(re,{innerRef:this.getScrollTarget},this.props.children)}}]),t}(),he=function(e){function t(){return b(this,t),x(this,O(t).apply(this,arguments))}return j(t,r["Component"]),v(t,[{key:"render",value:function(){var e=this.props,t=e.isEnabled,n=C(e,["isEnabled"]);return t?o.a.createElement(fe,n):this.props.children}}]),t}();y(he,"defaultProps",{isEnabled:!0});var be=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isSearchable,r=t.isMulti,o=t.label,s=t.isDisabled;switch(e){case"menu":return"Use Up and Down to choose options".concat(s?"":", press Enter to select the currently focused option",", press Escape to exit the menu, press Tab to select the option and exit the menu.");case"input":return"".concat(o||"Select"," is focused ").concat(n?",type to refine list":"",", press Down to open the menu, ").concat(r?" press left to focus selected values":"");case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value"}},ge=function(e,t){var n=t.value,r=t.isDisabled;if(n)switch(e){case"deselect-option":case"pop-value":case"remove-value":return"option ".concat(n,", deselected.");case"select-option":return"option ".concat(n,r?" is disabled. Select another option.":", selected.")}},ve=function(e){return!!e.isDisabled},ye=function(e){function t(){return b(this,t),x(this,O(t).apply(this,arguments))}return j(t,r["Component"]),v(t,[{key:"render",value:function(){var e=this.props,t=e.children,n=e.className,r=e.cx,s=e.isMulti,i=e.getStyles,l=e.hasValue;return o.a.createElement("div",{className:r(Object(a.css)(i("valueContainer",this.props)),{"value-container":!0,"value-container--is-multi":s,"value-container--has-value":l},n)},t)}}]),t}(),Ee=function(e){var t=e.size,n=C(e,["size"]);return o.a.createElement("svg",E({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",className:Object(a.css)({display:"inline-block",fill:"currentColor",lineHeight:1,stroke:"currentColor",strokeWidth:0})},n))},we=function(e){return o.a.createElement(Ee,E({size:20},e),o.a.createElement("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},je=function(e){return o.a.createElement(Ee,E({size:20},e),o.a.createElement("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Oe=function(e){var t=e.isFocused,n=e.theme,r=n.spacing.baseUnit,o=n.colors;return{color:t?o.neutral60:o.neutral20,display:"flex",padding:2*r,transition:"color 150ms",":hover":{color:t?o.neutral80:o.neutral40}}},_e=Oe,Ce=Oe,ke=!1,xe=function(e){var t=e.color,n=e.delay,r=e.offset;return o.a.createElement("span",{className:Object(a.css)({animationDuration:"1s",animationDelay:"".concat(n,"ms"),animationIterationCount:"infinite",animationName:"react-select-loading-indicator",animationTimingFunction:"ease-in-out",backgroundColor:t,borderRadius:"1em",display:"inline-block",marginLeft:r?"1em":null,height:"1em",verticalAlign:"top",width:"1em"})})},Se=function(e){var t=e.className,n=e.cx,r=e.getStyles,s=e.innerProps,i=e.isFocused,l=e.isRtl,u=e.theme.colors,c=i?u.neutral80:u.neutral20;return ke||(Object(a.injectGlobal)("@keyframes ","react-select-loading-indicator","{0%,80%,100%{opacity:0;}40%{opacity:1;}};"),ke=!0),o.a.createElement("div",E({},s,{className:n(Object(a.css)(r("loadingIndicator",e)),{indicator:!0,"loading-indicator":!0},t)}),o.a.createElement(xe,{color:c,delay:0,offset:l}),o.a.createElement(xe,{color:c,delay:160,offset:!0}),o.a.createElement(xe,{color:c,delay:320,offset:!l}))};Se.defaultProps={size:4};var Ae=function(e){var t=e.children,n=e.innerProps;return o.a.createElement("div",n,t)},Pe=Ae,Ne=Ae,De=function(e){function t(){return b(this,t),x(this,O(t).apply(this,arguments))}return j(t,r["Component"]),v(t,[{key:"render",value:function(){var e=this.props,t=e.children,n=e.innerProps;return o.a.createElement("div",n,t||o.a.createElement(we,{size:14}))}}]),t}(),Fe=function(e){function t(){return b(this,t),x(this,O(t).apply(this,arguments))}return j(t,r["Component"]),v(t,[{key:"render",value:function(){var e=this.props,t=e.children,n=e.className,r=e.components,s=e.cx,i=e.data,l=e.getStyles,u=e.innerProps,c=e.isDisabled,d=e.removeProps,p=e.selectProps,m=r.Container,f=r.Label,h=r.Remove,b=w({className:s(Object(a.css)(l("multiValue",this.props)),{"multi-value":!0,"multi-value--is-disabled":c},n)},u),g={className:s(Object(a.css)(l("multiValueLabel",this.props)),{"multi-value__label":!0},n)},v=w({className:s(Object(a.css)(l("multiValueRemove",this.props)),{"multi-value__remove":!0},n)},d);return o.a.createElement(m,{data:i,innerProps:b,selectProps:p},o.a.createElement(f,{data:i,innerProps:g,selectProps:p},t),o.a.createElement(h,{data:i,innerProps:v,selectProps:p}))}}]),t}();y(Fe,"defaultProps",{cropWithEllipsis:!0});var Te={ClearIndicator:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.innerProps;return o.a.createElement("div",E({},i,{className:r(Object(a.css)(s("clearIndicator",e)),{indicator:!0,"clear-indicator":!0},n)}),t||o.a.createElement(we,null))},Control:function(e){var t=e.children,n=e.cx,r=e.getStyles,s=e.className,i=e.isDisabled,l=e.isFocused,u=e.innerRef,c=e.innerProps,d=e.menuIsOpen;return o.a.createElement("div",E({ref:u,className:n(Object(a.css)(r("control",e)),{control:!0,"control--is-disabled":i,"control--is-focused":l,"control--menu-is-open":d},s)},c),t)},DropdownIndicator:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.innerProps;return o.a.createElement("div",E({},i,{className:r(Object(a.css)(s("dropdownIndicator",e)),{indicator:!0,"dropdown-indicator":!0},n)}),t||o.a.createElement(je,null))},DownChevron:je,CrossIcon:we,Group:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.Heading,l=e.headingProps,u=e.label,c=e.theme,d=e.selectProps;return o.a.createElement("div",{className:r(Object(a.css)(s("group",e)),{group:!0},n)},o.a.createElement(i,E({},l,{selectProps:d,theme:c,getStyles:s,cx:r}),u),o.a.createElement("div",null,t))},GroupHeading:function(e){var t=e.className,n=e.cx,r=e.getStyles,s=e.theme,i=(e.selectProps,C(e,["className","cx","getStyles","theme","selectProps"]));return o.a.createElement("div",E({className:n(Object(a.css)(r("groupHeading",w({theme:s},i))),{"group-heading":!0},t)},i))},IndicatorsContainer:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles;return o.a.createElement("div",{className:r(Object(a.css)(s("indicatorsContainer",e)),{indicators:!0},n)},t)},IndicatorSeparator:function(e){var t=e.className,n=e.cx,r=e.getStyles,s=e.innerProps;return o.a.createElement("span",E({},s,{className:n(Object(a.css)(r("indicatorSeparator",e)),{"indicator-separator":!0},t)}))},Input:function(e){var t=e.className,n=e.cx,r=e.getStyles,s=e.innerRef,i=e.isHidden,l=e.isDisabled,u=e.theme,c=(e.selectProps,C(e,["className","cx","getStyles","innerRef","isHidden","isDisabled","theme","selectProps"]));return o.a.createElement("div",{className:Object(a.css)(r("input",w({theme:u},c)))},o.a.createElement(m.a,E({className:n(null,{input:!0},t),inputRef:s,inputStyle:function(e){return{background:0,border:0,fontSize:"inherit",opacity:e?0:1,outline:0,padding:0,color:"inherit"}}(i),disabled:l},c)))},LoadingIndicator:Se,Menu:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.innerRef,l=e.innerProps,u=r(Object(a.css)(s("menu",e)),{menu:!0},n);return o.a.createElement("div",E({className:u},l,{ref:i}),t)},MenuList:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.isMulti,l=e.innerRef;return o.a.createElement("div",{className:r(Object(a.css)(s("menuList",e)),{"menu-list":!0,"menu-list--is-multi":i},n),ref:l},t)},MenuPortal:G,LoadingMessage:H,NoOptionsMessage:W,MultiValue:Fe,MultiValueContainer:Pe,MultiValueLabel:Ne,MultiValueRemove:De,Option:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.isDisabled,l=e.isFocused,u=e.isSelected,c=e.innerRef,d=e.innerProps;return o.a.createElement("div",E({ref:c,className:r(Object(a.css)(s("option",e)),{option:!0,"option--is-disabled":i,"option--is-focused":l,"option--is-selected":u},n)},d),t)},Placeholder:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.innerProps;return o.a.createElement("div",E({className:r(Object(a.css)(s("placeholder",e)),{placeholder:!0},n)},i),t)},SelectContainer:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.innerProps,l=e.isDisabled,u=e.isRtl;return o.a.createElement("div",E({className:r(Object(a.css)(s("container",e)),{"--is-disabled":l,"--is-rtl":u},n)},i),t)},SingleValue:function(e){var t=e.children,n=e.className,r=e.cx,s=e.getStyles,i=e.isDisabled,l=e.innerProps;return o.a.createElement("div",E({className:r(Object(a.css)(s("singleValue",e)),{"single-value":!0,"single-value--is-disabled":i},n)},l),t)},ValueContainer:ye},Ie=function(e){return w({},Te,e.components)},Le={clearIndicator:Ce,container:function(e){var t=e.isDisabled;return{direction:e.isRtl?"rtl":null,pointerEvents:t?"none":null,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,o=r.colors,s=r.borderRadius,a=r.spacing;return{alignItems:"center",backgroundColor:t?o.neutral5:o.neutral0,borderColor:t?o.neutral10:n?o.primary:o.neutral20,borderRadius:s,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px ".concat(o.primary):null,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:a.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?o.primary:o.neutral30}}},dropdownIndicator:_e,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:"500",marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,o=n.colors;return{alignSelf:"stretch",backgroundColor:t?o.neutral10:o.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,o=n.colors;return{margin:r.baseUnit/2,paddingBottom:r.baseUnit/2,paddingTop:r.baseUnit/2,visibility:t?"hidden":"visible",color:o.neutral80}},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,o=r.colors,s=r.spacing.baseUnit;return{color:t?o.neutral60:o.neutral20,display:"flex",padding:2*s,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:U,menu:function(e){var t,n=e.placement,r=e.theme,o=r.borderRadius,s=r.spacing,a=r.colors;return y(t={},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n),"100%"),y(t,"backgroundColor",a.neutral0),y(t,"borderRadius",o),y(t,"boxShadow","0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)"),y(t,"marginBottom",s.menuGutter),y(t,"marginTop",s.menuGutter),y(t,"position","absolute"),y(t,"width","100%"),y(t,"zIndex",1),t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,o=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:o?"ellipsis":null,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,o=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused&&o.dangerLight,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:o.dangerLight,color:o.danger}}},noOptionsMessage:B,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,o=e.theme,s=o.spacing,a=o.colors;return{backgroundColor:r?a.primary:n?a.primary25:"transparent",color:t?a.neutral20:r?a.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:"".concat(2*s.baseUnit,"px ").concat(3*s.baseUnit,"px"),width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:r?a.primary:a.primary50}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{color:t.colors.neutral50,marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2,position:"absolute",top:"50%",transform:"translateY(-50%)"}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,o=n.colors;return{color:t?o.neutral40:o.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"calc(100% - ".concat(2*r.baseUnit,"px)"),overflow:"hidden",position:"absolute",textOverflow:"ellipsis",whiteSpace:"nowrap",top:"50%",transform:"translateY(-50%)"}},valueContainer:function(e){var t=e.theme.spacing;return{alignItems:"center",display:"flex",flex:1,flexWrap:"wrap",padding:"".concat(t.baseUnit/2,"px ").concat(2*t.baseUnit,"px"),WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}};function Me(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=w({},e);return Object.keys(t).forEach(function(r){e[r]?n[r]=function(n,o){return t[r](e[r](n,o),o)}:n[r]=t[r]}),n}var Re={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},ze={backspaceRemovesValue:!0,blurInputOnSelect:L(),captureMenuScroll:!L(),closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:ee(),formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:ve,loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:"0",tabSelectsValue:!0},Ve=1,Be=function(e){function t(e){var n;b(this,t),y(k(k(n=x(this,O(t).call(this,e)))),"state",{ariaLiveSelection:"",ariaLiveContext:"",focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,isComposing:!1,menuOptions:{render:[],focusable:[]},selectValue:[]}),y(k(k(n)),"blockOptionHover",!1),y(k(k(n)),"clearFocusValueOnUpdate",!1),y(k(k(n)),"commonProps",void 0),y(k(k(n)),"components",void 0),y(k(k(n)),"hasGroups",!1),y(k(k(n)),"initialTouchX",0),y(k(k(n)),"initialTouchY",0),y(k(k(n)),"inputIsHiddenAfterUpdate",void 0),y(k(k(n)),"instancePrefix",""),y(k(k(n)),"openAfterFocus",!1),y(k(k(n)),"scrollToFocusedOptionOnUpdate",!1),y(k(k(n)),"userIsDragging",void 0),y(k(k(n)),"controlRef",null),y(k(k(n)),"getControlRef",function(e){n.controlRef=e}),y(k(k(n)),"focusedOptionRef",null),y(k(k(n)),"getFocusedOptionRef",function(e){n.focusedOptionRef=e}),y(k(k(n)),"menuListRef",null),y(k(k(n)),"getMenuListRef",function(e){n.menuListRef=e}),y(k(k(n)),"inputRef",null),y(k(k(n)),"getInputRef",function(e){n.inputRef=e}),y(k(k(n)),"cacheComponents",function(e){n.components=Ie({components:e})}),y(k(k(n)),"focus",n.focusInput),y(k(k(n)),"blur",n.blurInput),y(k(k(n)),"onChange",function(e,t){var r=n.props;(0,r.onChange)(e,w({},t,{name:r.name}))}),y(k(k(n)),"setValue",function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"set-value",r=arguments.length>2?arguments[2]:void 0,o=n.props,s=o.closeMenuOnSelect,a=o.isMulti;n.onInputChange("",{action:"set-value"}),s&&(n.inputIsHiddenAfterUpdate=!a,n.onMenuClose()),n.clearFocusValueOnUpdate=!0,n.onChange(e,{action:t,option:r})}),y(k(k(n)),"selectOption",function(e){var t=n.props,r=t.blurInputOnSelect,o=t.isMulti,s=n.state.selectValue;if(o)if(n.isOptionSelected(e,s)){var a=n.getOptionValue(e);n.setValue(s.filter(function(e){return n.getOptionValue(e)!==a}),"deselect-option",e),n.announceAriaLiveSelection({event:"deselect-option",context:{value:n.getOptionLabel(e)}})}else n.isOptionDisabled(e,s)?n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e),isDisabled:!0}}):(n.setValue([].concat(S(s),[e]),"select-option",e),n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e)}}));else n.isOptionDisabled(e,s)?n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e),isDisabled:!0}}):(n.setValue(e,"select-option"),n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e)}}));r&&n.blurInput()}),y(k(k(n)),"removeValue",function(e){var t=n.state.selectValue,r=n.getOptionValue(e);n.onChange(t.filter(function(e){return n.getOptionValue(e)!==r}),{action:"remove-value",removedValue:e}),n.announceAriaLiveSelection({event:"remove-value",context:{value:e?n.getOptionLabel(e):""}}),n.focusInput()}),y(k(k(n)),"clearValue",function(){var e=n.props.isMulti;n.onChange(e?[]:null,{action:"clear"})}),y(k(k(n)),"popValue",function(){var e=n.state.selectValue,t=e[e.length-1];n.announceAriaLiveSelection({event:"pop-value",context:{value:t?n.getOptionLabel(t):""}}),n.onChange(e.slice(0,e.length-1),{action:"pop-value",removedValue:t})}),y(k(k(n)),"getOptionLabel",function(e){return n.props.getOptionLabel(e)}),y(k(k(n)),"getOptionValue",function(e){return n.props.getOptionValue(e)}),y(k(k(n)),"getStyles",function(e,t){var r=Le[e](t);r.boxSizing="border-box";var o=n.props.styles[e];return o?o(r,t):r}),y(k(k(n)),"getElementId",function(e){return"".concat(n.instancePrefix,"-").concat(e)}),y(k(k(n)),"getActiveDescendentId",function(){var e=n.props.menuIsOpen,t=n.state,r=t.menuOptions,o=t.focusedOption;if(o&&e){var s=r.focusable.indexOf(o),a=r.render[s];return a&&a.key}}),y(k(k(n)),"announceAriaLiveSelection",function(e){var t=e.event,r=e.context;n.setState({ariaLiveSelection:ge(t,r)})}),y(k(k(n)),"announceAriaLiveContext",function(e){var t=e.event,r=e.context;n.setState({ariaLiveContext:be(t,w({},r,{label:n.props["aria-label"]}))})}),y(k(k(n)),"onMenuMouseDown",function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),n.focusInput())}),y(k(k(n)),"onMenuMouseMove",function(e){n.blockOptionHover=!1}),y(k(k(n)),"onControlMouseDown",function(e){var t=n.props.openMenuOnClick;n.state.isFocused?n.props.menuIsOpen?"INPUT"!==e.target.tagName&&n.onMenuClose():t&&n.openMenu("first"):(t&&(n.openAfterFocus=!0),n.focusInput()),"INPUT"!==e.target.tagName&&e.preventDefault()}),y(k(k(n)),"onDropdownIndicatorMouseDown",function(e){if(!(e&&"mousedown"===e.type&&0!==e.button||n.props.isDisabled)){var t=n.props,r=t.isMulti,o=t.menuIsOpen;n.focusInput(),o?(n.inputIsHiddenAfterUpdate=!r,n.onMenuClose()):n.openMenu("first"),e.preventDefault(),e.stopPropagation()}}),y(k(k(n)),"onClearIndicatorMouseDown",function(e){e&&"mousedown"===e.type&&0!==e.button||(n.clearValue(),e.stopPropagation(),n.openAfterFocus=!1,setTimeout(function(){return n.focusInput()}))}),y(k(k(n)),"onScroll",function(e){"boolean"==typeof n.props.closeMenuOnScroll?e.target instanceof HTMLElement&&D(e.target)&&n.props.onMenuClose():"function"==typeof n.props.closeMenuOnScroll&&n.props.closeMenuOnScroll(e)&&n.props.onMenuClose()}),y(k(k(n)),"onCompositionStart",function(){n.setState({isComposing:!0})}),y(k(k(n)),"onCompositionEnd",function(){n.setState({isComposing:!1})}),y(k(k(n)),"onTouchStart",function(e){var t=e.touches.item(0);t&&(n.initialTouchX=t.clientX,n.initialTouchY=t.clientY,n.userIsDragging=!1)}),y(k(k(n)),"onTouchMove",function(e){var t=e.touches.item(0);if(t){var r=Math.abs(t.clientX-n.initialTouchX),o=Math.abs(t.clientY-n.initialTouchY);n.userIsDragging=r>5||o>5}}),y(k(k(n)),"onTouchEnd",function(e){n.userIsDragging||(n.controlRef&&!n.controlRef.contains(e.target)&&n.menuListRef&&!n.menuListRef.contains(e.target)&&n.blurInput(),n.initialTouchX=0,n.initialTouchY=0)}),y(k(k(n)),"onControlTouchEnd",function(e){n.userIsDragging||n.onControlMouseDown(e)}),y(k(k(n)),"onClearIndicatorTouchEnd",function(e){n.userIsDragging||n.onClearIndicatorMouseDown(e)}),y(k(k(n)),"onDropdownIndicatorTouchEnd",function(e){n.userIsDragging||n.onDropdownIndicatorMouseDown(e)}),y(k(k(n)),"handleInputChange",function(e){var t=e.currentTarget.value;n.inputIsHiddenAfterUpdate=!1,n.onInputChange(t,{action:"input-change"}),n.onMenuOpen()}),y(k(k(n)),"onInputFocus",function(e){var t=n.props,r=t.isSearchable,o=t.isMulti;n.props.onFocus&&n.props.onFocus(e),n.inputIsHiddenAfterUpdate=!1,n.announceAriaLiveContext({event:"input",context:{isSearchable:r,isMulti:o}}),n.setState({isFocused:!0}),(n.openAfterFocus||n.props.openMenuOnFocus)&&n.openMenu("first"),n.openAfterFocus=!1}),y(k(k(n)),"onInputBlur",function(e){n.menuListRef&&n.menuListRef.contains(document.activeElement)?n.inputRef.focus():(n.props.onBlur&&n.props.onBlur(e),n.onInputChange("",{action:"input-blur"}),n.onMenuClose(),n.setState({focusedValue:null,isFocused:!1}))}),y(k(k(n)),"onOptionHover",function(e){n.blockOptionHover||n.state.focusedOption===e||n.setState({focusedOption:e})}),y(k(k(n)),"shouldHideSelectedOptions",function(){var e=n.props,t=e.hideSelectedOptions,r=e.isMulti;return void 0===t?r:t}),y(k(k(n)),"onKeyDown",function(e){var t=n.props,r=t.isMulti,o=t.backspaceRemovesValue,s=t.escapeClearsValue,a=t.inputValue,i=t.isClearable,l=t.isDisabled,u=t.menuIsOpen,c=t.onKeyDown,d=t.tabSelectsValue,p=t.openMenuOnFocus,m=n.state,f=m.isComposing,h=m.focusedOption,b=m.focusedValue,g=m.selectValue;if(!(l||"function"==typeof c&&(c(e),e.defaultPrevented))){switch(n.blockOptionHover=!0,e.key){case"ArrowLeft":if(!r||a)return;n.focusValue("previous");break;case"ArrowRight":if(!r||a)return;n.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(b)n.removeValue(b);else{if(!o)return;r?n.popValue():i&&n.clearValue()}break;case"Tab":if(f)return;if(e.shiftKey||!u||!d||!h||p&&n.isOptionSelected(h,g))return;n.selectOption(h);break;case"Enter":if(u){if(!h)return;if(f)return;n.selectOption(h);break}return;case"Escape":u?(n.inputIsHiddenAfterUpdate=!1,n.onInputChange("",{action:"menu-close"}),n.onMenuClose()):i&&s&&n.clearValue();break;case" ":if(a)return;if(!u){n.openMenu("first");break}if(!h)return;n.selectOption(h);break;case"ArrowUp":u?n.focusOption("up"):n.openMenu("last");break;case"ArrowDown":u?n.focusOption("down"):n.openMenu("first");break;case"PageUp":if(!u)return;n.focusOption("pageup");break;case"PageDown":if(!u)return;n.focusOption("pagedown");break;case"Home":if(!u)return;n.focusOption("first");break;case"End":if(!u)return;n.focusOption("last");break;default:return}e.preventDefault()}});var r=e.value;n.cacheComponents=Object(s.default)(n.cacheComponents,X).bind(k(k(n))),n.cacheComponents(e.components),n.instancePrefix="react-select-"+(n.props.instanceId||++Ve);var o=N(r),a=n.buildMenuOptions(e,o);return n.state.menuOptions=a,n.state.selectValue=o,n}return j(t,r["Component"]),v(t,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()}},{key:"componentWillReceiveProps",value:function(e){var t=this.props,n=t.options,r=t.value,o=t.inputValue;if(this.cacheComponents(e.components),e.value!==r||e.options!==n||e.inputValue!==o){var s=N(e.value),a=this.buildMenuOptions(e,s),i=this.getNextFocusedValue(s),l=this.getNextFocusedOption(a.focusable);this.setState({menuOptions:a,selectValue:s,focusedOption:l,focusedValue:i})}null!=this.inputIsHiddenAfterUpdate&&(this.setState({inputIsHidden:this.inputIsHiddenAfterUpdate}),delete this.inputIsHiddenAfterUpdate)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.isDisabled,r=t.menuIsOpen,o=this.state.isFocused;(o&&!n&&e.isDisabled||o&&r&&!e.menuIsOpen)&&this.focusInput(),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&function(e,t){var n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),o=t.offsetHeight/3;r.bottom+o>n.bottom?T(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+o,e.scrollHeight)):r.top-o<n.top&&T(e,Math.max(t.offsetTop-o,0))}(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){var e=this.props,t=e.isSearchable,n=e.isMulti;this.announceAriaLiveContext({event:"input",context:{isSearchable:t,isMulti:n}}),this.onInputChange("",{action:"menu-close"}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t=this.state,n=t.menuOptions,r=t.selectValue,o=t.isFocused,s=this.props.isMulti,a="first"===e?0:n.focusable.length-1;if(!s){var i=n.focusable.indexOf(r[0]);i>-1&&(a=i)}this.scrollToFocusedOptionOnUpdate=!(o&&this.menuListRef),this.inputIsHiddenAfterUpdate=!1,this.onMenuOpen(),this.setState({focusedValue:null,focusedOption:n.focusable[a]}),this.announceAriaLiveContext({event:"menu"})}},{key:"focusValue",value:function(e){var t=this.props,n=t.isMulti,r=t.isSearchable,o=this.state,s=o.selectValue,a=o.focusedValue;if(n){this.setState({focusedOption:null});var i=s.indexOf(a);a||(i=-1,this.announceAriaLiveContext({event:"value"}));var l=s.length-1,u=-1;if(s.length){switch(e){case"previous":u=0===i?0:-1===i?l:i-1;break;case"next":i>-1&&i<l&&(u=i+1)}-1===u&&this.announceAriaLiveContext({event:"input",context:{isSearchable:r,isMulti:n}}),this.setState({inputIsHidden:-1!==u,focusedValue:s[u]})}}}},{key:"focusOption",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state,r=n.focusedOption,o=n.menuOptions.focusable;if(o.length){var s=0,a=o.indexOf(r);r||(a=-1,this.announceAriaLiveContext({event:"menu"})),"up"===e?s=a>0?a-1:o.length-1:"down"===e?s=(a+1)%o.length:"pageup"===e?(s=a-t)<0&&(s=0):"pagedown"===e?(s=a+t)>o.length-1&&(s=o.length-1):"last"===e&&(s=o.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:o[s],focusedValue:null}),this.announceAriaLiveContext({event:"menu",context:{isDisabled:ve(o[s])}})}}},{key:"getTheme",value:function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(Re):w({},Re,this.props.theme):Re}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.getStyles,n=this.setValue,r=this.selectOption,o=this.props,s=o.classNamePrefix,a=o.isMulti,i=o.isRtl,l=o.options,u=this.state.selectValue,c=this.hasValue();return{cx:function(e,t,n,r){var o=[t,r];if(n&&e)for(var s in n)n.hasOwnProperty(s)&&n[s]&&o.push("".concat(P(e,s)));return o.filter(function(e){return e}).map(function(e){return String(e).trim()}).join(" ")}.bind(null,s),clearValue:e,getStyles:t,getValue:function(){return u},hasValue:c,isMulti:a,isRtl:i,options:l,selectOption:r,setValue:n,selectProps:o,theme:this.getTheme()}}},{key:"getNextFocusedValue",value:function(e){if(this.clearFocusValueOnUpdate)return this.clearFocusValueOnUpdate=!1,null;var t=this.state,n=t.focusedValue,r=t.selectValue.indexOf(n);if(r>-1){if(e.indexOf(n)>-1)return n;if(r<e.length)return e[r]}return null}},{key:"getNextFocusedOption",value:function(e){var t=this.state.focusedOption;return t&&e.indexOf(t)>-1?t:e[0]}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.state.menuOptions.render.length}},{key:"countOptions",value:function(){return this.state.menuOptions.focusable.length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return"function"==typeof this.props.isOptionDisabled&&this.props.isOptionDisabled(e,t)}},{key:"isOptionSelected",value:function(e,t){var n=this;if(t.indexOf(e)>-1)return!0;if("function"==typeof this.props.isOptionSelected)return this.props.isOptionSelected(e,t);var r=this.getOptionValue(e);return t.some(function(e){return n.getOptionValue(e)===r})}},{key:"filterOption",value:function(e,t){return!this.props.filterOption||this.props.filterOption(e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"buildMenuOptions",value:function(e,t){var n=this,r=e.inputValue,o=void 0===r?"":r,s=function(e,r){var s=n.isOptionDisabled(e,t),a=n.isOptionSelected(e,t),i=n.getOptionLabel(e),l=n.getOptionValue(e);if(!(n.shouldHideSelectedOptions()&&a||!n.filterOption({label:i,value:l,data:e},o))){var u=s?void 0:function(){return n.onOptionHover(e)},c=s?void 0:function(){return n.selectOption(e)},d="".concat(n.getElementId("option"),"-").concat(r);return{innerProps:{id:d,onClick:c,onMouseMove:u,onMouseOver:u,tabIndex:-1},data:e,isDisabled:s,isSelected:a,key:d,label:i,type:"option",value:l}}};return e.options.reduce(function(e,t,r){if(t.options){n.hasGroups||(n.hasGroups=!0);var o=t.options.map(function(t,n){var o=s(t,"".concat(r,"-").concat(n));return o&&e.focusable.push(t),o}).filter(Boolean);if(o.length){var a="".concat(n.getElementId("group"),"-").concat(r);e.render.push({type:"group",key:a,data:t,options:o})}}else{var i=s(t,"".concat(r));i&&(e.render.push(i),e.focusable.push(t))}return e},{render:[],focusable:[]})}},{key:"constructAriaLiveMessage",value:function(){var e=this.state,t=e.ariaLiveContext,n=e.selectValue,r=e.focusedValue,o=e.focusedOption,s=this.props,a=s.options,i=s.menuIsOpen,l=s.inputValue,u=s.screenReaderStatus,c=r?function(e){var t=e.focusedValue,n=e.getOptionLabel,r=e.selectValue;return"value ".concat(n(t)," focused, ").concat(r.indexOf(t)+1," of ").concat(r.length,".")}({focusedValue:r,getOptionLabel:this.getOptionLabel,selectValue:n}):"",d=o&&i?function(e){var t=e.focusedOption,n=e.getOptionLabel,r=e.options;return"option ".concat(n(t)," focused").concat(t.isDisabled?" disabled":"",", ").concat(r.indexOf(t)+1," of ").concat(r.length,".")}({focusedOption:o,getOptionLabel:this.getOptionLabel,options:a}):"",p=function(e){var t=e.inputValue,n=e.screenReaderMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}({inputValue:l,screenReaderMessage:u({count:this.countOptions()})});return"".concat(c," ").concat(d," ").concat(p," ").concat(t)}},{key:"renderInput",value:function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,r=e.inputId,s=e.inputValue,a=e.tabIndex,i=this.components.Input,l=this.state.inputIsHidden,u=r||this.getElementId("input");if(!n)return o.a.createElement(ne,{id:u,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:A,onFocus:this.onInputFocus,readOnly:!0,disabled:t,tabIndex:a,value:""});var c={"aria-autocomplete":"list","aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"]},d=this.commonProps,p=d.cx,m=d.theme,f=d.selectProps;return o.a.createElement(i,E({autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",cx:p,getStyles:this.getStyles,id:u,innerRef:this.getInputRef,isDisabled:t,isHidden:l,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,selectProps:f,spellCheck:"false",tabIndex:a,theme:m,type:"text",value:s},c))}},{key:"renderPlaceholderOrValue",value:function(){var e=this,t=this.components,n=t.MultiValue,r=t.MultiValueContainer,s=t.MultiValueLabel,a=t.MultiValueRemove,i=t.SingleValue,l=t.Placeholder,u=this.commonProps,c=this.props,d=c.controlShouldRenderValue,p=c.isDisabled,m=c.isMulti,f=c.inputValue,h=c.placeholder,b=this.state,g=b.selectValue,v=b.focusedValue,y=b.isFocused;if(!this.hasValue()||!d)return f?null:o.a.createElement(l,E({},u,{key:"placeholder",isDisabled:p,isFocused:y}),h);if(m)return g.map(function(t){var i=t===v;return o.a.createElement(n,E({},u,{components:{Container:r,Label:s,Remove:a},isFocused:i,isDisabled:p,key:e.getOptionValue(t),removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},data:t}),e.formatOptionLabel(t,"value"))});if(f)return null;var w=g[0];return o.a.createElement(i,E({},u,{data:w,isDisabled:p}),this.formatOptionLabel(w,"value"))}},{key:"renderClearIndicator",value:function(){var e=this.components.ClearIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,s=n.isLoading,a=this.state.isFocused;if(!this.isClearable()||!e||r||!this.hasValue()||s)return null;var i={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,E({},t,{innerProps:i,isFocused:a}))}},{key:"renderLoadingIndicator",value:function(){var e=this.components.LoadingIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,s=n.isLoading,a=this.state.isFocused;if(!e||!s)return null;return o.a.createElement(e,E({},t,{innerProps:{"aria-hidden":"true"},isDisabled:r,isFocused:a}))}},{key:"renderIndicatorSeparator",value:function(){var e=this.components,t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var r=this.commonProps,s=this.props.isDisabled,a=this.state.isFocused;return o.a.createElement(n,E({},r,{isDisabled:s,isFocused:a}))}},{key:"renderDropdownIndicator",value:function(){var e=this.components.DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,r=this.state.isFocused,s={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,E({},t,{innerProps:s,isDisabled:n,isFocused:r}))}},{key:"renderMenu",value:function(){var e=this,t=this.components,n=t.Group,r=t.GroupHeading,s=t.Menu,a=t.MenuList,i=t.MenuPortal,l=t.LoadingMessage,u=t.NoOptionsMessage,c=t.Option,d=this.commonProps,p=this.state,m=p.focusedOption,f=p.menuOptions,h=this.props,b=h.captureMenuScroll,g=h.inputValue,v=h.isLoading,y=h.loadingMessage,w=h.minMenuHeight,j=h.maxMenuHeight,O=h.menuIsOpen,_=h.menuPlacement,k=h.menuPosition,x=h.menuPortalTarget,S=h.menuShouldBlockScroll,A=h.menuShouldScrollIntoView,P=h.noOptionsMessage,N=h.onMenuScrollToTop,D=h.onMenuScrollToBottom;if(!O)return null;var F,T=function(t){var n=m===t.data;return t.innerRef=n?e.getFocusedOptionRef:void 0,o.a.createElement(c,E({},d,t,{isFocused:n}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())F=f.render.map(function(t){if("group"===t.type){t.type;var s=C(t,["type"]),a="".concat(t.key,"-heading");return o.a.createElement(n,E({},d,s,{Heading:r,headingProps:{id:a},label:e.formatGroupLabel(t.data)}),t.options.map(function(e){return T(e)}))}if("option"===t.type)return T(t)});else if(v){var I=y({inputValue:g});if(null===I)return null;F=o.a.createElement(l,d,I)}else{var L=P({inputValue:g});if(null===L)return null;F=o.a.createElement(u,d,L)}var M={minMenuHeight:w,maxMenuHeight:j,menuPlacement:_,menuPosition:k,menuShouldScrollIntoView:A},R=o.a.createElement(z,E({},d,M),function(t){var n=t.ref,r=t.placerProps,i=r.placement,l=r.maxHeight;return o.a.createElement(s,E({},d,M,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove},isLoading:v,placement:i}),o.a.createElement(he,{isEnabled:b,onTopArrive:N,onBottomArrive:D},o.a.createElement(me,{isEnabled:S},o.a.createElement(a,E({},d,{innerRef:e.getMenuListRef,isLoading:v,maxHeight:l}),F))))});return x||"fixed"===k?o.a.createElement(i,E({},d,{appendTo:x,controlElement:this.controlRef,menuPlacement:_,menuPosition:k}),R):R}},{key:"renderFormField",value:function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,s=t.isMulti,a=t.name,i=this.state.selectValue;if(a&&!r){if(s){if(n){var l=i.map(function(t){return e.getOptionValue(t)}).join(n);return o.a.createElement("input",{name:a,type:"hidden",value:l})}var u=i.length>0?i.map(function(t,n){return o.a.createElement("input",{key:"i-".concat(n),name:a,type:"hidden",value:e.getOptionValue(t)})}):o.a.createElement("input",{name:a,type:"hidden"});return o.a.createElement("div",null,u)}var c=i[0]?this.getOptionValue(i[0]):"";return o.a.createElement("input",{name:a,type:"hidden",value:c})}}},{key:"renderLiveRegion",value:function(){return this.state.isFocused?o.a.createElement(te,{"aria-live":"assertive"},o.a.createElement("p",{id:"aria-selection-event"}," ",this.state.ariaLiveSelection),o.a.createElement("p",{id:"aria-context"}," ",this.constructAriaLiveMessage())):null}},{key:"render",value:function(){var e=this.components,t=e.Control,n=e.IndicatorsContainer,r=e.SelectContainer,s=e.ValueContainer,a=this.props,i=a.className,l=a.id,u=a.isDisabled,c=a.menuIsOpen,d=this.state.isFocused,p=this.commonProps=this.getCommonProps();return o.a.createElement(r,E({},p,{className:i,innerProps:{id:l,onKeyDown:this.onKeyDown},isDisabled:u,isFocused:d}),this.renderLiveRegion(),o.a.createElement(t,E({},p,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:u,isFocused:d,menuIsOpen:c}),o.a.createElement(s,E({},p,{isDisabled:u}),this.renderPlaceholderOrValue(),this.renderInput()),o.a.createElement(n,E({},p,{isDisabled:u}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}]),t}();y(Be,"defaultProps",ze);var Ue={defaultInputValue:"",defaultMenuIsOpen:!1,defaultValue:null},We=function(e){var t,n;return n=t=function(t){function n(){var e,t;b(this,n);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return y(k(k(t=x(this,(e=O(n)).call.apply(e,[this].concat(o))))),"select",void 0),y(k(k(t)),"state",{inputValue:void 0!==t.props.inputValue?t.props.inputValue:t.props.defaultInputValue,menuIsOpen:void 0!==t.props.menuIsOpen?t.props.menuIsOpen:t.props.defaultMenuIsOpen,value:void 0!==t.props.value?t.props.value:t.props.defaultValue}),y(k(k(t)),"onChange",function(e,n){t.callProp("onChange",e,n),t.setState({value:e})}),y(k(k(t)),"onInputChange",function(e,n){var r=t.callProp("onInputChange",e,n);t.setState({inputValue:void 0!==r?r:e})}),y(k(k(t)),"onMenuOpen",function(){t.callProp("onMenuOpen"),t.setState({menuIsOpen:!0})}),y(k(k(t)),"onMenuClose",function(){t.callProp("onMenuClose"),t.setState({menuIsOpen:!1})}),t}return j(n,r["Component"]),v(n,[{key:"focus",value:function(){this.select.focus()}},{key:"blur",value:function(){this.select.blur()}},{key:"getProp",value:function(e){return void 0!==this.props[e]?this.props[e]:this.state[e]}},{key:"callProp",value:function(e){if("function"==typeof this.props[e]){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(t=this.props)[e].apply(t,r)}}},{key:"render",value:function(){var t=this,n=this.props,r=(n.defaultInputValue,n.defaultMenuIsOpen,n.defaultValue,C(n,["defaultInputValue","defaultMenuIsOpen","defaultValue"]));return o.a.createElement(e,E({},r,{ref:function(e){t.select=e},inputValue:this.getProp("inputValue"),menuIsOpen:this.getProp("menuIsOpen"),onChange:this.onChange,onInputChange:this.onInputChange,onMenuClose:this.onMenuClose,onMenuOpen:this.onMenuOpen,value:this.getProp("value")}))}}]),n}(),y(t,"defaultProps",Ue),n},He={cacheOptions:!1,defaultOptions:!1,filterOption:null},Ge=function(e){var t,n;return n=t=function(t){function n(e){var t;return b(this,n),y(k(k(t=x(this,O(n).call(this)))),"select",void 0),y(k(k(t)),"lastRequest",void 0),y(k(k(t)),"mounted",!1),y(k(k(t)),"optionsCache",{}),y(k(k(t)),"handleInputChange",function(e,n){var r=t.props,o=r.cacheOptions,s=function(e,t,n){if(n){var r=n(e,t);if("string"==typeof r)return r}return e}(e,n,r.onInputChange);if(!s)return delete t.lastRequest,void t.setState({inputValue:"",loadedInputValue:"",loadedOptions:[],isLoading:!1,passEmptyOptions:!1});if(o&&t.optionsCache[s])t.setState({inputValue:s,loadedInputValue:s,loadedOptions:t.optionsCache[s],isLoading:!1,passEmptyOptions:!1});else{var a=t.lastRequest={};t.setState({inputValue:s,isLoading:!0,passEmptyOptions:!t.state.loadedInputValue},function(){t.loadOptions(s,function(e){t.mounted&&(e&&(t.optionsCache[s]=e),a===t.lastRequest&&(delete t.lastRequest,t.setState({isLoading:!1,loadedInputValue:s,loadedOptions:e||[],passEmptyOptions:!1})))})})}return s}),t.state={defaultOptions:Array.isArray(e.defaultOptions)?e.defaultOptions:void 0,inputValue:void 0!==e.inputValue?e.inputValue:"",isLoading:!0===e.defaultOptions,loadedOptions:[],passEmptyOptions:!1},t}return j(n,r["Component"]),v(n,[{key:"componentDidMount",value:function(){var e=this;this.mounted=!0;var t=this.props.defaultOptions,n=this.state.inputValue;!0===t&&this.loadOptions(n,function(t){if(e.mounted){var n=!!e.lastRequest;e.setState({defaultOptions:t||[],isLoading:n})}})}},{key:"componentWillReceiveProps",value:function(e){e.cacheOptions!==this.props.cacheOptions&&(this.optionsCache={}),e.defaultOptions!==this.props.defaultOptions&&this.setState({defaultOptions:Array.isArray(e.defaultOptions)?e.defaultOptions:void 0})}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"focus",value:function(){this.select.focus()}},{key:"blur",value:function(){this.select.blur()}},{key:"loadOptions",value:function(e,t){var n=this.props.loadOptions;if(!n)return t();var r=n(e,t);r&&"function"==typeof r.then&&r.then(t,function(){return t()})}},{key:"render",value:function(){var t=this,n=this.props,r=(n.loadOptions,C(n,["loadOptions"])),s=this.state,a=s.defaultOptions,i=s.inputValue,l=s.isLoading,u=s.loadedInputValue,c=s.loadedOptions,d=s.passEmptyOptions?[]:i&&u?c:a||[];return o.a.createElement(e,E({},r,{ref:function(e){t.select=e},options:d,isLoading:l,onInputChange:this.handleInputChange}))}}]),n}(),y(t,"defaultProps",He),n},$e=We(Be),qe=Ge($e),Ye=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=String(e).toLowerCase(),r=String(t.value).toLowerCase(),o=String(t.label).toLowerCase();return r===n||o===n},Xe=w({allowCreateWhileLoading:!1,createOptionPosition:"last"},{formatCreateLabel:function(e){return'Create "'.concat(e,'"')},isValidNewOption:function(e,t,n){return!(!e||t.some(function(t){return Ye(e,t)})||n.some(function(t){return Ye(e,t)}))},getNewOptionData:function(e,t){return{label:t,value:e,__isNew__:!0}}}),Je=function(e){var t,n;return n=t=function(t){function n(e){var t;b(this,n),y(k(k(t=x(this,O(n).call(this,e)))),"select",void 0),y(k(k(t)),"onChange",function(e,n){var r=t.props,o=r.getNewOptionData,s=r.inputValue,a=r.isMulti,i=r.onChange,l=r.onCreateOption,u=r.value;if("select-option"!==n.action)return i(e,n);var c=t.state.newOption,d=Array.isArray(e)?e:[e];if(d[d.length-1]!==c)i(e,n);else if(l)l(s);else{var p=o(s,s),m={action:"create-option"};i(a?[].concat(S(N(u)),[p]):p,m)}});var r=e.options||[];return t.state={newOption:void 0,options:r},t}return j(n,r["Component"]),v(n,[{key:"componentWillReceiveProps",value:function(e){var t=e.allowCreateWhileLoading,n=e.createOptionPosition,r=e.formatCreateLabel,o=e.getNewOptionData,s=e.inputValue,a=e.isLoading,i=e.isValidNewOption,l=e.value,u=e.options||[],c=this.state.newOption;c=i(s,N(l),u)?o(s,r(s)):void 0,this.setState({newOption:c,options:!t&&a||!c?u:"first"===n?[c].concat(S(u)):[].concat(S(u),[c])})}},{key:"focus",value:function(){this.select.focus()}},{key:"blur",value:function(){this.select.blur()}},{key:"render",value:function(){var t=this,n=E({},this.props),r=this.state.options;return o.a.createElement(e,E({},n,{ref:function(e){t.select=e},options:r,onChange:this.onChange}))}}]),n}(),y(t,"defaultProps",Xe),n},Qe=We(Je(Be)),Ke=We(Je(Be)),Ze=Ge(Ke),et=function(e){var t=e.component,n=e.duration,r=void 0===n?1:n,s=e.in,a=(e.onExited,C(e,["component","duration","in","onExited"])),i={entering:{opacity:0},entered:{opacity:1,transition:"opacity ".concat(r,"ms")},exiting:{opacity:0},exited:{opacity:0}};return o.a.createElement(f.Transition,{mountOnEnter:!0,unmountOnExit:!0,in:s,timeout:r},function(e){var n={style:w({},i[e])};return o.a.createElement(t,E({innerProps:n},a))})},tt=260,nt=function(e){function t(){var e,n;b(this,t);for(var r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];return y(k(k(n=x(this,(e=O(t)).call.apply(e,[this].concat(o))))),"duration",tt),y(k(k(n)),"rafID",void 0),y(k(k(n)),"state",{width:"auto"}),y(k(k(n)),"transition",{exiting:{width:0,transition:"width ".concat(n.duration,"ms ease-out")},exited:{width:0}}),y(k(k(n)),"getWidth",function(e){e&&isNaN(n.state.width)&&(n.rafID=window.requestAnimationFrame(function(){var t=e.getBoundingClientRect().width;n.setState({width:t})}))}),y(k(k(n)),"getStyle",function(e){return{overflow:"hidden",whiteSpace:"nowrap",width:e}}),y(k(k(n)),"getTransition",function(e){return n.transition[e]}),n}return j(t,r["Component"]),v(t,[{key:"componentWillUnmount",value:function(){this.rafID&&window.cancelAnimationFrame(this.rafID)}},{key:"render",value:function(){var e=this,t=this.props,n=t.children,r=t.in,s=this.state.width;return o.a.createElement(f.Transition,{enter:!1,mountOnEnter:!0,unmountOnExit:!0,in:r,timeout:this.duration},function(t){var r=w({},e.getStyle(s),e.getTransition(t));return o.a.createElement("div",{ref:e.getWidth,style:r},n)})}}]),t}(),rt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Ie({components:e}),n=t.Input,r=t.MultiValue,s=t.Placeholder,a=t.SingleValue,i=t.ValueContainer,l=C(t,["Input","MultiValue","Placeholder","SingleValue","ValueContainer"]);return w({Input:function(e){return function(t){t.in,t.onExited,t.appear,t.enter,t.exit;var n=C(t,["in","onExited","appear","enter","exit"]);return o.a.createElement(e,n)}}(n),MultiValue:function(e){return function(t){var n=t.in,r=t.onExited,s=C(t,["in","onExited"]);return o.a.createElement(nt,{in:n,onExited:r},o.a.createElement(e,E({cropWithEllipsis:n},s)))}}(r),Placeholder:function(e){return function(t){return o.a.createElement(et,E({component:e,duration:t.isMulti?tt:1},t))}}(s),SingleValue:function(e){return function(t){return o.a.createElement(et,E({component:e},t))}}(a),ValueContainer:function(e){return function(t){return o.a.createElement(f.TransitionGroup,E({component:e},t))}}(i)},l)},ot=rt(),st=(ot.Input,ot.MultiValue,ot.Placeholder,ot.SingleValue,ot.ValueContainer,Object(s.default)(rt,X)),at=We(Be);t.default=at},"./node_modules/react-transition-group/CSSTransition.js":
 /*!**************************************************************!*\
   !*** ./node_modules/react-transition-group/CSSTransition.js ***!
   \**************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _addClass = _interopRequireDefault(__webpack_require__(/*! dom-helpers/class/addClass */ \"./node_modules/dom-helpers/class/addClass.js\"));\n\nvar _removeClass = _interopRequireDefault(__webpack_require__(/*! dom-helpers/class/removeClass */ \"./node_modules/dom-helpers/class/removeClass.js\"));\n\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\n\nvar _Transition = _interopRequireDefault(__webpack_require__(/*! ./Transition */ \"./node_modules/react-transition-group/Transition.js\"));\n\nvar _PropTypes = __webpack_require__(/*! ./utils/PropTypes */ \"./node_modules/react-transition-group/utils/PropTypes.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar addClass = function addClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _addClass.default)(node, c);\n  });\n};\n\nvar removeClass = function removeClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _removeClass.default)(node, c);\n  });\n};\n\nvar propTypes =  true ? _extends({}, _Transition.default.propTypes, {\n  /**\n   * The animation classNames applied to the component as it enters, exits or has finished the transition.\n   * A single name can be provided and it will be suffixed for each stage: e.g.\n   *\n   * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`, `fade-enter-done`,\n   * `fade-exit`, `fade-exit-active`, `fade-exit-done`, `fade-appear`, and `fade-appear-active`.\n   * Each individual classNames can also be specified independently like:\n   *\n   * ```js\n   * classNames={{\n   *  appear: 'my-appear',\n   *  appearActive: 'my-active-appear',\n   *  enter: 'my-enter',\n   *  enterActive: 'my-active-enter',\n   *  enterDone: 'my-done-enter',\n   *  exit: 'my-exit',\n   *  exitActive: 'my-active-exit',\n   *  exitDone: 'my-done-exit',\n   * }}\n   * ```\n   *\n   * If you want to set these classes using CSS Modules:\n   *\n   * ```js\n   * import styles from './styles.css';\n   * ```\n   *\n   * you might want to use camelCase in your CSS file, that way could simply spread\n   * them instead of listing them one by one:\n   *\n   * ```js\n   * classNames={{ ...styles }}\n   * ```\n   *\n   * @type {string | {\n   *  appear?: string,\n   *  appearActive?: string,\n   *  enter?: string,\n   *  enterActive?: string,\n   *  enterDone?: string,\n   *  exit?: string,\n   *  exitActive?: string,\n   *  exitDone?: string,\n   * }}\n   */\n  classNames: _PropTypes.classNamesShape,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter-active' or\n   * 'appear-active' class is applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or\n   * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n   *\n   * @type Function(node: HtmlElement\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' classes\n   * are **removed** and the `exit-done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExited: PropTypes.func\n}) : undefined;;\n/**\n * A `Transition` component using CSS transitions and animations.\n * It's inspired by the excellent [ng-animate](http://www.nganimate.org/) library.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` stages of the transition. The first class is applied and then a\n * second \"active\" class in order to activate the css animation. After the animation,\n * matching `done` class names are applied to persist the animation state.\n *\n * When the `in` prop is toggled to `true` the Component will get\n * the `example-enter` CSS class and the `example-enter-active` CSS class\n * added in the next tick. This is a convention based on the `classNames` prop.\n */\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(CSSTransition, _React$Component);\n\n  function CSSTransition() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n    _this.onEnter = function (node, appearing) {\n      var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          className = _this$getClassNames.className;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, className);\n\n      if (_this.props.onEnter) {\n        _this.props.onEnter(node);\n      }\n    };\n\n    _this.onEntering = function (node, appearing) {\n      var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          activeClassName = _this$getClassNames2.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onEntering) {\n        _this.props.onEntering(node);\n      }\n    };\n\n    _this.onEntered = function (node, appearing) {\n      var _this$getClassNames3 = _this.getClassNames('enter'),\n          doneClassName = _this$getClassNames3.doneClassName;\n\n      _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onEntered) {\n        _this.props.onEntered(node);\n      }\n    };\n\n    _this.onExit = function (node) {\n      var _this$getClassNames4 = _this.getClassNames('exit'),\n          className = _this$getClassNames4.className;\n\n      _this.removeClasses(node, 'appear');\n\n      _this.removeClasses(node, 'enter');\n\n      addClass(node, className);\n\n      if (_this.props.onExit) {\n        _this.props.onExit(node);\n      }\n    };\n\n    _this.onExiting = function (node) {\n      var _this$getClassNames5 = _this.getClassNames('exit'),\n          activeClassName = _this$getClassNames5.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onExiting) {\n        _this.props.onExiting(node);\n      }\n    };\n\n    _this.onExited = function (node) {\n      var _this$getClassNames6 = _this.getClassNames('exit'),\n          doneClassName = _this$getClassNames6.doneClassName;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onExited) {\n        _this.props.onExited(node);\n      }\n    };\n\n    _this.getClassNames = function (type) {\n      var classNames = _this.props.classNames;\n      var className = typeof classNames !== 'string' ? classNames[type] : classNames + '-' + type;\n      var activeClassName = typeof classNames !== 'string' ? classNames[type + 'Active'] : className + '-active';\n      var doneClassName = typeof classNames !== 'string' ? classNames[type + 'Done'] : className + '-done';\n      return {\n        className: className,\n        activeClassName: activeClassName,\n        doneClassName: doneClassName\n      };\n    };\n\n    return _this;\n  }\n\n  var _proto = CSSTransition.prototype;\n\n  _proto.removeClasses = function removeClasses(node, type) {\n    var _this$getClassNames7 = this.getClassNames(type),\n        className = _this$getClassNames7.className,\n        activeClassName = _this$getClassNames7.activeClassName,\n        doneClassName = _this$getClassNames7.doneClassName;\n\n    className && removeClass(node, className);\n    activeClassName && removeClass(node, activeClassName);\n    doneClassName && removeClass(node, doneClassName);\n  };\n\n  _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n    // This is for to force a repaint,\n    // which is necessary in order to transition styles when adding a class name.\n    if (className) {\n      /* eslint-disable no-unused-expressions */\n      node && node.scrollTop;\n      /* eslint-enable no-unused-expressions */\n\n      addClass(node, className);\n    }\n  };\n\n  _proto.render = function render() {\n    var props = _extends({}, this.props);\n\n    delete props.classNames;\n    return _react.default.createElement(_Transition.default, _extends({}, props, {\n      onEnter: this.onEnter,\n      onEntered: this.onEntered,\n      onEntering: this.onEntering,\n      onExit: this.onExit,\n      onExiting: this.onExiting,\n      onExited: this.onExited\n    }));\n  };\n\n  return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.propTypes =  true ? propTypes : undefined;\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n//# sourceURL=webpack:///./node_modules/react-transition-group/CSSTransition.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-transition-group/ReplaceTransition.js":
+/*! no static exports found */function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(/*! prop-types */"./node_modules/prop-types/index.js")),o=u(n(/*! dom-helpers/class/addClass */"./node_modules/dom-helpers/class/addClass.js")),s=u(n(/*! dom-helpers/class/removeClass */"./node_modules/dom-helpers/class/removeClass.js")),a=u(n(/*! react */"react")),i=u(n(/*! ./Transition */"./node_modules/react-transition-group/Transition.js")),l=n(/*! ./utils/PropTypes */"./node_modules/react-transition-group/utils/PropTypes.js");function u(e){return e&&e.__esModule?e:{default:e}}function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var d=function(e,t){return e&&t&&t.split(" ").forEach(function(t){return(0,o.default)(e,t)})},p=function(e,t){return e&&t&&t.split(" ").forEach(function(t){return(0,s.default)(e,t)})},m=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).onEnter=function(e,n){var r=t.getClassNames(n?"appear":"enter").className;t.removeClasses(e,"exit"),d(e,r),t.props.onEnter&&t.props.onEnter(e,n)},t.onEntering=function(e,n){var r=t.getClassNames(n?"appear":"enter").activeClassName;t.reflowAndAddClass(e,r),t.props.onEntering&&t.props.onEntering(e,n)},t.onEntered=function(e,n){var r=t.getClassNames("enter").doneClassName;t.removeClasses(e,n?"appear":"enter"),d(e,r),t.props.onEntered&&t.props.onEntered(e,n)},t.onExit=function(e){var n=t.getClassNames("exit").className;t.removeClasses(e,"appear"),t.removeClasses(e,"enter"),d(e,n),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){var n=t.getClassNames("exit").activeClassName;t.reflowAndAddClass(e,n),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){var n=t.getClassNames("exit").doneClassName;t.removeClasses(e,"exit"),d(e,n),t.props.onExited&&t.props.onExited(e)},t.getClassNames=function(e){var n=t.props.classNames,r="string"!=typeof n?n[e]:n+"-"+e;return{className:r,activeClassName:"string"!=typeof n?n[e+"Active"]:r+"-active",doneClassName:"string"!=typeof n?n[e+"Done"]:r+"-done"}},t}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.removeClasses=function(e,t){var n=this.getClassNames(t),r=n.className,o=n.activeClassName,s=n.doneClassName;r&&p(e,r),o&&p(e,o),s&&p(e,s)},n.reflowAndAddClass=function(e,t){t&&(e&&e.scrollTop,d(e,t))},n.render=function(){var e=c({},this.props);return delete e.classNames,a.default.createElement(i.default,c({},e,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(a.default.Component);m.propTypes=c({},i.default.propTypes,{classNames:l.classNamesShape,onEnter:r.func,onEntering:r.func,onEntered:r.func,onExit:r.func,onExiting:r.func,onExited:r.func});var f=m;t.default=f,e.exports=t.default},"./node_modules/react-transition-group/ReplaceTransition.js":
 /*!******************************************************************!*\
   !*** ./node_modules/react-transition-group/ReplaceTransition.js ***!
   \******************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(__webpack_require__(/*! ./TransitionGroup */ \"./node_modules/react-transition-group/TransitionGroup.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar propTypes =  true ? {\n  in: _propTypes.default.bool.isRequired,\n  children: function children(props, propName) {\n    if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n    return null;\n  }\n} : undefined;;\n/**\n * The `<ReplaceTransition>` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * <ReplaceTransition in>\n *   <Fade><div>I appear first</div></Fade>\n *   <Fade><div>I replace the above</div></Fade>\n * </ReplaceTransition>\n * ```\n */\n\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(ReplaceTransition, _React$Component);\n\n  function ReplaceTransition() {\n    var _this;\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n    _this.handleEnter = function () {\n      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      return _this.handleLifecycle('onEnter', 0, args);\n    };\n\n    _this.handleEntering = function () {\n      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n        args[_key3] = arguments[_key3];\n      }\n\n      return _this.handleLifecycle('onEntering', 0, args);\n    };\n\n    _this.handleEntered = function () {\n      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n        args[_key4] = arguments[_key4];\n      }\n\n      return _this.handleLifecycle('onEntered', 0, args);\n    };\n\n    _this.handleExit = function () {\n      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n        args[_key5] = arguments[_key5];\n      }\n\n      return _this.handleLifecycle('onExit', 1, args);\n    };\n\n    _this.handleExiting = function () {\n      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n        args[_key6] = arguments[_key6];\n      }\n\n      return _this.handleLifecycle('onExiting', 1, args);\n    };\n\n    _this.handleExited = function () {\n      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n        args[_key7] = arguments[_key7];\n      }\n\n      return _this.handleLifecycle('onExited', 1, args);\n    };\n\n    return _this;\n  }\n\n  var _proto = ReplaceTransition.prototype;\n\n  _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n    var _child$props;\n\n    var children = this.props.children;\n\n    var child = _react.default.Children.toArray(children)[idx];\n\n    if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n    if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        children = _this$props.children,\n        inProp = _this$props.in,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n    var _React$Children$toArr = _react.default.Children.toArray(children),\n        first = _React$Children$toArr[0],\n        second = _React$Children$toArr[1];\n\n    delete props.onEnter;\n    delete props.onEntering;\n    delete props.onEntered;\n    delete props.onExit;\n    delete props.onExiting;\n    delete props.onExited;\n    return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n      key: 'first',\n      onEnter: this.handleEnter,\n      onEntering: this.handleEntering,\n      onEntered: this.handleEntered\n    }) : _react.default.cloneElement(second, {\n      key: 'second',\n      onEnter: this.handleExit,\n      onEntering: this.handleExiting,\n      onEntered: this.handleExited\n    }));\n  };\n\n  return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes =  true ? propTypes : undefined;\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n//# sourceURL=webpack:///./node_modules/react-transition-group/ReplaceTransition.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-transition-group/Transition.js":
+/*! no static exports found */function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=i(n(/*! prop-types */"./node_modules/prop-types/index.js")),o=i(n(/*! react */"react")),s=n(/*! react-dom */"react-dom"),a=i(n(/*! ./TransitionGroup */"./node_modules/react-transition-group/TransitionGroup.js"));function i(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).handleEnter=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.handleLifecycle("onEnter",0,n)},t.handleEntering=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.handleLifecycle("onEntering",0,n)},t.handleEntered=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.handleLifecycle("onEntered",0,n)},t.handleExit=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.handleLifecycle("onExit",1,n)},t.handleExiting=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.handleLifecycle("onExiting",1,n)},t.handleExited=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.handleLifecycle("onExited",1,n)},t}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.handleLifecycle=function(e,t,n){var r,a=this.props.children,i=o.default.Children.toArray(a)[t];i.props[e]&&(r=i.props)[e].apply(r,n),this.props[e]&&this.props[e]((0,s.findDOMNode)(this))},n.render=function(){var e=this.props,t=e.children,n=e.in,r=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["children","in"]),s=o.default.Children.toArray(t),i=s[0],l=s[1];return delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,o.default.createElement(a.default,r,n?o.default.cloneElement(i,{key:"first",onEnter:this.handleEnter,onEntering:this.handleEntering,onEntered:this.handleEntered}):o.default.cloneElement(l,{key:"second",onEnter:this.handleExit,onEntering:this.handleExiting,onEntered:this.handleExited}))},t}(o.default.Component);l.propTypes={in:r.default.bool.isRequired,children:function(e,t){return 2!==o.default.Children.count(e[t])?new Error('"'+t+'" must be exactly two transition components.'):null}};var u=l;t.default=u,e.exports=t.default},"./node_modules/react-transition-group/Transition.js":
 /*!***********************************************************!*\
   !*** ./node_modules/react-transition-group/Transition.js ***!
   \***********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ \"react-dom\"));\n\nvar _reactLifecyclesCompat = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n\nvar _PropTypes = __webpack_require__(/*! ./utils/PropTypes */ \"./node_modules/react-transition-group/utils/PropTypes.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the components.\n * It's up to you to give meaning and effect to those states. For example we can\n * add styles to a component when it enters or exits:\n *\n * ```jsx\n * import Transition from 'react-transition-group/Transition';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n *   transition: `opacity ${duration}ms ease-in-out`,\n *   opacity: 0,\n * }\n *\n * const transitionStyles = {\n *   entering: { opacity: 0 },\n *   entered:  { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {(state) => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\n * );\n * ```\n *\n * As noted the `Transition` component doesn't _do_ anything by itself to its child component.\n * What it does do is track transition states over time so you can update the\n * component (such as by adding styles or classes) when it changes states.\n *\n * There are 4 main states a Transition can be in:\n *  - `'entering'`\n *  - `'entered'`\n *  - `'exiting'`\n *  - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component begins the\n * \"Enter\" stage. During this stage, the component will shift from its current transition state,\n * to `'entering'` for the duration of the transition and then to the `'entered'` stage once\n * it's complete. Let's take the following example:\n *\n * ```jsx\n * state = { in: false };\n *\n * toggleEnterState = () => {\n *   this.setState({ in: true });\n * }\n *\n * render() {\n *   return (\n *     <div>\n *       <Transition in={this.state.in} timeout={500} />\n *       <button onClick={this.toggleEnterState}>Click to Enter</button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state and\n * stay there for 500ms (the value of `timeout`) before it finally switches to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from `'exiting'` to `'exited'`.\n *\n * ## Timing\n *\n * Timing is often the trickiest part of animation, mistakes can result in slight delays\n * that are hard to pin down. A common example is when you want to add an exit transition,\n * you should set the desired final styles when the state is `'exiting'`. That's when the\n * transition to those styles will start and, if you matched the `timeout` prop with the\n * CSS Transition duration, it will end exactly when the state changes to `'exited'`.\n *\n * > **Note**: For simpler transitions the `Transition` component might be enough, but\n * > take into account that it's platform-agnostic, while the `CSSTransition` component\n * > [forces reflows](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * > in order to make more complex transitions more predictable. For example, even though\n * > classes `example-enter` and `example-enter-active` are applied immediately one after\n * > another, you can still transition from one to the other because of the forced reflow\n * > (read [this issue](https://github.com/reactjs/react-transition-group/issues/159#issuecomment-322761171)\n * > for more info). Take this into account when choosing between `Transition` and\n * > `CSSTransition`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(Transition, _React$Component);\n\n  function Transition(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n    var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n    var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n    var initialStatus;\n    _this.appearStatus = null;\n\n    if (props.in) {\n      if (appear) {\n        initialStatus = EXITED;\n        _this.appearStatus = ENTERING;\n      } else {\n        initialStatus = ENTERED;\n      }\n    } else {\n      if (props.unmountOnExit || props.mountOnEnter) {\n        initialStatus = UNMOUNTED;\n      } else {\n        initialStatus = EXITED;\n      }\n    }\n\n    _this.state = {\n      status: initialStatus\n    };\n    _this.nextCallback = null;\n    return _this;\n  }\n\n  var _proto = Transition.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: null // allows for nested Transitions\n\n    };\n  };\n\n  Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n    var nextIn = _ref.in;\n\n    if (nextIn && prevState.status === UNMOUNTED) {\n      return {\n        status: EXITED\n      };\n    }\n\n    return null;\n  }; // getSnapshotBeforeUpdate(prevProps) {\n  //   let nextStatus = null\n  //   if (prevProps !== this.props) {\n  //     const { status } = this.state\n  //     if (this.props.in) {\n  //       if (status !== ENTERING && status !== ENTERED) {\n  //         nextStatus = ENTERING\n  //       }\n  //     } else {\n  //       if (status === ENTERING || status === ENTERED) {\n  //         nextStatus = EXITING\n  //       }\n  //     }\n  //   }\n  //   return { nextStatus }\n  // }\n\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.updateStatus(true, this.appearStatus);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var nextStatus = null;\n\n    if (prevProps !== this.props) {\n      var status = this.state.status;\n\n      if (this.props.in) {\n        if (status !== ENTERING && status !== ENTERED) {\n          nextStatus = ENTERING;\n        }\n      } else {\n        if (status === ENTERING || status === ENTERED) {\n          nextStatus = EXITING;\n        }\n      }\n    }\n\n    this.updateStatus(false, nextStatus);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.cancelNextCallback();\n  };\n\n  _proto.getTimeouts = function getTimeouts() {\n    var timeout = this.props.timeout;\n    var exit, enter, appear;\n    exit = enter = appear = timeout;\n\n    if (timeout != null && typeof timeout !== 'number') {\n      exit = timeout.exit;\n      enter = timeout.enter;\n      appear = timeout.appear;\n    }\n\n    return {\n      exit: exit,\n      enter: enter,\n      appear: appear\n    };\n  };\n\n  _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n    if (mounting === void 0) {\n      mounting = false;\n    }\n\n    if (nextStatus !== null) {\n      // nextStatus will always be ENTERING or EXITING.\n      this.cancelNextCallback();\n\n      var node = _reactDom.default.findDOMNode(this);\n\n      if (nextStatus === ENTERING) {\n        this.performEnter(node, mounting);\n      } else {\n        this.performExit(node);\n      }\n    } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n      this.setState({\n        status: UNMOUNTED\n      });\n    }\n  };\n\n  _proto.performEnter = function performEnter(node, mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n    var timeouts = this.getTimeouts(); // no enter animation skip right to ENTERED\n    // if we are mounting and running this it means appear _must_ be set\n\n    if (!mounting && !enter) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(node);\n      });\n      return;\n    }\n\n    this.props.onEnter(node, appearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(node, appearing); // FIXME: appear timeout?\n\n\n      _this2.onTransitionEnd(node, timeouts.enter, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(node, appearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit(node) {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n    if (!exit) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(node);\n      });\n      return;\n    }\n\n    this.props.onExit(node);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(node);\n\n      _this3.onTransitionEnd(node, timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(node);\n        });\n      });\n    });\n  };\n\n  _proto.cancelNextCallback = function cancelNextCallback() {\n    if (this.nextCallback !== null) {\n      this.nextCallback.cancel();\n      this.nextCallback = null;\n    }\n  };\n\n  _proto.safeSetState = function safeSetState(nextState, callback) {\n    // This shouldn't be necessary, but there are weird race conditions with\n    // setState callbacks and unmounting in testing, so always make sure that\n    // we can cancel any pending setState callbacks after we unmount.\n    callback = this.setNextCallback(callback);\n    this.setState(nextState, callback);\n  };\n\n  _proto.setNextCallback = function setNextCallback(callback) {\n    var _this4 = this;\n\n    var active = true;\n\n    this.nextCallback = function (event) {\n      if (active) {\n        active = false;\n        _this4.nextCallback = null;\n        callback(event);\n      }\n    };\n\n    this.nextCallback.cancel = function () {\n      active = false;\n    };\n\n    return this.nextCallback;\n  };\n\n  _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n    this.setNextCallback(handler);\n\n    if (node) {\n      if (this.props.addEndListener) {\n        this.props.addEndListener(node, this.nextCallback);\n      }\n\n      if (timeout != null) {\n        setTimeout(this.nextCallback, timeout);\n      }\n    } else {\n      setTimeout(this.nextCallback, 0);\n    }\n  };\n\n  _proto.render = function render() {\n    var status = this.state.status;\n\n    if (status === UNMOUNTED) {\n      return null;\n    }\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n    delete childProps.in;\n    delete childProps.mountOnEnter;\n    delete childProps.unmountOnExit;\n    delete childProps.appear;\n    delete childProps.enter;\n    delete childProps.exit;\n    delete childProps.timeout;\n    delete childProps.addEndListener;\n    delete childProps.onEnter;\n    delete childProps.onEntering;\n    delete childProps.onEntered;\n    delete childProps.onExit;\n    delete childProps.onExiting;\n    delete childProps.onExited;\n\n    if (typeof children === 'function') {\n      return children(status, childProps);\n    }\n\n    var child = _react.default.Children.only(children);\n\n    return _react.default.cloneElement(child, childProps);\n  };\n\n  return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n  transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n  transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes =  true ? {\n  /**\n   * A `function` child can be used instead of a React element.\n   * This function is called with the current transition status\n   * ('entering', 'entered', 'exiting', 'exited', 'unmounted'), which can be used\n   * to apply context specific props to a component.\n   *\n   * ```jsx\n   * <Transition timeout={150}>\n   *   {(status) => (\n   *     <MyComponent className={`fade fade-${status}`} />\n   *   )}\n   * </Transition>\n   * ```\n   */\n  children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n  /**\n   * Show the component; triggers the enter or exit states\n   */\n  in: PropTypes.bool,\n\n  /**\n   * By default the child component is mounted immediately along with\n   * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n   * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n   */\n  mountOnEnter: PropTypes.bool,\n\n  /**\n   * By default the child component stays mounted after it reaches the `'exited'` state.\n   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n   */\n  unmountOnExit: PropTypes.bool,\n\n  /**\n   * Normally a component is not transitioned if it is shown when the `<Transition>` component mounts.\n   * If you want to transition on the first mount set `appear` to `true`, and the\n   * component will transition in as soon as the `<Transition>` mounts.\n   *\n   * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * Enable or disable enter transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * Enable or disable exit transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * The duration of the transition, in milliseconds.\n   * Required unless `addEndListener` is provided\n   *\n   * You may specify a single timeout for all transitions like: `timeout={500}`,\n   * or individually like:\n   *\n   * ```jsx\n   * timeout={{\n   *  enter: 300,\n   *  exit: 500,\n   * }}\n   * ```\n   *\n   * @type {number | { enter?: number, exit?: number }}\n   */\n  timeout: function timeout(props) {\n    var pt =  true ? _PropTypes.timeoutsShape : undefined;;\n    if (!props.addEndListener) pt = pt.isRequired;\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return pt.apply(void 0, [props].concat(args));\n  },\n\n  /**\n   * Add a custom transition end trigger. Called with the transitioning\n   * DOM node and a `done` callback. Allows for more fine grained transition end\n   * logic. **Note:** Timeouts are still used as a fallback if provided.\n   *\n   * ```jsx\n   * addEndListener={(node, done) => {\n   *   // use the css transitionend event to mark the finish of a transition\n   *   node.addEventListener('transitionend', done, false);\n   * }}\n   * ```\n   */\n  addEndListener: PropTypes.func,\n\n  /**\n   * Callback fired before the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entered\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * Callback fired before the \"exiting\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exited\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : undefined;\n\nfunction noop() {}\n\nTransition.defaultProps = {\n  in: false,\n  mountOnEnter: false,\n  unmountOnExit: false,\n  appear: false,\n  enter: true,\n  exit: true,\n  onEnter: noop,\n  onEntering: noop,\n  onEntered: noop,\n  onExit: noop,\n  onExiting: noop,\n  onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/react-transition-group/Transition.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-transition-group/TransitionGroup.js":
+/*! no static exports found */function(e,t,n){"use strict";t.__esModule=!0,t.default=t.EXITING=t.ENTERED=t.ENTERING=t.EXITED=t.UNMOUNTED=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(/*! prop-types */"./node_modules/prop-types/index.js")),o=l(n(/*! react */"react")),s=l(n(/*! react-dom */"react-dom")),a=n(/*! react-lifecycles-compat */"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js"),i=n(/*! ./utils/PropTypes */"./node_modules/react-transition-group/utils/PropTypes.js");function l(e){return e&&e.__esModule?e:{default:e}}var u="unmounted";t.UNMOUNTED=u;var c="exited";t.EXITED=c;var d="entering";t.ENTERING=d;var p="entered";t.ENTERED=p;t.EXITING="exiting";var m=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var o,s=n.transitionGroup,a=s&&!s.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?a?(o=c,r.appearStatus=d):o=p:o=t.unmountOnExit||t.mountOnEnter?u:c,r.state={status:o},r.nextCallback=null,r}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.getChildContext=function(){return{transitionGroup:null}},t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===u?{status:c}:null},n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==d&&n!==p&&(t=d):n!==d&&n!==p||(t="exiting")}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t){this.cancelNextCallback();var n=s.default.findDOMNode(this);t===d?this.performEnter(n,e):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===c&&this.setState({status:u})},n.performEnter=function(e,t){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:t,s=this.getTimeouts(),a=o?s.appear:s.enter;t||r?(this.props.onEnter(e,o),this.safeSetState({status:d},function(){n.props.onEntering(e,o),n.onTransitionEnd(e,a,function(){n.safeSetState({status:p},function(){n.props.onEntered(e,o)})})})):this.safeSetState({status:p},function(){n.props.onEntered(e)})},n.performExit=function(e){var t=this,n=this.props.exit,r=this.getTimeouts();n?(this.props.onExit(e),this.safeSetState({status:"exiting"},function(){t.props.onExiting(e),t.onTransitionEnd(e,r.exit,function(){t.safeSetState({status:c},function(){t.props.onExited(e)})})})):this.safeSetState({status:c},function(){t.props.onExited(e)})},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t,n){this.setNextCallback(n);var r=null==t&&!this.props.addEndListener;e&&!r?(this.props.addEndListener&&this.props.addEndListener(e,this.nextCallback),null!=t&&setTimeout(this.nextCallback,t)):setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===u)return null;var t=this.props,n=t.children,r=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"==typeof n)return n(e,r);var s=o.default.Children.only(n);return o.default.cloneElement(s,r)},t}(o.default.Component);function f(){}m.contextTypes={transitionGroup:r.object},m.childContextTypes={transitionGroup:function(){}},m.propTypes={children:r.oneOfType([r.func.isRequired,r.element.isRequired]).isRequired,in:r.bool,mountOnEnter:r.bool,unmountOnExit:r.bool,appear:r.bool,enter:r.bool,exit:r.bool,timeout:function(e){var t=i.timeoutsShape;e.addEndListener||(t=t.isRequired);for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.apply(void 0,[e].concat(r))},addEndListener:r.func,onEnter:r.func,onEntering:r.func,onEntered:r.func,onExit:r.func,onExiting:r.func,onExited:r.func},m.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:f,onEntering:f,onEntered:f,onExit:f,onExiting:f,onExited:f},m.UNMOUNTED=0,m.EXITED=1,m.ENTERING=2,m.ENTERED=3,m.EXITING=4;var h=(0,a.polyfill)(m);t.default=h},"./node_modules/react-transition-group/TransitionGroup.js":
 /*!****************************************************************!*\
   !*** ./node_modules/react-transition-group/TransitionGroup.js ***!
   \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\n\nvar _reactLifecyclesCompat = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n\nvar _ChildMapping = __webpack_require__(/*! ./utils/ChildMapping */ \"./node_modules/react-transition-group/utils/ChildMapping.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n  return Object.keys(obj).map(function (k) {\n    return obj[k];\n  });\n};\n\nvar propTypes =  true ? {\n  /**\n   * `<TransitionGroup>` renders a `<div>` by default. You can change this\n   * behavior by providing a `component` prop.\n   * If you use React v16+ and would like to avoid a wrapping `<div>` element\n   * you can pass in `component={null}`. This is useful if the wrapping div\n   * borks your css styles.\n   */\n  component: _propTypes.default.any,\n\n  /**\n   * A set of `<Transition>` components, that are toggled `in` and out as they\n   * leave. the `<TransitionGroup>` will inject specific transition props, so\n   * remember to spread them through if you are wrapping the `<Transition>` as\n   * with our `<Fade>` example.\n   */\n  children: _propTypes.default.node,\n\n  /**\n   * A convenience prop that enables or disables appear animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  appear: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables enter animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  enter: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables exit animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  exit: _propTypes.default.bool,\n\n  /**\n   * You may need to apply reactive updates to a child as it is exiting.\n   * This is generally done by using `cloneElement` however in the case of an exiting\n   * child the element has already been removed and not accessible to the consumer.\n   *\n   * If you do need to update a child as it leaves you can provide a `childFactory`\n   * to wrap every child, even the ones that are leaving.\n   *\n   * @type Function(child: ReactElement) -> ReactElement\n   */\n  childFactory: _propTypes.default.func\n} : undefined;;\nvar defaultProps = {\n  component: 'div',\n  childFactory: function childFactory(child) {\n    return child;\n  }\n  /**\n   * The `<TransitionGroup>` component manages a set of transition components\n   * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n   * components, `<TransitionGroup>` is a state machine for managing the mounting\n   * and unmounting of components over time.\n   *\n   * Consider the example below. As items are removed or added to the TodoList the\n   * `in` prop is toggled automatically by the `<TransitionGroup>`.\n   *\n   * Note that `<TransitionGroup>`  does not define any animation behavior!\n   * Exactly _how_ a list item animates is up to the individual transition\n   * component. This means you can mix and match animations across different list\n   * items.\n   */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(TransitionGroup, _React$Component);\n\n  function TransitionGroup(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n\n    var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n    _this.state = {\n      handleExited: handleExited,\n      firstRender: true\n    };\n    return _this;\n  }\n\n  var _proto = TransitionGroup.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: {\n        isMounting: !this.appeared\n      }\n    };\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.appeared = true;\n  };\n\n  TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n    var prevChildMapping = _ref.children,\n        handleExited = _ref.handleExited,\n        firstRender = _ref.firstRender;\n    return {\n      children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n      firstRender: false\n    };\n  };\n\n  _proto.handleExited = function handleExited(child, node) {\n    var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n    if (child.key in currentChildMapping) return;\n\n    if (child.props.onExited) {\n      child.props.onExited(node);\n    }\n\n    this.setState(function (state) {\n      var children = _extends({}, state.children);\n\n      delete children[child.key];\n      return {\n        children: children\n      };\n    });\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        Component = _this$props.component,\n        childFactory = _this$props.childFactory,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n    var children = values(this.state.children).map(childFactory);\n    delete props.appear;\n    delete props.enter;\n    delete props.exit;\n\n    if (Component === null) {\n      return children;\n    }\n\n    return _react.default.createElement(Component, props, children);\n  };\n\n  return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n  transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes =  true ? propTypes : undefined;\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n//# sourceURL=webpack:///./node_modules/react-transition-group/TransitionGroup.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-transition-group/index.js":
+/*! no static exports found */function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=i(n(/*! prop-types */"./node_modules/prop-types/index.js")),o=i(n(/*! react */"react")),s=n(/*! react-lifecycles-compat */"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js"),a=n(/*! ./utils/ChildMapping */"./node_modules/react-transition-group/utils/ChildMapping.js");function i(e){return e&&e.__esModule?e:{default:e}}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var c=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},d=function(e){function t(t,n){var r,o=(r=e.call(this,t,n)||this).handleExited.bind(u(u(r)));return r.state={handleExited:o,firstRender:!0},r}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.getChildContext=function(){return{transitionGroup:{isMounting:!this.appeared}}},n.componentDidMount=function(){this.appeared=!0,this.mounted=!0},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n=t.children,r=t.handleExited;return{children:t.firstRender?(0,a.getInitialChildMapping)(e,r):(0,a.getNextChildMapping)(e,n,r),firstRender:!1}},n.handleExited=function(e,t){var n=(0,a.getChildMapping)(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState(function(t){var n=l({},t.children);return delete n[e.key],{children:n}}))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["component","childFactory"]),s=c(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?s:o.default.createElement(t,r,s)},t}(o.default.Component);d.childContextTypes={transitionGroup:r.default.object.isRequired},d.propTypes={component:r.default.any,children:r.default.node,appear:r.default.bool,enter:r.default.bool,exit:r.default.bool,childFactory:r.default.func},d.defaultProps={component:"div",childFactory:function(e){return e}};var p=(0,s.polyfill)(d);t.default=p,e.exports=t.default},"./node_modules/react-transition-group/index.js":
 /*!******************************************************!*\
   !*** ./node_modules/react-transition-group/index.js ***!
   \******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nvar _CSSTransition = _interopRequireDefault(__webpack_require__(/*! ./CSSTransition */ \"./node_modules/react-transition-group/CSSTransition.js\"));\n\nvar _ReplaceTransition = _interopRequireDefault(__webpack_require__(/*! ./ReplaceTransition */ \"./node_modules/react-transition-group/ReplaceTransition.js\"));\n\nvar _TransitionGroup = _interopRequireDefault(__webpack_require__(/*! ./TransitionGroup */ \"./node_modules/react-transition-group/TransitionGroup.js\"));\n\nvar _Transition = _interopRequireDefault(__webpack_require__(/*! ./Transition */ \"./node_modules/react-transition-group/Transition.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n  Transition: _Transition.default,\n  TransitionGroup: _TransitionGroup.default,\n  ReplaceTransition: _ReplaceTransition.default,\n  CSSTransition: _CSSTransition.default\n};\n\n//# sourceURL=webpack:///./node_modules/react-transition-group/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-transition-group/utils/ChildMapping.js":
+/*! no static exports found */function(e,t,n){"use strict";var r=i(n(/*! ./CSSTransition */"./node_modules/react-transition-group/CSSTransition.js")),o=i(n(/*! ./ReplaceTransition */"./node_modules/react-transition-group/ReplaceTransition.js")),s=i(n(/*! ./TransitionGroup */"./node_modules/react-transition-group/TransitionGroup.js")),a=i(n(/*! ./Transition */"./node_modules/react-transition-group/Transition.js"));function i(e){return e&&e.__esModule?e:{default:e}}e.exports={Transition:a.default,TransitionGroup:s.default,ReplaceTransition:o.default,CSSTransition:r.default}},"./node_modules/react-transition-group/utils/ChildMapping.js":
 /*!*******************************************************************!*\
   !*** ./node_modules/react-transition-group/utils/ChildMapping.js ***!
   \*******************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n  var mapper = function mapper(child) {\n    return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n  };\n\n  var result = Object.create(null);\n  if (children) _react.Children.map(children, function (c) {\n    return c;\n  }).forEach(function (child) {\n    // run the map function here instead so that the key is the computed one\n    result[child.key] = mapper(child);\n  });\n  return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n  prev = prev || {};\n  next = next || {};\n\n  function getValueForKey(key) {\n    return key in next ? next[key] : prev[key];\n  } // For each key of `next`, the list of keys to insert before that key in\n  // the combined list\n\n\n  var nextKeysPending = Object.create(null);\n  var pendingKeys = [];\n\n  for (var prevKey in prev) {\n    if (prevKey in next) {\n      if (pendingKeys.length) {\n        nextKeysPending[prevKey] = pendingKeys;\n        pendingKeys = [];\n      }\n    } else {\n      pendingKeys.push(prevKey);\n    }\n  }\n\n  var i;\n  var childMapping = {};\n\n  for (var nextKey in next) {\n    if (nextKeysPending[nextKey]) {\n      for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n        var pendingNextKey = nextKeysPending[nextKey][i];\n        childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n      }\n    }\n\n    childMapping[nextKey] = getValueForKey(nextKey);\n  } // Finally, add the keys which didn't appear before any key in `next`\n\n\n  for (i = 0; i < pendingKeys.length; i++) {\n    childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n  }\n\n  return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n  return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n  return getChildMapping(props.children, function (child) {\n    return (0, _react.cloneElement)(child, {\n      onExited: onExited.bind(null, child),\n      in: true,\n      appear: getProp(child, 'appear', props),\n      enter: getProp(child, 'enter', props),\n      exit: getProp(child, 'exit', props)\n    });\n  });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n  var nextChildMapping = getChildMapping(nextProps.children);\n  var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n  Object.keys(children).forEach(function (key) {\n    var child = children[key];\n    if (!(0, _react.isValidElement)(child)) return;\n    var hasPrev = key in prevChildMapping;\n    var hasNext = key in nextChildMapping;\n    var prevChild = prevChildMapping[key];\n    var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n    if (hasNext && (!hasPrev || isLeaving)) {\n      // console.log('entering', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        onExited: onExited.bind(null, child),\n        in: true,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    } else if (!hasNext && hasPrev && !isLeaving) {\n      // item is old (exiting)\n      // console.log('leaving', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        in: false\n      });\n    } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n      // item hasn't changed transition states\n      // copy over the last transition props;\n      // console.log('unchanged', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        onExited: onExited.bind(null, child),\n        in: prevChild.props.in,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    }\n  });\n  return children;\n}\n\n//# sourceURL=webpack:///./node_modules/react-transition-group/utils/ChildMapping.js?");
-
-/***/ }),
-
-/***/ "./node_modules/react-transition-group/utils/PropTypes.js":
+/*! no static exports found */function(e,t,n){"use strict";t.__esModule=!0,t.getChildMapping=o,t.mergeChildMappings=s,t.getInitialChildMapping=function(e,t){return o(e.children,function(n){return(0,r.cloneElement)(n,{onExited:t.bind(null,n),in:!0,appear:a(n,"appear",e),enter:a(n,"enter",e),exit:a(n,"exit",e)})})},t.getNextChildMapping=function(e,t,n){var i=o(e.children),l=s(t,i);return Object.keys(l).forEach(function(o){var s=l[o];if((0,r.isValidElement)(s)){var u=o in t,c=o in i,d=t[o],p=(0,r.isValidElement)(d)&&!d.props.in;!c||u&&!p?c||!u||p?c&&u&&(0,r.isValidElement)(d)&&(l[o]=(0,r.cloneElement)(s,{onExited:n.bind(null,s),in:d.props.in,exit:a(s,"exit",e),enter:a(s,"enter",e)})):l[o]=(0,r.cloneElement)(s,{in:!1}):l[o]=(0,r.cloneElement)(s,{onExited:n.bind(null,s),in:!0,exit:a(s,"exit",e),enter:a(s,"enter",e)})}}),l};var r=n(/*! react */"react");function o(e,t){var n=Object.create(null);return e&&r.Children.map(e,function(e){return e}).forEach(function(e){n[e.key]=function(e){return t&&(0,r.isValidElement)(e)?t(e):e}(e)}),n}function s(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var r,o=Object.create(null),s=[];for(var a in e)a in t?s.length&&(o[a]=s,s=[]):s.push(a);var i={};for(var l in t){if(o[l])for(r=0;r<o[l].length;r++){var u=o[l][r];i[o[l][r]]=n(u)}i[l]=n(l)}for(r=0;r<s.length;r++)i[s[r]]=n(s[r]);return i}function a(e,t,n){return null!=n[t]?n[t]:e.props[t]}},"./node_modules/react-transition-group/utils/PropTypes.js":
 /*!****************************************************************!*\
   !*** ./node_modules/react-transition-group/utils/PropTypes.js ***!
   \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-eval("\n\nexports.__esModule = true;\nexports.transitionTimeout = transitionTimeout;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transitionTimeout(transitionType) {\n  var timeoutPropName = 'transition' + transitionType + 'Timeout';\n  var enabledPropName = 'transition' + transitionType;\n  return function (props) {\n    // If the transition is enabled\n    if (props[enabledPropName]) {\n      // If no timeout duration is provided\n      if (props[timeoutPropName] == null) {\n        return new Error(timeoutPropName + ' wasn\\'t supplied to CSSTransitionGroup: ' + 'this can cause unreliable animations and won\\'t be supported in ' + 'a future version of React. See ' + 'https://fb.me/react-animation-transition-group-timeout for more ' + 'information.'); // If the duration isn't a number\n      } else if (typeof props[timeoutPropName] !== 'number') {\n        return new Error(timeoutPropName + ' must be a number (in milliseconds)');\n      }\n    }\n\n    return null;\n  };\n}\n\nvar timeoutsShape = _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n  enter: _propTypes.default.number,\n  exit: _propTypes.default.number\n}).isRequired]);\n\nexports.timeoutsShape = timeoutsShape;\n\nvar classNamesShape = _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  active: _propTypes.default.string\n}), _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  enterDone: _propTypes.default.string,\n  enterActive: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  exitDone: _propTypes.default.string,\n  exitActive: _propTypes.default.string\n})]);\n\nexports.classNamesShape = classNamesShape;\n\n//# sourceURL=webpack:///./node_modules/react-transition-group/utils/PropTypes.js?");
-
-/***/ }),
-
-/***/ "./node_modules/stylis-rule-sheet/index.js":
+/*! no static exports found */function(e,t,n){"use strict";t.__esModule=!0,t.classNamesShape=t.timeoutsShape=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(/*! prop-types */"./node_modules/prop-types/index.js"));var o=r.default.oneOfType([r.default.number,r.default.shape({enter:r.default.number,exit:r.default.number,appear:r.default.number}).isRequired]);t.timeoutsShape=o;var s=r.default.oneOfType([r.default.string,r.default.shape({enter:r.default.string,exit:r.default.string,active:r.default.string}),r.default.shape({enter:r.default.string,enterDone:r.default.string,enterActive:r.default.string,exit:r.default.string,exitDone:r.default.string,exitActive:r.default.string})]);t.classNamesShape=s},"./node_modules/stylis-rule-sheet/index.js":
 /*!*************************************************!*\
   !*** ./node_modules/stylis-rule-sheet/index.js ***!
   \*************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("(function (factory) {\n\t true ? (module['exports'] = factory()) :\n\t\tundefined\n}(function () {\n\n\t'use strict'\n\n\treturn function (insertRule) {\n\t\tvar delimiter = '/*|*/'\n\t\tvar needle = delimiter+'}'\n\n\t\tfunction toSheet (block) {\n\t\t\tif (block)\n\t\t\t\ttry {\n\t\t\t\t\tinsertRule(block + '}')\n\t\t\t\t} catch (e) {}\n\t\t}\n\n\t\treturn function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {\n\t\t\tswitch (context) {\n\t\t\t\t// property\n\t\t\t\tcase 1:\n\t\t\t\t\t// @import\n\t\t\t\t\tif (depth === 0 && content.charCodeAt(0) === 64)\n\t\t\t\t\t\treturn insertRule(content+';'), ''\n\t\t\t\t\tbreak\n\t\t\t\t// selector\n\t\t\t\tcase 2:\n\t\t\t\t\tif (ns === 0)\n\t\t\t\t\t\treturn content + delimiter\n\t\t\t\t\tbreak\n\t\t\t\t// at-rule\n\t\t\t\tcase 3:\n\t\t\t\t\tswitch (ns) {\n\t\t\t\t\t\t// @font-face, @page\n\t\t\t\t\t\tcase 102:\n\t\t\t\t\t\tcase 112:\n\t\t\t\t\t\t\treturn insertRule(selectors[0]+content), ''\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn content + (at === 0 ? delimiter : '')\n\t\t\t\t\t}\n\t\t\t\tcase -2:\n\t\t\t\t\tcontent.split(needle).forEach(toSheet)\n\t\t\t}\n\t\t}\n\t}\n}))\n\n\n//# sourceURL=webpack:///./node_modules/stylis-rule-sheet/index.js?");
-
-/***/ }),
-
-/***/ "./node_modules/webpack/buildin/global.js":
+/*! no static exports found */function(e,t,n){e.exports=function(){"use strict";return function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,o,s,a,i,l,u,c,d){switch(n){case 1:if(0===c&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===u)return r+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),"";default:return r+(0===d?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}}()},"./node_modules/webpack/buildin/global.js":
 /*!***********************************!*\
   !*** (webpack)/buildin/global.js ***!
   \***********************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("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 || Function(\"return this\")() || (1, eval)(\"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:///(webpack)/buildin/global.js?");
-
-/***/ }),
-
-/***/ "lodash":
+/*! no static exports found */function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},lodash:
 /*!*************************!*\
   !*** external "lodash" ***!
   \*************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("module.exports = lodash;\n\n//# sourceURL=webpack:///external_%22lodash%22?");
-
-/***/ }),
-
-/***/ "react":
+/*! no static exports found */function(e,t){e.exports=lodash},react:
 /*!************************!*\
   !*** external "React" ***!
   \************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("module.exports = React;\n\n//# sourceURL=webpack:///external_%22React%22?");
-
-/***/ }),
-
-/***/ "react-dom":
+/*! no static exports found */function(e,t){e.exports=React},"react-dom":
 /*!***************************!*\
   !*** external "ReactDOM" ***!
   \***************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("module.exports = ReactDOM;\n\n//# sourceURL=webpack:///external_%22ReactDOM%22?");
-
-/***/ })
-
-/******/ });
\ No newline at end of file
+/*! no static exports found */function(e,t){e.exports=ReactDOM}});
\ No newline at end of file
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/blocks.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/blocks.js
index 3551136d8..4ceb45ee5 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/blocks.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/blocks.js
@@ -6,10 +6,16 @@ const { registerBlockType } = wp.blocks;
 /**
  * Internal dependencies
  */
+import * as organizers from './organizers/';
+import * as sessions from './sessions/';
 import * as speakers from './speakers/';
+import * as sponsors from './sponsors/';
 
 [
+	organizers,
+	sessions,
 	speakers,
+	sponsors,
 ].forEach( ( { name, settings } ) => {
 	registerBlockType( name, settings );
 } );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/block-content.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/block-content.js
new file mode 100644
index 000000000..3cc368b77
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/block-content.js
@@ -0,0 +1,65 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Component } = wp.element;
+const { __ }        = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { AvatarImage }                from '../shared/avatar';
+import {ItemTitle, ItemHTMLContent, ItemPermalink} from '../shared/block-content';
+import GridContentLayout              from '../shared/grid-layout/block-content';
+
+class OrganizersBlockContent extends Component {
+	render() {
+		const { attributes, organizerPosts }                                     = this.props;
+		const { show_avatars, avatar_size, avatar_align, content } = attributes;
+
+		return (
+			<GridContentLayout
+				className="wordcamp-organizers-block"
+				{ ...this.props }
+			>
+				{ organizerPosts.map( ( post ) => /* Note that organizer posts are not 'public', so there are no permalinks. */
+					<div
+						key={ post.slug }
+						className={ classnames(
+							'wordcamp-organizer',
+							'wordcamp-organizer-' + post.slug.trim(),
+						) }
+					>
+						<ItemTitle
+							className="wordcamp-organizer-title"
+							headingLevel={ 3 }
+							title={ post.title.rendered.trim() }
+						/>
+
+						{ show_avatars &&
+							<AvatarImage
+								className={ classnames( 'wordcamp-organizer-avatar-container', 'align-' + avatar_align ) }
+								name={ post.title.rendered.trim() || '' }
+								size={ avatar_size }
+								url={ post.avatar_urls[ '24' ] }
+							/>
+						}
+
+						{ ( 'none' !== content ) &&
+							<ItemHTMLContent
+								className={ classnames( 'wordcamp-organizer-content-' + content ) }
+								content={  'full' === content ? post.content.rendered.trim() : post.excerpt.rendered.trim() }
+							/>
+						}
+					</div>,
+				) }
+			</GridContentLayout>
+		);
+	}
+}
+
+export default OrganizersBlockContent;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/block-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/block-controls.js
new file mode 100644
index 000000000..84d9d8ef2
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/block-controls.js
@@ -0,0 +1,96 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Button, Placeholder } = wp.components;
+const { __ }                  = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { BlockControls, PlaceholderNoContent, PlaceholderSpecificMode } from '../shared/block-controls';
+import OrganizersBlockContent                                           from './block-content';
+import OrganizersSelect                                                 from './organizers-select';
+import { LABEL }                                                        from './index';
+
+class OrganizersBlockControls extends BlockControls {
+	render() {
+		const { icon, attributes, setAttributes, organizerPosts } = this.props;
+		const { mode }                                            = attributes;
+
+		const hasPosts = Array.isArray( organizerPosts ) && organizerPosts.length;
+
+		if ( mode && ! hasPosts ) {
+			return (
+				<PlaceholderNoContent
+					icon={ icon }
+					label={ LABEL }
+					loading={ ! Array.isArray( organizerPosts ) }
+				/>
+			);
+		}
+
+		let output;
+
+		switch ( mode ) {
+			case 'all' :
+				output = (
+					<OrganizersBlockContent { ...this.props } />
+				);
+				break;
+
+			case 'wcb_organizer' :
+			case 'wcb_organizer_team' :
+				output = (
+					<PlaceholderSpecificMode
+						label={ this.getModeLabel( mode ) }
+						icon={ icon }
+						content={
+							<OrganizersBlockContent { ...this.props } />
+						}
+						placeholderChildren={
+							<OrganizersSelect { ...this.props } />
+						}
+					/>
+				);
+				break;
+
+			default :
+				output = (
+					<Placeholder
+						className={ classnames( 'wordcamp-block-edit-placeholder', 'wordcamp-block-edit-placeholder-no-mode' ) }
+						icon={ icon }
+						label={ LABEL }
+					>
+						<div className="wordcamp-block-edit-mode-option">
+							<Button
+								isDefault
+								isLarge
+								onClick={ () => {
+									setAttributes( { mode: 'all' } );
+								} }
+							>
+								{ this.getModeLabel( 'all' ) }
+							</Button>
+						</div>
+
+						<div className="wordcamp-block-edit-mode-option">
+							<OrganizersSelect
+								label={ __( 'Choose specific organizers or teams', 'wordcamporg' ) }
+								{ ...this.props }
+							/>
+						</div>
+					</Placeholder>
+				);
+				break;
+		}
+
+		return output;
+	}
+}
+
+export default OrganizersBlockControls;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/edit.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/edit.js
new file mode 100644
index 000000000..74f07e44b
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/edit.js
@@ -0,0 +1,120 @@
+/**
+ * External dependencies
+ */
+import { isUndefined, pickBy, split } from 'lodash';
+
+/**
+ * WordPress dependencies
+ */
+const apiFetch                = wp.apiFetch;
+const { withSelect }          = wp.data;
+const { Component, Fragment } = wp.element;
+const { addQueryArgs }        = wp.url;
+
+/**
+ * Internal dependencies
+ */
+import OrganizersBlockControls     from './block-controls';
+import OrganizersInspectorControls from './inspector-controls';
+import OrganizersToolbar           from './toolbar';
+import { ICON }                    from './index';
+
+const blockData = window.WordCampBlocks.organizers || {};
+const MAX_POSTS = 100;
+
+const ALL_POSTS_QUERY = {
+	orderby  : 'title',
+	order    : 'asc',
+	per_page : MAX_POSTS,
+};
+
+const ALL_TERMS_QUERY = {
+	orderby  : 'name',
+	order    : 'asc',
+	per_page : MAX_POSTS,
+};
+
+class OrganizersEdit extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.state = {
+			allOrganizerPosts : null,
+			allOrganizerTerms : null,
+		};
+
+		this.fetchOrganizerDetails();
+	}
+
+	fetchOrganizerDetails() {
+		const allOrganizerPosts = apiFetch( {
+			path: addQueryArgs( '/wp/v2/organizers', ALL_POSTS_QUERY ),
+		} );
+
+		const allOrganizerTerms = apiFetch( {
+			path: addQueryArgs( '/wp/v2/organizer_team', ALL_TERMS_QUERY ),
+		} );
+
+		this.state = {
+			allOrganizerPosts : allOrganizerPosts, // Promise
+			allOrganizerTerms : allOrganizerTerms, // Promise
+		}
+	}
+
+	render() {
+		const { mode } = this.props.attributes;
+
+		return (
+			<Fragment>
+				<OrganizersBlockControls
+					icon={ ICON }
+					{ ...this.props }
+					{ ...this.state }
+				/>
+
+				{ '' !== mode &&
+					<Fragment>
+						<OrganizersInspectorControls { ...this.props } />
+						<OrganizersToolbar { ...this.props } />
+					</Fragment>
+				}
+			</Fragment>
+		);
+	}
+}
+
+const organizerSelect = ( select, props ) => {
+	const { mode, item_ids, sort } = props.attributes;
+	const { getEntityRecords }     = select( 'core' );
+	const [ orderby, order ]       = split( sort, '_', 2 );
+
+	const args = {
+		orderby  : orderby,
+		order    : order,
+		per_page : MAX_POSTS, // -1 is not allowed for per_page.
+		context  : 'view',
+	};
+
+	if ( Array.isArray( item_ids ) ) {
+		switch ( mode ) {
+			case 'wcb_organizer':
+				args.include = item_ids;
+				break;
+			case 'wcb_organizer_team':
+				args.organizer_team = item_ids;
+				break;
+		}
+	}
+
+	const organizersQuery = pickBy(
+		args,
+		( value ) => ! isUndefined( value )
+	);
+
+	return {
+		blockData      : blockData,
+		organizerPosts : getEntityRecords( 'postType', 'wcb_organizer', organizersQuery ),
+	};
+};
+
+export const edit = withSelect( organizerSelect )( OrganizersEdit );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/index.js
new file mode 100644
index 000000000..a34238297
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/index.js
@@ -0,0 +1,27 @@
+/**
+ * WordPress dependencies
+ */
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { edit } from './edit';
+
+export const name  = 'wordcamp/organizers';
+export const LABEL = __( 'Organizers', 'wordcamporg' );
+export const ICON  = 'groups';
+
+const supports = {
+	'align': [ 'wide', 'full' ],
+};
+
+export const settings = {
+	title       : __( 'Organizers',                'wordcamporg' ),
+	description : __( 'Add a list of organizers.', 'wordcamporg' ),
+	icon        : ICON,
+	category    : 'wordcamp',
+	supports    : supports,
+	edit        : edit,
+	save        : () => null,
+};
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/inspector-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/inspector-controls.js
new file mode 100644
index 000000000..e01651521
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/inspector-controls.js
@@ -0,0 +1,110 @@
+/**
+ * WordPress dependencies
+ */
+const { PanelBody, PanelRow, SelectControl, ToggleControl } = wp.components;
+const { InspectorControls }                                 = wp.editor;
+const { Component, Fragment }                               = wp.element;
+const { __ }                                                = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { AvatarSizeControl } from '../shared/avatar';
+import ImageAlignmentControl from '../shared/image-alignment';
+import GridInspectorControl  from '../shared/grid-layout/inspector-control';
+
+const DEFAULT_SCHEMA = {
+	grid_columns: {
+		default : 2,
+		minimum : 2,
+		maximum : 4,
+	},
+
+	avatar_size: {
+		default : 150,
+		minimum : 25,
+		maximum : 600,
+	},
+};
+
+const DEFAULT_OPTIONS = {
+	align   : {},
+	content : {},
+	sort    : {},
+};
+
+class OrganizerInspectorControls extends Component {
+	render() {
+		const { attributes, setAttributes, blockData }                                 = this.props;
+		const { show_avatars, avatar_size, avatar_align, content, sort } = attributes;
+		const { schema = DEFAULT_SCHEMA, options = DEFAULT_OPTIONS }                   = blockData;
+
+		return (
+			<InspectorControls>
+				<GridInspectorControl
+					{ ...this.props }
+				/>
+
+				<PanelBody title={ __( 'Avatar Settings', 'wordcamporg' ) } initialOpen={ true }>
+					<PanelRow>
+						<ToggleControl
+							label={ __( 'Show avatars', 'wordcamporg' ) }
+							checked={ show_avatars }
+							onChange={ ( value ) => setAttributes( { show_avatars: value } ) }
+						/>
+					</PanelRow>
+
+					{ show_avatars &&
+						<Fragment>
+							<PanelRow>
+								<AvatarSizeControl
+									label={ __( 'Size', 'wordcamporg' ) }
+									value={ Number( avatar_size ) }
+									initialPosition={ Number( schema.avatar_size.default ) }
+									onChange={ ( value ) => setAttributes( { avatar_size: value } ) }
+									rangeProps={ {
+										min : Number( schema.avatar_size.minimum ),
+										max : Number( schema.avatar_size.maximum ),
+									} }
+								/>
+							</PanelRow>
+
+							<PanelRow>
+								<ImageAlignmentControl
+									label={ __( 'Alignment', 'wordcamporg' ) }
+									value={ avatar_align }
+									onChange={ ( value ) => setAttributes( { avatar_align: value } ) }
+									alignOptions={ options.align_image }
+								/>
+							</PanelRow>
+						</Fragment>
+					}
+				</PanelBody>
+
+				<PanelBody title={ __( 'Content Settings', 'wordcamporg' ) } initialOpen={ false }>
+					<PanelRow>
+						<SelectControl
+							label={ __( 'Biography Length', 'wordcamporg' ) }
+							value={ content }
+							options={ options.content }
+							onChange={ ( value ) => setAttributes( { content: value } ) }
+						/>
+					</PanelRow>
+				</PanelBody>
+
+				<PanelBody title={ __( 'Sorting & Filtering', 'wordcamporg' ) } initialOpen={ false }>
+					<PanelRow>
+						<SelectControl
+							label={ __( 'Sort by', 'wordcamporg' ) }
+							value={ sort }
+							options={ options.sort }
+							onChange={ ( value ) => setAttributes( { sort: value } ) }
+						/>
+					</PanelRow>
+				</PanelBody>
+			</InspectorControls>
+		);
+	}
+}
+
+export default OrganizerInspectorControls;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/organizers-select.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/organizers-select.js
new file mode 100644
index 000000000..d4d243190
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/organizers-select.js
@@ -0,0 +1,191 @@
+/**
+ * External dependencies
+ */
+import { get, includes } from 'lodash';
+
+/**
+ * WordPress dependencies
+ */
+const { Dashicon }  = wp.components;
+const { Component } = wp.element;
+const { __ }        = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { AvatarImage } from '../shared/avatar';
+import ItemSelect  from '../shared/item-select';
+import { ICON }    from './index';
+
+class OrganizersSelect extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.state = {
+			wcb_organizer      : [],
+			wcb_organizer_team : [],
+			loading            : true,
+		};
+
+		this.buildSelectOptions = this.buildSelectOptions.bind( this );
+		this.fetchSelectOptions( props );
+	}
+
+	fetchSelectOptions( props ) {
+		const { allOrganizerPosts, allOrganizerTerms } = props;
+
+		const parsedPosts = allOrganizerPosts.then(
+			( fetchedPosts ) => {
+				const posts = fetchedPosts.map( ( post ) => {
+					return {
+						label  : post.title.rendered.trim() || __( '(Untitled)', 'wordcamporg' ),
+						value  : post.id,
+						type   : 'wcb_organizer',
+						avatar : post.avatar_urls[ '24' ],
+					};
+				} );
+
+				this.setState( { wcb_organizer: posts } );
+			}
+		);
+
+		const parsedTerms = allOrganizerTerms.then(
+			( fetchedTerms ) => {
+				const terms = fetchedTerms.map( ( term ) => {
+					return {
+						label : term.name.trim() || __( '(Untitled)', 'wordcamporg' ),
+						value : term.id,
+						type  : 'wcb_organizer_team',
+						count : term.count,
+					};
+				} );
+
+				this.setState( { wcb_organizer_team: terms } );
+			}
+		);
+
+		Promise.all( [ parsedPosts, parsedTerms ] ).then( () => {
+			this.setState( { loading: false } );
+		} );
+	}
+
+	buildSelectOptions( mode ) {
+		const { getOwnPropertyDescriptors } = Object;
+		const options = [];
+
+		const labels = {
+			wcb_organizer      : __( 'Organizers', 'wordcamporg' ),
+			wcb_organizer_team : __( 'Teams',      'wordcamporg' ),
+		};
+
+		for ( const type in getOwnPropertyDescriptors( this.state ) ) {
+			if ( ! this.state[ type ].length ) {
+				continue;
+			}
+
+			if ( mode && type !== mode ) {
+				continue;
+			}
+
+			options.push( {
+				label   : labels[ type ],
+				options : this.state[ type ],
+			} );
+		}
+
+		return options;
+	}
+
+	render() {
+		const { label, attributes, setAttributes } = this.props;
+		const { mode, item_ids }                   = attributes;
+		const options                              = this.buildSelectOptions( mode );
+
+		let value = [];
+
+		if ( mode && item_ids.length ) {
+			const modeOptions = get( options, '[0].options', [] );
+
+			value = modeOptions.filter( ( option ) => {
+				return includes( item_ids, option.value );
+			} );
+		}
+
+		return (
+			<ItemSelect
+				className="wordcamp-organizer-select"
+				label={ label }
+				value={ value }
+				buildSelectOptions={ this.buildSelectOptions }
+				onChange={ ( changed ) => setAttributes( changed ) }
+				mode={ mode }
+				selectProps={ {
+					isLoading        : this.state.loading,
+					formatGroupLabel : ( groupData ) => {
+						return (
+							<span className="wordcamp-item-select-option-group-label">
+								{ groupData.label }
+							</span>
+						);
+					},
+					formatOptionLabel: ( optionData ) => {
+						return (
+							<OrganizersOption { ...optionData } />
+						);
+					},
+				} }
+			/>
+		);
+	}
+}
+
+function OrganizersOption( { type, label = '', avatar = '', count = 0 } ) {
+	let image, content;
+
+	switch ( type ) {
+		case 'wcb_organizer' :
+			image = (
+				<AvatarImage
+					className="wordcamp-item-select-option-avatar"
+					name={ label }
+					size={ 24 }
+					url={ avatar }
+				/>
+			);
+			content = (
+				<span className="wordcamp-item-select-option-label">
+					{ label }
+				</span>
+			);
+			break;
+
+		case 'wcb_organizer_team' :
+			image = (
+				<div className="wordcamp-item-select-option-icon-container">
+					<Dashicon
+						className="wordcamp-item-select-option-icon"
+						icon={ ICON }
+						size={ 16 }
+					/>
+				</div>
+			);
+			content = (
+				<span className="wordcamp-item-select-option-label">
+					{ label }
+					<span className="wordcamp-item-select-option-label-term-count">
+						{ count }
+					</span>
+				</span>
+			);
+			break;
+	}
+
+	return (
+		<div className="wordcamp-item-select-option">
+			{ image }
+			{ content }
+		</div>
+	);
+}
+
+export default OrganizersSelect;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/toolbar.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/toolbar.js
new file mode 100644
index 000000000..96eb0d946
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/organizers/toolbar.js
@@ -0,0 +1,36 @@
+/**
+ * WordPress dependencies
+ */
+const { Toolbar }        = wp.components;
+const { BlockControls }  = wp.editor;
+const { Component }      = wp.element;
+
+class OrganizersToolbar extends Component {
+	render() {
+		const { attributes, setAttributes, blockData } = this.props;
+		const { layout }                               = attributes;
+		const { layout: layoutOptions = {} }           = blockData.options;
+
+		const controls = layoutOptions.map( ( option ) => {
+			const icon     = `${ option.value }-view`;
+			const isActive = layout === option.value;
+
+			return {
+				icon     : icon,
+				title    : option.label,
+				isActive : isActive,
+				onClick  : () => {
+					setAttributes( { layout: option.value } );
+				},
+			};
+		} );
+
+		return (
+			<BlockControls>
+				<Toolbar controls={ controls } />
+			</BlockControls>
+		);
+	}
+}
+
+export default OrganizersToolbar;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/block-content.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/block-content.js
new file mode 100644
index 000000000..903efe97f
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/block-content.js
@@ -0,0 +1,208 @@
+/**
+ * External dependencies
+ */
+import { get } from 'lodash';
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Component } = wp.element;
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import {ItemTitle, ItemHTMLContent, ItemPermalink} from '../shared/block-content';
+import { tokenSplit, arrayTokenReplace, intersperse, listify } from '../shared/i18n';
+import GridContentLayout from '../shared/grid-layout/block-content';
+import FeaturedImage from '../shared/featured-image';
+
+function SessionSpeakers( { session } ) {
+	let speakerData = get( session, '_embedded.speakers', [] );
+
+	speakerData = speakerData.map( ( speaker ) => {
+		const { link = '' } = speaker;
+		let {  title = {} } = speaker;
+
+		title = title.rendered.trim() || __( 'Unnamed', 'wordcamporg' );
+
+		if ( ! link ) {
+			return title;
+		}
+
+		return (
+			<a
+				key={ link }
+				href={ link }
+			>
+				{ title }
+			</a>
+		);
+	} );
+
+	const speakers = arrayTokenReplace(
+		/* translators: %s is a list of names. */
+		tokenSplit( __( 'Presented by %s', 'wordcamporg' ) ),
+		[ listify( speakerData ) ]
+	);
+
+	return (
+		<div className="wordcamp-item-meta wordcamp-session-speakers">
+			{ speakers }
+		</div>
+	);
+}
+
+function SessionMeta( { session } ) {
+	let metaContent;
+	const terms = get( session, '_embedded[\'wp:term\']', [] ).flat();
+
+	if ( session.session_track.length ) {
+		const [ firstTrack ] = terms.filter( ( term ) => {
+			return 'wcb_track' === term.taxonomy;
+		} );
+
+		metaContent = arrayTokenReplace(
+			/* translators: 1: A date; 2: A time; 3: A location; */
+			tokenSplit( __( '%1$s at %2$s in %3$s', 'wordcamporg' ) ),
+			[
+				session.session_date_time.date,
+				session.session_date_time.time,
+				(
+					<span
+						key={ firstTrack.id }
+						className={ classnames( 'wordcamp-session-track', 'wordcamp-session-track-' + firstTrack.slug.trim() ) }
+					>
+						{ firstTrack.name.trim() }
+					</span>
+				),
+			]
+		);
+	} else {
+		metaContent = arrayTokenReplace(
+			/* translators: 1: A date; 2: A time; */
+			tokenSplit( __( '%1$s at %2$s', 'wordcamporg' ) ),
+			[
+				session.session_date_time.date,
+				session.session_date_time.time,
+			]
+		);
+	}
+
+	return (
+		<div className="wordcamp-session-time-location">
+			{ metaContent }
+		</div>
+	);
+}
+
+function SessionCategory( { session } ) {
+	let categoryContent;
+	const terms = get( session, '_embedded[\'wp:term\']', [] ).flat();
+
+	if ( session.session_category.length ) {
+		/* translators: used between list items, there is a space after the comma */
+		const separator = __( ', ', 'wordcamporg' );
+		const categories = terms
+			.filter( ( term ) => {
+				return 'wcb_session_category' === term.taxonomy;
+			} )
+			.map( ( term ) => {
+				return (
+					<span
+						key={ term.slug }
+						className={ classnames( 'wordcamp-session-category', 'wordcamp-session-category-' + term.slug ) }
+					>
+						{ term.name.trim() }
+					</span>
+				);
+			} );
+
+		categoryContent = intersperse( categories, separator );
+	}
+
+	return (
+		<div className="wordcamp-session-categories">
+			{ categoryContent }
+		</div>
+	);
+}
+
+class SessionsBlockContent extends Component {
+	hasSpeaker( session ) {
+		return get( session, '_embedded.speakers', [] ).length > 0;
+	}
+
+	render() {
+		const { attributes, sessionPosts } = this.props;
+		const { show_speaker, show_images, image_align, featured_image_width, content, show_meta, show_category } = attributes;
+
+		return (
+			<GridContentLayout
+				className="wordcamp-sessions-block"
+				{ ...this.props }
+			>
+				{ sessionPosts.map( ( post ) =>
+					<div
+						key={ post.slug }
+						className={ classnames(
+							'wordcamp-block-post-list-item',
+							'wordcamp-session',
+							'wordcamp-session-' + post.slug,
+							'wordcamp-clearfix'
+						) }
+					>
+						<ItemTitle
+							className="wordcamp-session-title"
+							headingLevel={ 3 }
+							title={ post.title.rendered.trim() }
+							link={ post.link }
+						/>
+
+						{ show_speaker && this.hasSpeaker( post ) &&
+							<SessionSpeakers session={ post } />
+						}
+
+						{ show_images &&
+							<FeaturedImage
+								className={ classnames( 'wordcamp-session-image-container', 'align-' + image_align ) }
+								wpMediaDetails={ get( post, '_embedded.wp:featuredmedia[0].media_details.sizes', {} ) }
+								alt={ post.title.rendered.trim() }
+								width={ Number( featured_image_width ) }
+								imageLink={ post.link }
+							/>
+						}
+
+						{ 'none' !== content &&
+							<ItemHTMLContent
+								className={ classnames( 'wordcamp-session-content-' + content ) }
+								content={ 'full' === content ? post.content.rendered.trim() : post.excerpt.rendered.trim() }
+							/>
+						}
+
+						{ ( show_meta || show_category ) &&
+							<div className="wordcamp-item-meta wordcamp-session-details">
+								{ show_meta &&
+									<SessionMeta session={ post } />
+								}
+								{ show_category &&
+									<SessionCategory session={ post } />
+								}
+							</div>
+						}
+
+						{ ( 'full' === content ) &&
+							<ItemPermalink
+								link={ post.link }
+								linkText={ __( 'Visit session page', 'wordcamporg' ) }
+							/>
+						}
+					</div>
+				) }
+			</GridContentLayout>
+		);
+	}
+}
+
+export default SessionsBlockContent;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/block-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/block-controls.js
new file mode 100644
index 000000000..1ef6376e0
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/block-controls.js
@@ -0,0 +1,98 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Button, Placeholder } = wp.components;
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { BlockControls, PlaceholderNoContent, PlaceholderSpecificMode } from '../shared/block-controls';
+import SessionsBlockContent from './block-content';
+import SessionsSelect from './sessions-select';
+import { LABEL }                                                        from './index';
+
+class SessionsBlockControls extends BlockControls {
+	render() {
+		const { icon, attributes, setAttributes, sessionPosts } = this.props;
+		const { mode } = attributes;
+
+		const hasPosts = Array.isArray( sessionPosts ) && sessionPosts.length;
+
+		if ( mode && ! hasPosts ) {
+			return (
+				<PlaceholderNoContent
+					icon={ icon }
+					label={ LABEL }
+					loading={ ! Array.isArray( sessionPosts ) }
+				/>
+			);
+		}
+
+		let output;
+
+		switch ( mode ) {
+			case 'all' :
+				output = (
+					<SessionsBlockContent { ...this.props } />
+				);
+				break;
+
+			case 'wcb_session' :
+			case 'wcb_track' :
+			case 'wcb_session_category' :
+				output = (
+					<PlaceholderSpecificMode
+						label={ this.getModeLabel( mode ) }
+						icon={ icon }
+						content={
+							<SessionsBlockContent { ...this.props } />
+						}
+						placeholderChildren={
+							<SessionsSelect { ...this.props } />
+						}
+					/>
+				);
+				break;
+
+			default :
+				output = (
+					<Placeholder
+						className={ classnames( 'wordcamp-block-edit-placeholder', 'wordcamp-block-edit-placeholder-no-mode' ) }
+						icon={ icon }
+						label={ LABEL }
+					>
+						<div className="wordcamp-block-edit-mode-option">
+							<Button
+								isDefault
+								isLarge
+								onClick={ () => {
+									setAttributes( { mode: 'all' } );
+								} }
+							>
+								{ this.getModeLabel( 'all' ) }
+							</Button>
+						</div>
+
+						<div className="wordcamp-block-edit-mode-option">
+							<SessionsSelect
+								icon={ icon }
+								label={ __( 'Choose specific sessions, tracks, or categories', 'wordcamporg' ) }
+								{ ...this.props }
+							/>
+						</div>
+					</Placeholder>
+				);
+				break;
+		}
+
+		return output;
+	}
+}
+
+export default SessionsBlockControls;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/edit.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/edit.js
new file mode 100644
index 000000000..aaf975b82
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/edit.js
@@ -0,0 +1,129 @@
+/**
+ * External dependencies
+ */
+import { isUndefined, pickBy, split } from 'lodash';
+
+/**
+ * WordPress dependencies
+ */
+const apiFetch = wp.apiFetch;
+const { withSelect } = wp.data;
+const { Component, Fragment } = wp.element;
+const { addQueryArgs } = wp.url;
+
+/**
+ * Internal dependencies
+ */
+import SessionsBlockControls from './block-controls';
+import SessionsInspectorControls from './inspector-controls';
+import GridToolbar from '../shared/grid-layout/toolbar';
+import { ICON }                  from './index';
+
+const blockData = window.WordCampBlocks.sessions || {};
+const MAX_POSTS = 100;
+
+const ALL_POSTS_QUERY = {
+	orderby  : 'title',
+	order    : 'asc',
+	per_page : MAX_POSTS,
+	_embed   : true,
+};
+
+const ALL_TERMS_QUERY = {
+	orderby  : 'name',
+	order    : 'asc',
+	per_page : MAX_POSTS,
+};
+
+class SessionsEdit extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.fetchSessionDetails();
+	}
+
+	fetchSessionDetails() {
+		const allSessionPosts = apiFetch( {
+			path: addQueryArgs( `/wp/v2/sessions`, ALL_POSTS_QUERY ),
+		} );
+		const allSessionTracks = apiFetch( {
+			path: addQueryArgs( `/wp/v2/session_track`, ALL_TERMS_QUERY ),
+		} );
+		const allSessionCategories = apiFetch( {
+			path: addQueryArgs( `/wp/v2/session_category`, ALL_TERMS_QUERY ),
+		} );
+
+		this.state = {
+			allSessionPosts: allSessionPosts, // Promise
+			allSessionTracks: allSessionTracks, // Promise
+			allSessionCategories: allSessionCategories, // Promise
+		}
+	}
+
+	render() {
+		const { mode } = this.props.attributes;
+
+		return (
+			<Fragment>
+				<SessionsBlockControls
+					icon={ ICON }
+					{ ...this.props }
+					{ ...this.state }
+				/>
+				{ mode &&
+				<Fragment>
+					<SessionsInspectorControls { ...this.props } />
+					<GridToolbar { ...this.props } />
+				</Fragment>
+				}
+			</Fragment>
+		);
+	}
+}
+
+const sessionsSelect = ( select, props ) => {
+	const { mode, item_ids, sort } = props.attributes;
+	const { getEntityRecords } = select( 'core' );
+
+	const args = {
+		per_page           : MAX_POSTS, // -1 is not allowed for per_page.
+		_embed             : true,
+		context            : 'view',
+		_wcpt_session_type : 'session',
+	};
+
+	if ( 'session_time' !== sort ) {
+		const [ orderby, order ] = split( sort, '_', 2 );
+		args.orderby = orderby;
+		args.order = order;
+	}
+
+	if ( Array.isArray( item_ids ) ) {
+		switch ( mode ) {
+			case 'wcb_session':
+				args.include = item_ids;
+				break;
+			case 'wcb_track':
+				args.session_track = item_ids;
+				break;
+			case 'wcb_session_category':
+				args.session_category = item_ids;
+				break;
+		}
+	}
+
+	const sessionsQuery = pickBy( args, ( value ) => ! isUndefined( value ) );
+
+	const sessionPosts = getEntityRecords( 'postType', 'wcb_session', sessionsQuery );
+
+	// todo Is there a way to do this sorting via REST API parameters?
+	if ( Array.isArray( sessionPosts ) && 'session_time' === sort ) {
+		sessionPosts.sort( ( a, b ) => {
+			return Number( a.meta._wcpt_session_time ) - Number( b.meta._wcpt_session_time );
+		} );
+	}
+
+	return { blockData, sessionPosts };
+};
+
+export const edit = withSelect( sessionsSelect )( SessionsEdit );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/index.js
new file mode 100644
index 000000000..23a5e48f2
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/index.js
@@ -0,0 +1,27 @@
+/**
+ * WordPress dependencies
+ */
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { edit } from './edit.js';
+
+export const name = 'wordcamp/sessions';
+export const LABEL         = __( 'Sessions', 'wordcamporg' );
+export const ICON  = 'list-view';
+
+const supports = {
+	'align': [ 'wide', 'full' ],
+};
+
+export const settings = {
+	title       : __( 'Sessions', 'wordcamporg' ),
+	description : __( 'Add a list of sessions.', 'wordcamporg' ),
+	icon        : ICON,
+	category    : 'wordcamp',
+	supports    : supports,
+	edit        : edit,
+	save        : () => null,
+};
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/inspector-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/inspector-controls.js
new file mode 100644
index 000000000..5adc843e3
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/inspector-controls.js
@@ -0,0 +1,81 @@
+/**
+ * WordPress dependencies
+ */
+const { PanelBody, PanelRow, SelectControl, ToggleControl } = wp.components;
+const { InspectorControls } = wp.editor;
+const { Component } = wp.element;
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import GridInspectorControl from '../shared/grid-layout/inspector-control';
+import FeaturedImageInspectorControls from '../shared/featured-image/inspector-control';
+
+class SessionsInspectorControls extends Component {
+	render() {
+		const { attributes, setAttributes, blockData } = this.props;
+		const { show_speaker, content, show_meta, show_category, sort } = attributes;
+		const { options } = blockData;
+
+		return (
+			<InspectorControls>
+				<GridInspectorControl { ...this.props } />
+				<PanelBody title={ __( 'Content Settings', 'wordcamporg' ) } initialOpen={ true }>
+					<PanelRow>
+						<SelectControl
+							label={ __( 'Description', 'wordcamporg' ) }
+							value={ content || 'full'  }
+							options={ options.content }
+							onChange={ ( value ) => setAttributes( { content: value } ) }
+						/>
+					</PanelRow>
+					<PanelRow>
+						<ToggleControl
+							label={ __( 'Details', 'wordcamporg' ) }
+							help={ __( 'Show date, time, and track.', 'wordcamporg' ) }
+							checked={ show_meta === undefined ? false : show_meta }
+							onChange={ ( value ) => setAttributes( { show_meta: value } ) }
+						/>
+					</PanelRow>
+					<PanelRow>
+						<ToggleControl
+							label={ __( 'Categories', 'wordcamporg' ) }
+							help={ __( 'Show session categories.', 'wordcamporg' ) }
+							checked={ show_category === undefined ? false : show_category }
+							onChange={ ( value ) => setAttributes( { show_category: value } ) }
+						/>
+					</PanelRow>
+					<PanelRow>
+						<ToggleControl
+							label={ __( 'Speakers', 'wordcamporg' ) }
+							help={ __( 'Show session speakers.', 'wordcamporg' ) }
+							checked={ show_speaker  === undefined ? false : show_speaker }
+							onChange={ ( value ) => setAttributes( { show_speaker: value } ) }
+						/>
+					</PanelRow>
+				</PanelBody>
+
+				<FeaturedImageInspectorControls
+					title={ __( 'Image size', 'wordcamporg' ) }
+					help={ __( 'Specify image height and width, or select a predefined size.', 'wordcamporg' ) }
+					selectLabel={ __( 'Size', 'wordcamporg' ) }
+					{ ...this.props }
+				/>
+
+				<PanelBody title={ __( 'Sorting', 'wordcamporg' ) }>
+					<PanelRow>
+						<SelectControl
+							label={ __( 'Sort by', 'wordcamporg' ) }
+							value={ sort }
+							options={ options.sort || 'session_time' }
+							onChange={ ( value ) => setAttributes( { sort: value } ) }
+						/>
+					</PanelRow>
+				</PanelBody>
+			</InspectorControls>
+		);
+	}
+}
+
+export default SessionsInspectorControls;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/sessions-select.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/sessions-select.js
new file mode 100644
index 000000000..d862e4433
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sessions/sessions-select.js
@@ -0,0 +1,208 @@
+/**
+ * External dependencies
+ */
+import { get, includes } from 'lodash';
+
+/**
+ * WordPress dependencies
+ */
+const { Dashicon } = wp.components;
+const { Component } = wp.element;
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import ItemSelect from '../shared/item-select';
+
+class SessionsSelect extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.state = {
+			wcb_session          : [],
+			wcb_track            : [],
+			wcb_session_category : [],
+			loading              : true,
+		};
+
+		this.buildSelectOptions = this.buildSelectOptions.bind( this );
+		this.fetchSelectOptions( props );
+	}
+
+	fetchSelectOptions( props ) {
+		const { allSessionPosts, allSessionTracks, allSessionCategories } = props;
+		const promises = [];
+
+		promises.push( allSessionPosts.then(
+			( fetchedPosts ) => {
+				const posts = fetchedPosts.map( ( post ) => {
+					const image = get( post, '_embedded[\'wp:featuredmedia\'].media_details.sizes.thumbnail.source_url', '' );
+
+					return {
+						label : post.title.rendered.trim() || __( '(Untitled)', 'wordcamporg' ),
+						value : post.id,
+						type  : 'wcb_session',
+						image : image,
+					};
+				} );
+
+				this.setState( { wcb_session: posts } );
+			}
+		).catch() );
+
+		[ allSessionTracks, allSessionCategories ].forEach( ( promise ) => {
+			promises.push( promise.then(
+				( fetchedTerms ) => {
+					const terms = fetchedTerms.map( ( term ) => {
+						return {
+							label : term.name.trim() || __( '(Untitled)', 'wordcamporg' ),
+							value : term.id,
+							type  : term.taxonomy,
+							count : term.count || 0,
+						};
+					} );
+
+					const [ firstTerm ] = terms;
+					this.setState( { [ firstTerm.type ]: terms } );
+				}
+			).catch() );
+		} );
+
+		Promise.all( promises ).then( () => {
+			this.setState( { loading: false } );
+		} );
+	}
+
+	buildSelectOptions( mode ) {
+		const { getOwnPropertyDescriptors } = Object;
+		const options = [];
+
+		const labels = {
+			wcb_session          : __( 'Sessions', 'wordcamporg' ),
+			wcb_track            : __( 'Tracks', 'wordcamporg' ),
+			wcb_session_category : __( 'Session Categories', 'wordcamporg' ),
+		};
+
+		for ( const type in getOwnPropertyDescriptors( this.state ) ) {
+			if ( ( ! mode || type === mode ) && this.state[ type ].length ) {
+				options.push( {
+					label   : labels[ type ],
+					options : this.state[ type ],
+				} );
+			}
+		}
+
+		return options;
+	}
+
+	render() {
+		const { icon, label, attributes, setAttributes } = this.props;
+		const { mode, item_ids } = attributes;
+		const options = this.buildSelectOptions( mode );
+
+		let value = [];
+
+		if ( mode && item_ids.length ) {
+			const modeOptions = get( options, '[0].options', [] );
+
+			value = modeOptions.filter( ( option ) => {
+				return includes( item_ids, option.value );
+			} );
+		}
+
+		return (
+			<ItemSelect
+				className="wordcamp-sessions-select"
+				label={ label }
+				value={ value }
+				buildSelectOptions={ this.buildSelectOptions }
+				onChange={ ( changed ) => setAttributes( changed ) }
+				mode={ mode }
+				selectProps={ {
+					isLoading        : this.state.loading,
+					formatGroupLabel : ( groupData ) => {
+						return (
+							<span className="wordcamp-item-select-option-group-label">
+								{ groupData.label }
+							</span>
+						);
+					},
+					formatOptionLabel: ( optionData ) => {
+						return (
+							<SessionsOption
+								icon={ icon }
+								{ ...optionData }
+							/>
+						);
+					},
+				} }
+			/>
+		);
+	}
+}
+
+function SessionsOption( { type, icon, label = '', image = '', count = 0 } ) {
+	let optImage, optContent;
+
+	switch ( type ) {
+		case 'wcb_session' :
+			if ( image ) {
+				optImage = (
+					<img
+						className="wordcamp-item-select-option-image"
+						src={ image }
+						alt={ label }
+						width={ 24 }
+						height={ 24 }
+					/>
+				);
+			} else {
+				optImage = (
+					<div className="wordcamp-item-select-option-icon-container">
+						<Dashicon
+							className="wordcamp-item-select-option-icon"
+							icon={ icon }
+							size={ 16 }
+						/>
+					</div>
+				);
+			}
+			optContent = (
+				<span className="wordcamp-item-select-option-label">
+					{ label }
+				</span>
+			);
+			break;
+
+		case 'wcb_track' :
+		case 'wcb_session_category' :
+			optImage = (
+				<div className="wordcamp-item-select-option-icon-container">
+					<Dashicon
+						className="wordcamp-item-select-option-icon"
+						icon={ icon }
+						size={ 16 }
+					/>
+				</div>
+			);
+			optContent = (
+				<span className="wordcamp-item-select-option-label">
+					{ label }
+					<span className="wordcamp-item-select-option-label-term-count">
+						{ count }
+					</span>
+				</span>
+			);
+			break;
+	}
+
+	return (
+		<div className="wordcamp-item-select-option">
+			{ optImage }
+			{ optContent }
+		</div>
+	);
+}
+
+export default SessionsSelect;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar-size/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar-size/index.js
deleted file mode 100644
index 9e107bc87..000000000
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar-size/index.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * External dependencies
- */
-import classnames from 'classnames';
-
-/**
- * WordPress dependencies
- */
-const { BaseControl, Button, ButtonGroup, RangeControl } = wp.components;
-const { withInstanceId } = wp.compose;
-const { __, _x } = wp.i18n;
-
-/**
- * Internal dependencies
- */
-import './style.scss';
-
-const sizePresets = [
-	{
-		name      : __( 'Small', 'wordcamporg' ),
-		shortName : _x( 'S', 'size small', 'wordcamporg' ),
-		size      : 90,
-		slug      : 'small',
-	},
-	{
-		name      : __( 'Regular', 'wordcamporg' ),
-		shortName : _x( 'M', 'size medium', 'wordcamporg' ),
-		size      : 150,
-		slug      : 'regular',
-	},
-	{
-		name      : __( 'Large', 'wordcamporg' ),
-		shortName : _x( 'L', 'size large', 'wordcamporg' ),
-		size      : 300,
-		slug      : 'large',
-	},
-	{
-		name      : __( 'Larger', 'wordcamporg' ),
-		shortName : _x( 'XL', 'size extra large', 'wordcamporg' ),
-		size      : 500,
-		slug      : 'larger',
-	},
-];
-
-function AvatarSizeControl( {
-	className,
-	label,
-	help,
-	value,
-	instanceId,
-	onChange,
-	initialPosition,
-	...props
-} ) {
-	const id = `wordcamp-inspector-avatar-size-control-${ instanceId }`;
-
-	return (
-		<BaseControl
-			id={ id }
-			className={ classnames( 'wordcamp-components-avatar-size', className ) }
-			label={ label }
-			help={ help }
-		>
-			<div className={ 'wordcamp-components-avatar-size-buttons' }>
-				<ButtonGroup>
-					{ sizePresets.map( ( preset ) => {
-						const { name, shortName, size, slug } = preset;
-						const isCurrent = value === size;
-
-						return (
-							<Button
-								key={ slug }
-								isLarge
-								isPrimary={ isCurrent }
-								aria-pressed={ isCurrent }
-								onClick={ () => onChange( Number( size ) ) }
-							>
-								{ shortName || name }
-							</Button>
-						);
-					} ) }
-				</ButtonGroup>
-
-				<Button
-					className={ 'wordcamp-components-avatar-size-button-reset' }
-					isLarge
-					isDefault
-					onClick={ () => onChange( Number( initialPosition ) ) }
-				>
-					{ __( 'Reset', 'wordcamporg' ) }
-				</Button>
-			</div>
-
-			<RangeControl
-				className={ 'wordcamp-components-avatar-size-range' }
-				value={ value }
-				initialPosition={ initialPosition }
-				onChange={ onChange }
-				beforeIcon={ 'format-image' }
-				afterIcon={ 'format-image' }
-				{ ...props }
-			/>
-		</BaseControl>
-	);
-}
-
-export default withInstanceId( AvatarSizeControl );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/index.js
index 9300cc0a5..9a786a5e3 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/index.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/index.js
@@ -6,31 +6,54 @@ import classnames from 'classnames';
 /**
  * WordPress dependencies
  */
+const { Disabled } = wp.components;
 const { __, sprintf } = wp.i18n;
-const { addQueryArgs } = wp.url;
+const { addQueryArgs, isURL } = wp.url;
 
-function AvatarImage( {
+/**
+ * Internal dependencies
+ */
+import './style.scss';
+
+export function AvatarImage( {
 	className,
 	name,
 	size,
 	url,
+	imageLink,
 } ) {
 	const getSizedURL = ( avatar_url, avatar_size ) => {
 		return addQueryArgs( avatar_url, { s: avatar_size } );
 	};
 
-	const alt = name ? sprintf( __( 'Avatar of %s', 'wordcamporg' ), name ) : '';
-
-	return (
+	let image = (
 		<img
-			className={ classnames( 'avatar', 'avatar-' + size, 'photo', className ) }
+			className={ classnames( 'avatar', 'avatar-' + size, 'photo' ) }
 			src={ getSizedURL( url, size ) }
 			srcSet={ getSizedURL( url, size * 2 ) + ' 2x' }
-			alt={ alt }
+			alt={ name ? sprintf( __( 'Avatar of %s', 'wordcamporg' ), name ) : '' }
 			width={ size }
 			height={ size }
 		/>
 	);
+
+	if ( isURL( imageLink ) ) {
+		image = (
+			<Disabled>
+				<a href={ imageLink } className={ classnames( 'wordcamp-image-link', 'wordcamp-avatar-link' ) }>
+					{ image }
+				</a>
+			</Disabled>
+		);
+	}
+
+	image = (
+		<div className={ classnames( 'wordcamp-image-container', 'wordcamp-avatar-container', className ) }>
+			{ image }
+		</div>
+	);
+
+	return image;
 }
 
-export default AvatarImage;
+export * from './inspector-controls';
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/inspector-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/inspector-controls.js
new file mode 100644
index 000000000..a559e9baf
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/inspector-controls.js
@@ -0,0 +1,117 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+import { debounce } from 'lodash';
+
+/**
+ * WordPress dependencies
+ */
+const { Component }                                      = wp.element;
+const { BaseControl, Button, ButtonGroup, RangeControl } = wp.components;
+const { __, _x } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import './inspector-controls.scss';
+
+const sizePresets = [
+	{
+		name      : __( 'Small', 'wordcamporg' ),
+		shortName : _x( 'S', 'size small', 'wordcamporg' ),
+		size      : 90,
+		slug      : 'small',
+	},
+	{
+		name      : __( 'Regular', 'wordcamporg' ),
+		shortName : _x( 'M', 'size medium', 'wordcamporg' ),
+		size      : 150,
+		slug      : 'regular',
+	},
+	{
+		name      : __( 'Large', 'wordcamporg' ),
+		shortName : _x( 'L', 'size large', 'wordcamporg' ),
+		size      : 300,
+		slug      : 'large',
+	},
+	{
+		name      : __( 'Larger', 'wordcamporg' ),
+		shortName : _x( 'XL', 'size extra large', 'wordcamporg' ),
+		size      : 500,
+		slug      : 'larger',
+	},
+];
+
+export class AvatarSizeControl extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.state = {
+			value    : props.value,
+			onChange : debounce( props.onChange, 10 ), // higher values lead to a noticeable degradation in visual feedback.
+		};
+
+		this.onChange = this.onChange.bind( this );
+	}
+
+	onChange( value ) {
+		this.setState( { value: value } );
+		this.state.onChange( value );
+	}
+
+	render() {
+		const { className, label, help, initialPosition, rangeProps } = this.props;
+		const { value }                                               = this.state;
+
+		return (
+			<BaseControl
+				className={ classnames( 'wordcamp-components-avatar-size', className ) }
+				label={ label }
+				help={ help }
+			>
+				<div className="wordcamp-components-avatar-size-buttons">
+					<ButtonGroup aria-label={ label }>
+						{ sizePresets.map( ( preset ) => {
+							const { name, shortName, size, slug } = preset;
+							const isCurrent                       = value === size;
+
+							return (
+								<Button
+									key={ slug }
+									isLarge
+									isPrimary={ isCurrent }
+									aria-label={ name }
+									aria-pressed={ isCurrent }
+									onClick={ () => this.onChange( Number( size ) ) }
+								>
+									{ shortName || name }
+								</Button>
+							);
+						} ) }
+					</ButtonGroup>
+
+					<Button
+						className="wordcamp-components-avatar-size-button-reset"
+						isLarge
+						isDefault
+						onClick={ () => this.onChange( Number( initialPosition ) ) }
+					>
+						{ __( 'Reset', 'wordcamporg' ) }
+					</Button>
+				</div>
+
+				<RangeControl
+					className="wordcamp-components-avatar-size-range"
+					value={ value }
+					initialPosition={ initialPosition }
+					onChange={ this.onChange }
+					beforeIcon="format-image"
+					afterIcon="format-image"
+					aria-label={ label }
+					{ ...rangeProps }
+				/>
+			</BaseControl>
+		);
+	}
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar-size/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/inspector-controls.scss
similarity index 99%
rename from wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar-size/style.scss
rename to wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/inspector-controls.scss
index 35b4a63aa..ba16126e3 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar-size/style.scss
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/inspector-controls.scss
@@ -2,6 +2,7 @@
 	display: flex;
 	justify-content: space-between;
 }
+
 .wordcamp-components-avatar-size-range {
 	.edit-post-settings-sidebar__panel-block .components-panel__body & {
 		margin-top: 1em;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/style.scss
new file mode 100644
index 000000000..3b3686148
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/avatar/style.scss
@@ -0,0 +1,17 @@
+.wordcamp-avatar-container {
+	&.align-left {
+		float: left;
+		margin-right: 1em;
+	}
+
+	&.align-center {
+		margin-left: auto;
+		margin-right: auto;
+		text-align: center;
+	}
+
+	&.align-right {
+		float: right;
+		margin-left: 1em;
+	}
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-content/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-content/index.js
new file mode 100644
index 000000000..330293bdd
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-content/index.js
@@ -0,0 +1,86 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Disabled } = wp.components;
+const { Fragment, RawHTML } = wp.element;
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import './style.scss';
+
+export function ItemTitle( { headingLevel, className, title, link } ) {
+	const validLevels = [ 1, 2, 3, 4, 5, 6 ];
+	let Tag = 'h3';
+
+	if ( validLevels.includes( headingLevel ) ) {
+		Tag = 'h' + headingLevel;
+	}
+
+	const classes = [
+		'wordcamp-item-title',
+		className,
+	];
+
+	const content = title || __( '(Untitled)', 'wordcamporg' );
+
+	return (
+		<Tag className={ classnames( classes ) }>
+			{ link &&
+				<Disabled>
+					<a href={ link }>
+						{ content }
+					</a>
+				</Disabled>
+			}
+
+			{ ! link &&
+				<Fragment>
+					{ content }
+				</Fragment>
+			}
+		</Tag>
+	);
+}
+
+export function ItemHTMLContent( { className, content, link, linkText } ) {
+	const classes = [
+		'wordcamp-item-content',
+		className,
+	];
+
+	return (
+		<div className={ classnames( classes ) }>
+			<Disabled>
+				<RawHTML children={ content } />
+				{ link &&
+					<ItemPermalink
+						link={ link }
+						linkText={ linkText }
+					/>
+				}
+			</Disabled>
+		</div>
+	);
+}
+
+export function ItemPermalink( { className, link, linkText } ) {
+	const classes = [
+		'wordcamp-item-permalink',
+		className,
+	];
+
+	return (
+		<p className={ classnames( classes ) }>
+			<a href={ link }>
+				{ linkText || __( 'Read more', 'wordcamporg' ) }
+			</a>
+		</p>
+	);
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-content/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-content/style.scss
new file mode 100644
index 000000000..8b92fa717
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-content/style.scss
@@ -0,0 +1,4 @@
+
+.wordcamp-item-meta {
+	margin: 0 0 1.5em;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-controls/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-controls/index.js
new file mode 100644
index 000000000..2e6194b6f
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-controls/index.js
@@ -0,0 +1,74 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Placeholder, Spinner } = wp.components;
+const { Component, Fragment } = wp.element;
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import './style.scss';
+
+export class BlockControls extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.getModeLabel = this.getModeLabel.bind( this );
+	}
+
+	getModeLabel( value ) {
+		const { mode } = this.props.blockData.options;
+
+		return mode.find( ( modeOption ) => {
+			return value === modeOption.value;
+		} ).label;
+	}
+}
+
+export function PlaceholderNoContent( { className, icon, label, loading } ) {
+	const classes = [
+		'wordcamp-block-edit-placeholder',
+		'wordcamp-block-edit-placeholder-no-content',
+		className,
+	];
+
+	return (
+		<Placeholder
+			className={ classnames( classes ) }
+			icon={ icon }
+			label={ label }
+		>
+			{ loading ?
+				<Spinner /> :
+				__( 'No content found.', 'wordcamporg' )
+			}
+		</Placeholder>
+	);
+}
+
+export function PlaceholderSpecificMode( { className, label, icon, content, placeholderChildren } ) {
+	const classes = [
+		'wordcamp-block-edit-placeholder',
+		'wordcamp-block-edit-placeholder-specific-mode',
+		className,
+	];
+
+	return (
+		<Fragment>
+			{ content }
+			<Placeholder
+				className={ classnames( classes ) }
+				label={ label }
+				icon={ icon }
+			>
+				{ placeholderChildren }
+			</Placeholder>
+		</Fragment>
+	);
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-controls/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-controls/style.scss
new file mode 100644
index 000000000..f21e1935b
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/block-controls/style.scss
@@ -0,0 +1,4 @@
+.wordcamp-block-edit-mode-option {
+	flex-basis: 100%;
+	padding: 0.5em;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/index.js
new file mode 100644
index 000000000..c5b61fe88
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/index.js
@@ -0,0 +1,99 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies.
+ */
+const { Disabled } = wp.components;
+const { Component } = wp.element;
+const { isURL } = wp.url;
+
+/**
+ * Displays featured image, can be linked with block control for size.
+ */
+export default class FeaturedImage extends Component {
+	/**
+	 * @param {Object} props
+	 * @param {Array}  props.wpMediaDetails Available sizes of images in the format as returned by WP API. This is the `sizes` object inside `media_details` inside `wp:featuredMedia` object.
+	 * @param {number} props.width          Width in pixels for image.
+	 * @param {string} props.className      Class name for image element
+	 * @param {string} props.alt            Alt text for image
+	 */
+	constructor( props ) {
+		super( props );
+
+		this.state = {};
+	}
+
+	/**
+	 * Get 'full' size image to be displayed in editor. Or get the widest one.
+	 *
+	 * @return {Object}
+	 */
+	getFullImage() {
+		const { getOwnPropertyDescriptors } = Object;
+		const availableSizes = this.props.wpMediaDetails;
+
+		const { selectedImage } = this.state;
+
+		if ( selectedImage && selectedImage.hasOwnProperty( 'source_url' ) ) {
+			return selectedImage;
+		}
+
+		if ( availableSizes.hasOwnProperty( 'full' ) && availableSizes.full.hasOwnProperty( 'source_url' ) ) {
+			this.setState( { selectedImage: availableSizes.full } );
+			return availableSizes.full;
+		}
+
+		let widestImage = { source_url: '' };
+
+		for ( const size in getOwnPropertyDescriptors( availableSizes ) ) {
+			if ( availableSizes[ size ].width > ( widestImage.width || 0 ) && availableSizes[ size ].hasOwnProperty( 'source_url' ) ) {
+				widestImage = availableSizes[ size ];
+			}
+		}
+
+		this.setState( { selectedImage: widestImage } );
+
+		return widestImage;
+	}
+
+	/**
+	 * Renders FeaturedImage component.
+	 *
+	 * @return {Element}
+	 */
+	render() {
+		const { className, alt, width = 150, imageLink } = this.props;
+		const fullImage = this.getFullImage();
+
+		let image = (
+			<img
+				className={ classnames( 'wordcamp-featured-image', className ) }
+				src={ fullImage.source_url }
+				alt={ alt }
+				width={ width + 'px' }
+			/>
+		);
+
+		if ( isURL( imageLink ) ) {
+			image = (
+				<Disabled>
+					<a href={ imageLink } className={ classnames( 'wordcamp-image-link', 'wordcamp-featured-image-link' ) }>
+						{ image }
+					</a>
+				</Disabled>
+			);
+		}
+
+		image = (
+			<div className={ classnames( 'wordcamp-image-container', 'wordcamp-featured-image-container', className ) }>
+				{ image }
+			</div>
+		);
+
+		return image;
+	}
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/inspector-control.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/inspector-control.js
new file mode 100644
index 000000000..485aa3d5d
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/inspector-control.js
@@ -0,0 +1,46 @@
+/**
+ * WordPress dependencies
+ */
+const { Component } = wp.element;
+const { PanelBody } = wp.components;
+
+/**
+ * Internal dependencies
+ */
+import './style.scss';
+import { AvatarSizeControl } from '../avatar';
+
+/**
+ * Implements inspector control for FeaturedImage component defined in ./index.js. Uses and sets attribute `featured_image_height` and `featured_image_width`.
+ */
+class FeaturedImageInspectorControls extends Component {
+	/**
+	 * Renders inspector controls for FeatureImages.
+	 *
+	 * @returns {*}
+	 */
+	render() {
+		const { attributes, setAttributes, title, help, selectLabel } = this.props;
+		const { featured_image_width } = attributes;
+		return (
+			<PanelBody
+				title={ title }
+				initialopen={ false }
+			>
+				<AvatarSizeControl
+					onChange={ ( width ) => setAttributes( { featured_image_width: Number( width ) } ) }
+					label={ selectLabel }
+					initialPosition={ featured_image_width }
+					help={ help }
+					// TODO: Use settings from add_script_data instead of hardcoded values. Related: https://github.com/WordPress/wordcamp.org/issues/57.
+					rangeProps={ {
+						min : 25,
+						max : 1024,
+					} }
+				/>
+			</PanelBody>
+		);
+	}
+}
+
+export default FeaturedImageInspectorControls;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/style.scss
new file mode 100644
index 000000000..7ce772e01
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/featured-image/style.scss
@@ -0,0 +1,6 @@
+img.wordcamp-featured-image {
+	height: auto;
+	max-width: 100%;
+	max-height: 100%;
+
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/block-content.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/block-content.js
new file mode 100644
index 000000000..e3c4daa9a
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/block-content.js
@@ -0,0 +1,60 @@
+/**
+ * External dependencies
+ */
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Component } = wp.element;
+
+/**
+ * Internal dependencies
+ */
+import './style.scss';
+
+/**
+ * Implements grid / list layout for WordCamp blocks. Should be used with rest of the components in this folder. Uses attribute `layout` and `columnns`.
+ */
+class GridContentLayout extends Component {
+	render() {
+		const { attributes, className, children } = this.props;
+		const { grid_columns, layout, align } = attributes;
+
+		const containerClasses = [
+			'wordcamp-block',
+			'wordcamp-block-post-list',
+			'layout-' + layout,
+			className,
+		];
+
+		if ( 'grid' === layout ) {
+			containerClasses.push( 'grid-columns-' + Number( grid_columns ) );
+		}
+
+		if ( align ) {
+			containerClasses.push( 'align' + align );
+		}
+
+		return (
+			<ul className={ classnames( containerClasses ) }>
+				{
+					( children || [] ).map(
+						( childComponent ) => {
+							return (
+								<li
+									key={ childComponent.key }
+									className={ classnames( 'wordcamp-grid-layout-item', 'wordcamp-block-post-list-item', 'wordcamp-clearfix' ) }
+								>
+									{ childComponent }
+								</li>
+							);
+						}
+					)
+				}
+			</ul>
+		);
+	}
+}
+
+export default GridContentLayout;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/inspector-control.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/inspector-control.js
new file mode 100644
index 000000000..ee2cb3d84
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/inspector-control.js
@@ -0,0 +1,51 @@
+/**
+ * WordPress dependencies.
+ */
+const { Component } = wp.element;
+const { PanelBody, PanelRow, RangeControl } = wp.components;
+const { __ } = wp.i18n;
+
+const DEFAULT_SCHEMA = {
+	grid_columns: {
+		default : 2,
+		minimum : 2,
+		maximum : 4,
+	},
+};
+/**
+ * Add a slider for increasing and decreasing columns. Should be used with rest of the components in this folder. Will use and set attributes `layout` and `gird_columns`.
+ */
+class GridInspectorControl extends Component {
+	render() {
+		const { attributes, setAttributes } = this.props;
+		const { layout, grid_columns } = attributes;
+
+		if ( 'grid' !== layout ) {
+			return null;
+		}
+		const schema = DEFAULT_SCHEMA;
+
+		return (
+			<PanelBody>
+				<PanelBody
+					title={ __( 'Layout', 'wordcamporg' ) }
+					initialOpen={ true }
+				>
+					<PanelRow>
+						<RangeControl
+							label={ __( 'Grid Columns', 'wordcamporg' ) }
+							value={ Number( grid_columns ) }
+							min={ schema.grid_columns.minimum }
+							max={ schema.grid_columns.maximum }
+							initialPosition={ schema.grid_columns.default }
+							onChange={ ( option ) => setAttributes(
+								{ grid_columns: option } ) }
+						/>
+					</PanelRow>
+				</PanelBody>
+			</PanelBody>
+		);
+	}
+}
+
+export default GridInspectorControl;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/style.scss
new file mode 100644
index 000000000..cc56f91bc
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/style.scss
@@ -0,0 +1,54 @@
+.wordcamp-clearfix::after {
+	content: "";
+	display: table;
+	clear: both;
+}
+
+.wordcamp-block-post-list {
+	li {
+		list-style: none;
+	}
+
+	li.wordcamp-grid-layout-item {
+		margin: 0 0 1em 0;
+	}
+
+	&.layout-list > li {
+		margin-bottom: 1em;
+
+		&:last-child {
+			margin-bottom: 0;
+		}
+	}
+
+	@media ( min-width: 400px ) {
+		&.layout-grid {
+			display: grid;
+			grid-template-columns: repeat( 2, 1fr );
+			grid-column-gap: 1em;
+			grid-row-gap: 1em;
+
+			/* Ensure columns maintain equal widths. */
+			/* https://stackoverflow.com/a/43312314 */
+			min-height: 0;
+			min-width: 0;
+
+			& .wordcamp-block-post-list-item {
+				overflow: hidden;
+				min-width: 0;
+			}
+		}
+	}
+
+	@media ( min-width: 600px ) {
+		&.layout-grid.grid-columns-3 {
+			grid-template-columns: repeat( 3, 1fr );
+		}
+	}
+
+	@media ( min-width: 800px ) {
+		&.layout-grid.grid-columns-4 {
+			grid-template-columns: repeat( 4, 1fr );
+		}
+	}
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/toolbar.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/toolbar.js
new file mode 100644
index 000000000..4e1229f4a
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/grid-layout/toolbar.js
@@ -0,0 +1,59 @@
+/**
+ * WordPress dependencies
+ */
+const { Toolbar } = wp.components;
+const { BlockControls } = wp.editor;
+const { __ } = wp.i18n;
+const { Component } = wp.element;
+
+/**
+ * Add option to select between grid and list layout.
+ * This just adds the "grid" and "list" button in block toolbar, functionality still needs to be connected to it separately. Other components in this folder can be used to provide functionality.
+ *
+ * Sets attribute `layout` to `grid` / `list`. Also sets `grid_columns` to 2 for `grid`, and 1 for `list`.
+ */
+class GridToolbar extends Component {
+	render() {
+		const { attributes, setAttributes } = this.props;
+		const { layout } = attributes;
+		const layoutOptions = [
+			{
+				value    : 'grid',
+				label    : __( 'Grid', 'wordcamporg' ),
+				isActive : layout === 'grid',
+			},
+			{
+				value    : 'list',
+				label    : __( 'List', 'wordcamporg' ),
+				isActive : layout === 'grid',
+			},
+		];
+
+		return (
+			<BlockControls>
+				<Toolbar
+					controls={ layoutOptions.map( ( option ) => {
+						const icon = `${ option.value }-view`;
+						const isActive = layout === option.value;
+
+						return {
+							icon     : icon,
+							title    : option.label,
+							isActive : isActive,
+							onClick  : () => {
+								setAttributes(
+									{
+										layout       : option.value,
+										grid_columns : option.value === 'grid' ? 2 : 1,
+									}
+								);
+							},
+						};
+					} ) }
+				/>
+			</BlockControls>
+		);
+	}
+}
+
+export default GridToolbar;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/i18n/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/i18n/index.js
new file mode 100644
index 000000000..57877a1d6
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/i18n/index.js
@@ -0,0 +1,167 @@
+/**
+ * WordPress dependencies
+ */
+const { __ } = wp.i18n;
+
+/**
+ * Split a string into an array with sprintf-style tokens as the delimiter.
+ *
+ * Including the entire match as a capture group causes the tokens to be included in the array
+ * as separate items instead of being removed.
+ *
+ * This allows translated strings, which may contain tokens in different positions than they have
+ * in English, to be manipulated, modified, and included as an array of child elements in a
+ * React template.
+ *
+ * See also arrayTokenReplace
+ *
+ * Example:
+ *
+ *   tokenSplit( 'I accuse %1$s in the %2$s with the %3$s!' )
+ *
+ *   becomes
+ *
+ *   [ 'I accuse ', '%1$s', ' in the ', '%2$s', ' with the ', '%3$s', '!' ]
+ *
+ * @param {string} string
+ *
+ * @return {Array} The split string.
+ */
+export function tokenSplit( string ) {
+	const regex = /(%[1-9]?\$?s)/;
+
+	return string.split( regex );
+}
+
+/**
+ * Replace array items that are sprintf-style tokens with argument values.
+ *
+ * This allows tokens to be replaced with complex objects such as React elements, instead of just strings.
+ * This way, for example, a translation can include both plain strings and HTML and be inserted as an array
+ * of child elements into a React template without having to use RawHTML.
+ *
+ * See also tokenSplit
+ *
+ * Example:
+ *
+ *   arrayTokenReplace(
+ *       [ 'I accuse ', '%1$s', ' in the ', '%2$s', ' with the ', '%3$s', '!' ],
+ *       [ 'Professor Plum', 'Conservatory', 'Wrench' ]
+ *   )
+ *
+ *   becomes
+ *
+ *   [ 'I accuse ', 'Professor Plum', ' in the ', 'Conservatory', ' with the ', 'Wrench', '!' ]
+ *
+ * @param {Array} source
+ * @param {Array} args
+ *
+ * @return {Array} Array with token items replaced.
+ */
+export function arrayTokenReplace( source, args ) {
+	let specificArgIndex,
+		nextArgIndex = 0;
+
+	return source.flatMap( ( value ) => {
+		const regex = /^%([1-9])?\$?s$/;
+		const match = value.match( regex );
+
+		if ( Array.isArray( match ) ) {
+			if ( match.length > 1 && 'undefined' !== typeof match[ 1 ] ) {
+				specificArgIndex = Number( match[ 1 ] ) - 1;
+
+				if ( 'undefined' !== typeof args[ specificArgIndex ] ) {
+					value = args[ specificArgIndex ];
+				}
+			} else {
+				value = args[ nextArgIndex ];
+
+				nextArgIndex++;
+			}
+		}
+
+		return value;
+	} );
+}
+
+/**
+ * Insert a separator item in between each item in an array.
+ *
+ * See https://stackoverflow.com/a/23619085/402766
+ *
+ * @param {Array} array
+ * @param {string} separator
+ *
+ * @return {Array} Array with separator items.
+ */
+export function intersperse( array, separator ) {
+	if ( ! array.length ) {
+		return [];
+	}
+
+	return array
+		.slice( 1 )
+		.reduce(
+			( accumulator, curValue, curIndex ) => {
+				const sep = ( typeof separator === 'function' ) ? sep( curIndex ) : separator;
+
+				return accumulator.concat( [ sep, curValue ] );
+			},
+			[ array[ 0 ] ]
+		);
+}
+
+/**
+ * Add proper list grammar to an array of strings.
+ *
+ * Insert punctuation and conjunctions in between array items so that when it is joined into
+ * a single string, it is a human-readable list.
+ *
+ * Example:
+ *
+ *   listify( [ '<em>apples</em>', '<strong>oranges</strong>', '<del>bananas</del>' ] )
+ *
+ *   becomes
+ *
+ *   [ '<em>apples</em>', ', ', '<strong>oranges</strong>', ', ', ' and ', '<del>bananas</del>' ]
+ *
+ *   so that when the array is joined, it becomes
+ *
+ *   '<em>apples</em>, <strong>oranges</strong>, and <del>bananas</del>'
+ *
+ * @param {Array} array
+ *
+ * @return {Array} Array with separator items.
+ */
+export function listify( array ) {
+	let list = [];
+
+	/* translators: used between list items, there is a space after the comma */
+	const separator = __( ', ', 'wordcamporg' );
+	/* translators: preceding the last item in a list, there are spaces on both sides */
+	const conjunction = __( ' and ', 'wordcamporg' );
+
+	if ( ! Array.isArray( array ) ) {
+		return list;
+	}
+
+	const count = array.length;
+
+	switch ( count ) {
+		case 0:
+			break;
+		case 1:
+			list = array;
+			break;
+		case 2:
+			list = intersperse( array, conjunction );
+			break;
+		default:
+			const [ last, ...initial ] = [ ...array ].reverse();
+
+			list = intersperse( initial, separator ).concat( [ separator, conjunction, last ] );
+			break;
+	}
+
+	return list;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/image-alignment/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/image-alignment/index.js
index ab381f162..2a6639798 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/image-alignment/index.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/image-alignment/index.js
@@ -6,56 +6,39 @@ import classnames from 'classnames';
 /**
  * WordPress dependencies
  */
-const { BaseControl, ButtonGroup, IconButton } = wp.components;
-const { withInstanceId } = wp.compose;
-
-/**
- * Internal dependencies
- */
-import './style.scss';
-
-const data = window.WordCampBlocks.speakers || {};
+const { BaseControl, Toolbar } = wp.components;
 
 function ImageAlignmentControl( {
 	className,
 	label,
 	help,
 	value,
-	instanceId,
 	onChange,
+	alignOptions,
 } ) {
-	const { options } = data;
-	const id = `wordcamp-inspector-image-alignment-control-${ instanceId }`;
-
 	return (
 		<BaseControl
-			id={ id }
 			className={ classnames( 'wordcamp-components-image-alignment', className ) }
 			label={ label }
 			help={ help }
 		>
-			<ButtonGroup>
-				{ options.align.map( ( alignment ) => {
-					const optLabel = alignment.label;
-					const optValue = alignment.value;
-					const isCurrent = value === optValue;
-					const iconSlug = `align-${ optValue }`;
+			<Toolbar
+				controls={ alignOptions.map( ( alignment ) => {
+					const isActive = value === alignment.value;
+					const iconSlug = `align-${ alignment.value }`;
 
-					return (
-						<IconButton
-							key={ optValue }
-							isLarge
-							isPrimary={ isCurrent }
-							aria-pressed={ isCurrent }
-							onClick={ () => onChange( optValue ) }
-							icon={ iconSlug }
-							label={ optLabel }
-						/>
-					);
+					return {
+						title    : alignment.label,
+						icon     : iconSlug,
+						isActive : isActive,
+						onClick  : () => {
+							onChange( alignment.value );
+						},
+					};
 				} ) }
-			</ButtonGroup>
+			/>
 		</BaseControl>
 	);
 }
 
-export default withInstanceId( ImageAlignmentControl );
+export default ImageAlignmentControl;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/image-alignment/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/image-alignment/style.scss
deleted file mode 100644
index a93171bf5..000000000
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/image-alignment/style.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-.wordcamp-components-image-alignment {
-	.components-icon-button {
-		display: inline-flex;
-	}
-}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/item-select/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/item-select/index.js
new file mode 100644
index 000000000..f06826639
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/item-select/index.js
@@ -0,0 +1,126 @@
+/**
+ * External dependencies
+ */
+import Select from 'react-select';
+import classnames from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { BaseControl, Button } = wp.components;
+const { withInstanceId } = wp.compose;
+const { Component } = wp.element;
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import './style.scss';
+
+class ItemSelect extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.state = {
+			selectedOptions: null,
+		};
+
+		this.isOptionDisabled = this.isOptionDisabled.bind( this );
+		this.getNewAttributes = this.getNewAttributes.bind( this );
+	}
+
+	isOptionDisabled( option, selected ) {
+		const { mode } = this.props;
+		let chosen;
+
+		if ( 'loading' === option.type ) {
+			return true;
+		}
+
+		if ( Array.isArray( selected ) && selected.length ) {
+			chosen = selected[ 0 ].type;
+		}
+
+		if ( mode && mode !== option.type ) {
+			return true;
+		}
+
+		return chosen && chosen !== option.type;
+	}
+
+	getNewAttributes() {
+		let attributes = {};
+		const { selectedOptions } = this.state;
+
+		if ( null === selectedOptions ) {
+			return attributes;
+		}
+
+		const newValue = selectedOptions.map( ( option ) => option.value ) || [];
+
+		if ( newValue.length ) {
+			const chosen = selectedOptions[ 0 ].type;
+
+			attributes = {
+				mode     : chosen,
+				item_ids : newValue,
+			};
+		} else {
+			attributes = {
+				mode     : '',
+				item_ids : [],
+			};
+		}
+
+		return attributes;
+	}
+
+	render() {
+		const {
+			instanceId, className, label, help, submitLabel,
+			buildSelectOptions, onChange,
+			selectProps,
+		} = this.props;
+		const value = this.state.selectedOptions || this.props.value;
+		const id = `wordcamp-item-select-control-${ instanceId }`;
+
+		const mergedSelectProps = {
+			options          : buildSelectOptions(),
+			isMulti          : true,
+			isOptionDisabled : this.isOptionDisabled,
+			...selectProps,
+		};
+
+		return (
+			<BaseControl
+				id={ id }
+				className={ classnames( 'wordcamp-item-select', className ) }
+				label={ label }
+				help={ help }
+			>
+				<div className="wordcaselectedOptionsmp-item-select-inner">
+					<Select
+						id={ id }
+						className="wordcamp-item-select-select"
+						value={ value }
+						aria-label={ label }
+						onChange={ ( selectedOptions ) => {
+							this.setState( { selectedOptions } );
+						} }
+						{ ...mergedSelectProps }
+					/>
+					<Button
+						className="wordcamp-item-select-button"
+						isLarge
+						isDefault
+						onClick={ () => onChange( this.getNewAttributes() ) }
+					>
+						{ submitLabel || __( 'Select', 'wordcamporg' ) }
+					</Button>
+				</div>
+			</BaseControl>
+		);
+	}
+}
+
+export default withInstanceId( ItemSelect );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/item-select/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/item-select/style.scss
new file mode 100644
index 000000000..1138ba669
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/item-select/style.scss
@@ -0,0 +1,65 @@
+.wordcamp-block-edit-placeholder .components-placeholder__fieldset {
+	/*
+	 * By default the fieldset has a `z-index` of `1`, and `.editor-block-list__insertion-point` has a value of
+	 * `6`, so the `Add Block` button will stack on top of things like an expanded `ItemSelect` list. This
+	 * corrects that.
+	 */
+	z-index: 7;
+}
+
+.wordcamp-item-select-inner {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	text-align: left;
+}
+
+.wordcamp-item-select-select {
+	flex-grow: 2;
+	margin-right: 1em;
+
+	.rtl &  {
+		margin-left: 1em;
+		margin-right: 0;
+	}
+
+	input[type="text"]:focus {
+		box-shadow: none;
+	}
+}
+
+.wordcamp-item-select-option {
+	display: flex;
+	align-items: center;
+}
+
+.wordcamp-item-select-option-icon-container {
+	display: inline-flex;
+	align-items: center;
+	justify-content: center;
+	flex: 0 0 24px;
+	height: 24px;
+	background-color: #f3f3f4;
+}
+
+.wordcamp-item-select-option-label {
+	margin: 0 0.5em;
+	white-space: normal;
+}
+
+.wordcamp-item-select-option-label-term-count {
+	font-size: 0.6em;
+	display: inline-block;
+	border-radius: 50%;
+	background-color: #f3f3f4;
+	width: 2.2em;
+	height: 2.2em;
+	margin: 0 0.5em;
+	text-align: center;
+	line-height: 2.2em;
+	vertical-align: text-top;
+}
+
+.wordcamp-item-select {
+	width: 100%;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/versatile-select/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/versatile-select/index.js
deleted file mode 100644
index b58e85943..000000000
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/versatile-select/index.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * External dependencies
- */
-import Select from 'react-select';
-import classnames from 'classnames';
-
-/**
- * WordPress dependencies
- */
-const { BaseControl, Button } = wp.components;
-const { Component } = wp.element;
-const { __ } = wp.i18n;
-
-/**
- * Internal dependencies
- */
-import './style.scss';
-
-class VersatileSelect extends Component {
-	constructor( props ) {
-		super( props );
-
-		this.state = {
-			selectedOptions: null,
-		};
-
-		this.render = this.render.bind( this );
-	}
-
-	render() {
-		const { className, label, help, instanceId, onChange, submitLabel } = this.props;
-		const id = `wordcamp-block-versatile-select-control-${ instanceId }`;
-		const value = this.state.selectedOptions || this.props.value;
-
-		return (
-			<BaseControl
-				id={ id }
-				className={ classnames( 'wordcamp-components-versatile-select', className ) }
-				label={ label }
-				help={ help }
-			>
-				<div className={ 'wordcamp-components-versatile-select-inner' }>
-					<Select
-						isMulti={ true }
-						{ ...this.props }
-						value={ value }
-						className={ 'wordcamp-components-versatile-select-select' }
-						onChange={ ( selectedOptions ) => {
-							this.setState( { selectedOptions: selectedOptions } );
-						} }
-					/>
-					<Button
-						className={ 'wordcamp-components-versatile-select-button' }
-						isLarge
-						isDefault
-						onClick={ () => {
-							const { selectedOptions } = this.state;
-							onChange( selectedOptions );
-						} }
-					>
-						{ submitLabel || __( 'Select', 'wordcamporg' ) }
-					</Button>
-				</div>
-			</BaseControl>
-		);
-	}
-}
-
-export default VersatileSelect;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/versatile-select/style.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/versatile-select/style.scss
deleted file mode 100644
index c2c68d777..000000000
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/shared/versatile-select/style.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-.wordcamp-components-versatile-select-inner {
-	display: flex;
-	align-items: center;
-	justify-content: space-between;
-	text-align: left;
-}
-
-.wordcamp-components-versatile-select-select {
-	flex-grow: 2;
-	margin-right: 1em;
-	.rtl &  {
-		margin-left: 1em;
-		margin-right: 0;
-	}
-	input[type="text"]:focus {
-		box-shadow: none;
-	}
-}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.js
index 956c0636e..e17738fcb 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.js
@@ -1,155 +1,149 @@
 /**
  * External dependencies
  */
-import { find, get, head } from 'lodash';
+import { get } from 'lodash';
 import classnames from 'classnames';
 
 /**
  * WordPress dependencies
  */
 const { Disabled } = wp.components;
-const { Component, Fragment, RawHTML } = wp.element;
-const { decodeEntities } = wp.htmlEntities;
-const { __, _n, sprintf } = wp.i18n;
+const { Component, Fragment } = wp.element;
+const { __, _n } = wp.i18n;
+const { escapeAttribute } = wp.escapeHtml;
 
 /**
  * Internal dependencies
  */
-import AvatarImage from '../shared/avatar';
+import { AvatarImage } from '../shared/avatar';
+import { ItemTitle, ItemHTMLContent, ItemPermalink } from '../shared/block-content';
+import { tokenSplit, arrayTokenReplace } from '../shared/i18n';
+import GridContentLayout from '../shared/grid-layout/block-content';
 import './block-content.scss';
 
-class SpeakersBlockContent extends Component {
-	static maybeAddMoreLink( content, add ) {
-		if ( add ) {
-			const more = sprintf(
-				'<a href="#" class="wordcamp-speaker-more-link">%s</a>',
-				__( 'Read more', 'wordcamporg' )
-			);
+function SpeakerSessions( { speaker, tracks } ) {
+	const sessions = get( speaker, '_embedded.sessions', [] );
 
-			const pattern = /<\/p>$/;
+	let output = ( <Fragment>{ null }</Fragment> );
 
-			if ( Array.isArray( content.match( pattern ) ) ) {
-				content = content.replace( pattern, ' ' + more + '</p>' );
-			} else {
-				content += ' ' + more;
-			}
-		}
+	if ( sessions.length ) {
+		output = (
+			<div className={ classnames( 'wordcamp-item-meta', 'wordcamp-speaker-sessions' ) }>
+				<h4 className="wordcamp-speaker-sessions-heading">
+					{ _n( 'Session', 'Sessions', sessions.length, 'wordcamporg' ) }
+				</h4>
 
-		return content;
+				<ul className="wordcamp-speaker-sessions-list">
+					{ sessions.map( ( session ) =>
+						<li
+							key={ escapeAttribute( session.slug ) }
+							className="wordcamp-speaker-session-content"
+						>
+							<Disabled>
+								<a
+									className="wordcamp-speaker-session-link"
+									href={ session.link }
+								>
+									{ session.title.rendered.trim() || __( '(Untitled)', 'wordcamporg' ) }
+								</a>
+								<span className="wordcamp-speaker-session-info">
+									{ session.session_track.length && Array.isArray( tracks ) &&
+										arrayTokenReplace(
+											/* translators: 1: A date; 2: A time; 3: A location; */
+											tokenSplit( __( '%1$s at %2$s in %3$s', 'wordcamporg' ) ),
+											[
+												session.session_date_time.date,
+												session.session_date_time.time,
+												get( tracks.find( ( value ) => {
+													const [ firstTrackId ] = session.session_track;
+													return parseInt( value.id ) === firstTrackId;
+												} ), 'name' ),
+											]
+										)
+									}
+									{ ( ! session.session_track.length || ! Array.isArray( tracks ) ) &&
+										arrayTokenReplace(
+											/* translators: 1: A date; 2: A time; */
+											tokenSplit( __( '%1$s at %2$s', 'wordcamporg' ), ),
+											[
+												session.session_date_time.date,
+												session.session_date_time.time,
+											]
+										)
+									}
+								</span>
+							</Disabled>
+						</li>
+					) }
+				</ul>
+			</div>
+		);
 	}
 
+	return output;
+}
+
+class SpeakersBlockContent extends Component {
 	render() {
 		const { attributes, speakerPosts, tracks } = this.props;
 		const {
-			layout, grid_columns, className,
 			show_avatars, avatar_size, avatar_align,
-			content, speaker_link, show_session,
+			content, show_session,
 		} = attributes;
 
-		let containerClasses = [
-			'wordcamp-speakers-block',
-			'layout-' + layout,
-			className,
-		];
-
-		if ( 'grid' === layout ) {
-			containerClasses.push( 'grid-columns-' + Number( grid_columns ) );
-		}
-
 		return (
-			<ul className={ classnames( containerClasses ) }>
-				{ speakerPosts.map( ( post, i ) =>
-					<li
-						key={ i }
-						className={ classnames( 'wordcamp-speaker', 'wordcamp-speaker-' + post.slug ) }
+			<GridContentLayout
+				className="wordcamp-speakers-block"
+				{ ...this.props }
+			>
+				{ speakerPosts.map( ( post ) =>
+					<div
+						key={ post.slug }
+						className={ classnames(
+							'wordcamp-speaker',
+							'wordcamp-speaker-' + post.slug,
+						) }
 					>
-						<h3 className={ 'wordcamp-speaker-name-heading' }>
-							{ decodeEntities( post.title.rendered.trim() ) || __( '(Untitled)', 'wordcamporg' ) }
-						</h3>
+						<ItemTitle
+							className="wordcamp-speaker-title"
+							headingLevel={ 3 }
+							title={ post.title.rendered.trim() }
+							link={ post.link }
+						/>
 
 						{ show_avatars &&
 							<AvatarImage
-								className={ classnames( 'wordcamp-speaker-avatar', 'align-' + avatar_align ) }
-								name={ decodeEntities( post.title.rendered.trim() ) || '' }
+								className={ classnames( 'wordcamp-speaker-avatar-container', 'align-' + avatar_align ) }
+								name={ post.title.rendered.trim() || '' }
 								size={ avatar_size }
-								url={ post[ 'avatar_urls' ][ '24' ] }
+								url={ post.avatar_urls[ '24' ] }
+								imageLink={ post.link }
 							/>
 						}
 
-						{ ( 'none' !== content || true === speaker_link ) &&
-							<div className={ 'wordcamp-speaker-content' }>
-								{ 'full' === content &&
-									<Disabled>
-										<RawHTML>
-											{ this.constructor.maybeAddMoreLink( post.content.rendered.trim(), speaker_link ).trim() }
-										</RawHTML>
-									</Disabled>
-								}
-								{ 'excerpt' === content &&
-									<Disabled>
-										<RawHTML>
-											{ this.constructor.maybeAddMoreLink( post.excerpt.rendered.trim(), speaker_link ).trim() }
-										</RawHTML>
-									</Disabled>
-								}
-								{ 'none' === content &&
-									<Disabled>
-										<RawHTML>
-											{ this.constructor.maybeAddMoreLink( '', speaker_link ).trim() }
-										</RawHTML>
-									</Disabled>
-								}
-							</div>
+						{ ( 'none' !== content ) &&
+							<ItemHTMLContent
+								className={ classnames( 'wordcamp-speaker-content-' + content ) }
+								content={ 'full' === content ? post.content.rendered.trim() : post.excerpt.rendered.trim() }
+							/>
 						}
 
-						{ true === show_session && post._embedded.sessions &&
-							<Fragment>
-								<h4 className={ 'wordcamp-speaker-session-heading' }>
-									{ _n( 'Session', 'Sessions', post._embedded.sessions.length, 'wordcamporg' ) }
-								</h4>
+						{ true === show_session &&
+							<SpeakerSessions
+								speaker={ post }
+								tracks={ tracks }
+							/>
+						}
 
-								<ul className={ 'wordcamp-speaker-session-list' }>
-									{ post._embedded.sessions.map( ( session, x ) =>
-										<li
-											key={ x }
-											className={ 'wordcamp-speaker-session-content' }
-										>
-											<Disabled>
-												<a
-													className={ 'wordcamp-speaker-session-link' }
-													href={ session.link }
-												>
-													{ decodeEntities( session.title.rendered.trim() ) || __( '(Untitled)', 'wordcamporg' ) }
-												</a>
-												<br />
-												<span className={ 'wordcamp-speaker-session-info' }>
-													{ session.session_track.length &&
-														sprintf(
-															/* translators: 1: A date; 2: A time; 3: A location; */
-															__( '%1$s at %2$s in %3$s', 'wordcamporg' ),
-															session.session_date_time.date,
-															session.session_date_time.time,
-															get( find( tracks, ( value ) => { return parseInt( value.id ) === head( session.session_track ) } ), 'name' )
-														)
-													}
-													{ ! session.session_track.length &&
-														sprintf(
-															/* translators: 1: A date; 2: A time; */
-															__( '%1$s at %2$s', 'wordcamporg' ),
-															session.session_date_time.date,
-															session.session_date_time.time
-														)
-													}
-												</span>
-											</Disabled>
-										</li>
-									) }
-								</ul>
-							</Fragment>
+						{ ( 'full' === content ) &&
+							<ItemPermalink
+								link={ post.link }
+								linkText={ __( 'Visit speaker page', 'wordcamporg' ) }
+							/>
 						}
-					</li>,
+					</div>,
 				) }
-			</ul>
+			</GridContentLayout>
 		);
 	}
 }
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.scss
index f151ad285..b8de91e1d 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.scss
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-content.scss
@@ -1,56 +1,18 @@
-.wordcamp-speakers-block {
-	&,
-	.editor-styles-wrapper & {
+.wordcamp-speaker-sessions-list {
+	// The double-ampersand defeats an overzealous ul rule in Core's editor-blocks.css.
+	// https://css-tricks.com/the-sass-ampersand/#article-header-id-11
+	ul#{&},
+	.block-editor ul#{&} {
 		list-style: none;
-	}
-
-	&.layout-grid {
-		display: grid;
-		grid-template-columns: repeat( 2, 1fr );
-		grid-column-gap: 1em;
-		grid-row-gap: 1em;
-
-		&.grid-columns-3 {
-			grid-template-columns: repeat( 3, 1fr );
-		}
-		&.grid-columns-4 {
-			grid-template-columns: repeat( 4, 1fr );
-		}
-	}
-
-	.wordcamp-speaker:after {
-		content: "";
-		display: table;
-		clear: both;
+		margin: 0;
 	}
 }
 
-.wordcamp-speaker-session-list {
-	&,
-	.editor-styles-wrapper & {
-		list-style: none;
-	}
+.wordcamp-speaker-session-link,
+.wordcamp-speaker-session-info {
+	display: block;
 }
 
-.wordcamp-speaker-avatar {
-	&.align-left,
-	&.align-center,
-	&.align-right {
-		display: block;
-	}
-
-	&.align-left {
-		float: left;
-		margin-right: 1em;
-	}
-
-	&.align-center {
-		margin-left: auto;
-		margin-right: auto;
-	}
-
-	&.align-right {
-		float: right;
-		margin-left: 1em;
-	}
+.wordcamp-speaker-session-info {
+	font-style: italic;
 }
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-controls.js
index ab0112aea..b98548dd2 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-controls.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/block-controls.js
@@ -1,113 +1,96 @@
 /**
  * External dependencies
  */
-import { find } from 'lodash';
+import classnames from 'classnames';
 
 /**
  * WordPress dependencies
  */
-const { Button, Placeholder, Spinner } = wp.components;
-const { Component, Fragment } = wp.element;
+const { Button, Placeholder } = wp.components;
 const { __ } = wp.i18n;
 
 /**
  * Internal dependencies
  */
+import { BlockControls, PlaceholderNoContent, PlaceholderSpecificMode } from '../shared/block-controls';
 import SpeakersBlockContent from './block-content';
 import SpeakersSelect from './speakers-select';
+import { LABEL }                                                        from './index';
 
-const data = window.WordCampBlocks.speakers || {};
-
-class SpeakersBlockControls extends Component {
+class SpeakersBlockControls extends BlockControls {
 	render() {
-		const { attributes, setAttributes, speakerPosts } = this.props;
+		const { icon, attributes, setAttributes, speakerPosts } = this.props;
 		const { mode } = attributes;
-		const { options } = data;
 
 		const hasPosts = Array.isArray( speakerPosts ) && speakerPosts.length;
 
 		if ( mode && ! hasPosts ) {
 			return (
-				<Placeholder
-					icon="megaphone"
-					label={ __( 'Speakers', 'wordcamporg' ) }
-				>
-					{ ! Array.isArray( speakerPosts ) ?
-						<Spinner /> :
-						__( 'No posts found.', 'wordcamporg' )
-					}
-				</Placeholder>
+				<PlaceholderNoContent
+					icon={ icon }
+					label={ LABEL }
+					loading={ ! Array.isArray( speakerPosts ) }
+				/>
 			);
 		}
 
+		let output;
+
 		switch ( mode ) {
 			case 'all' :
-				return (
+				output = (
 					<SpeakersBlockContent { ...this.props } />
 				);
+				break;
 
-			case 'specific_posts' :
-				const postsLabel = find( options.mode, ( modeOption ) => {
-					return 'specific_posts' === modeOption.value;
-				} ).label;
-
-				return (
-					<Fragment>
-						<SpeakersBlockContent { ...this.props } />
-						<Placeholder
-							icon="megaphone"
-							label={ postsLabel }
-						>
+			case 'wcb_speaker' :
+			case 'wcb_speaker_group' :
+				output = (
+					<PlaceholderSpecificMode
+						label={ this.getModeLabel( mode ) }
+						icon={ icon }
+						content={
+							<SpeakersBlockContent { ...this.props } />
+						}
+						placeholderChildren={
 							<SpeakersSelect { ...this.props } />
-						</Placeholder>
-					</Fragment>
+						}
+					/>
 				);
+				break;
 
-			case 'specific_terms' :
-				const termsLabel = find( options.mode, ( modeOption ) => {
-					return 'specific_terms' === modeOption.value;
-				} ).label;
+			default :
+				output = (
+					<Placeholder
+						className={ classnames( 'wordcamp-block-edit-placeholder', 'wordcamp-block-edit-placeholder-no-mode' ) }
+						icon={ icon }
+						label={ LABEL }
+					>
+						<div className="wordcamp-block-edit-mode-option">
+							<Button
+								isDefault
+								isLarge
+								onClick={ () => {
+									setAttributes( { mode: 'all' } );
+								} }
+							>
+								{ this.getModeLabel( 'all' ) }
+							</Button>
+						</div>
 
-				return (
-					<Fragment>
-						<SpeakersBlockContent { ...this.props } />
-						<Placeholder
-							icon="megaphone"
-							label={ termsLabel }
-						>
-							<SpeakersSelect { ...this.props } />
-						</Placeholder>
-					</Fragment>
+						<div className="wordcamp-block-edit-mode-option">
+							<SpeakersSelect
+								icon={ icon }
+								label={ __( 'Choose specific speakers or groups', 'wordcamporg' ) }
+								{ ...this.props }
+							/>
+						</div>
+					</Placeholder>
 				);
+				break;
 		}
 
-		return (
-			<Placeholder
-				icon={ 'megaphone' }
-				label={ __( 'Speakers', 'wordcamporg' ) }
-			>
-				<div className={ 'wordcamp-block-speakers-mode-option' }>
-					<Button
-						isDefault
-						isLarge
-						onClick={ () => {
-							setAttributes( { mode: 'all' } );
-						} }
-					>
-						{ find( options.mode, ( modeOption ) => {
-							return 'all' === modeOption.value;
-						} ).label }
-					</Button>
-				</div>
-
-				<div className={ 'wordcamp-block-speakers-mode-option' }>
-					<SpeakersSelect
-						label={ __( 'Choose specific speakers or groups', 'wordcamporg' ) }
-						{ ...this.props }
-					/>
-				</div>
-			</Placeholder>
-		);
+		return output;
 	}
 }
 
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/edit.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/edit.js
index 487a38e03..334718c66 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/edit.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/edit.js
@@ -6,8 +6,10 @@ import { isUndefined, pickBy, split } from 'lodash';
 /**
  * WordPress dependencies
  */
+const apiFetch = wp.apiFetch;
 const { withSelect } = wp.data;
 const { Component, Fragment } = wp.element;
+const { addQueryArgs } = wp.url;
 
 /**
  * Internal dependencies
@@ -15,17 +17,56 @@ const { Component, Fragment } = wp.element;
 import SpeakersBlockControls from './block-controls';
 import SpeakersInspectorControls from './inspector-controls';
 import SpeakersToolbar from './toolbar';
-import './edit.scss';
+import { ICON }        from './index';
+
+const blockData = window.WordCampBlocks.speakers || {};
 
 const MAX_POSTS = 100;
 
+const ALL_POSTS_QUERY = {
+	orderby  : 'title',
+	order    : 'asc',
+	per_page : MAX_POSTS,
+	_embed   : true,
+};
+
+const ALL_TERMS_QUERY = {
+	orderby  : 'name',
+	order    : 'asc',
+	per_page : MAX_POSTS,
+};
+
 class SpeakersEdit extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.fetchSpeakers();
+	}
+
+	fetchSpeakers() {
+		const allSpeakerPosts = apiFetch( {
+			path: addQueryArgs( `/wp/v2/speakers`, ALL_POSTS_QUERY ),
+		} );
+		const allSpeakerTerms = apiFetch( {
+			path: addQueryArgs( `/wp/v2/speaker_group`, ALL_TERMS_QUERY ),
+		} );
+
+		this.state = {
+			allSpeakerPosts : allSpeakerPosts, // Promise
+			allSpeakerTerms : allSpeakerTerms, // Promise
+		}
+	}
+
 	render() {
 		const { mode } = this.props.attributes;
 
 		return (
 			<Fragment>
-				<SpeakersBlockControls { ...this.props } />
+				<SpeakersBlockControls
+					icon={ ICON }
+					{ ...this.props }
+					{ ...this.state }
+				/>
 				{ mode &&
 					<Fragment>
 						<SpeakersInspectorControls { ...this.props } />
@@ -38,7 +79,7 @@ class SpeakersEdit extends Component {
 }
 
 const speakersSelect = ( select, props ) => {
-	const { mode, post_ids, term_ids, sort } = props.attributes;
+	const { mode, item_ids, sort } = props.attributes;
 	const { getEntityRecords } = select( 'core' );
 	const [ orderby, order ] = split( sort, '_', 2 );
 
@@ -50,17 +91,21 @@ const speakersSelect = ( select, props ) => {
 		context  : 'view',
 	};
 
-	if ( 'specific_posts' === mode && Array.isArray( post_ids ) ) {
-		args.include = post_ids;
-	}
-
-	if ( 'specific_terms' === mode && Array.isArray( term_ids ) ) {
-		args[ 'speaker_group' ] = term_ids;
+	if ( Array.isArray( item_ids ) ) {
+		switch ( mode ) {
+			case 'wcb_speaker':
+				args.include = item_ids;
+				break;
+			case 'wcb_speaker_group':
+				args.speaker_group = item_ids;
+				break;
+		}
 	}
 
 	const speakersQuery = pickBy( args, ( value ) => ! isUndefined( value ) );
 
 	return {
+		blockData    : blockData,
 		speakerPosts : getEntityRecords( 'postType', 'wcb_speaker', speakersQuery ),
 		tracks       : getEntityRecords( 'taxonomy', 'wcb_track', { per_page: MAX_POSTS } ),
 	};
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/edit.scss wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/edit.scss
deleted file mode 100644
index b2ae7e335..000000000
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/edit.scss
+++ /dev/null
@@ -1,36 +0,0 @@
-.wordcamp-block-speakers-mode-option {
-	flex-basis: 100%;
-	padding: 0.5em;
-}
-.wordcamp-speakers-select-option {
-	display: flex;
-	align-items: center;
-}
-.wordcamp-speakers-select-option-icon-container {
-	background-color: #f3f3f4;
-	display: inline-flex;
-	align-items: center;
-	justify-content: center;
-	width: 24px;
-	height: 24px;
-}
-.wordcamp-speakers-select-option-label {
-	margin: 0 0.5em;
-}
-
-.wordcamp-speakers-select-option-label-term-count {
-	font-size: 0.6em;
-	display: inline-block;
-	border-radius: 50%;
-	background-color: #f3f3f4;
-	width: 2.2em;
-	height: 2.2em;
-	margin: 0 0.5em;
-	text-align: center;
-	line-height: 2.2em;
-	vertical-align: text-top;
-}
-
-.wordcamp-components-versatile-select {
-	width: 100%;
-}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/index.js
index c03332b7c..a2a68d636 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/index.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/index.js
@@ -9,14 +9,19 @@ const { __ } = wp.i18n;
 import { edit } from './edit.js';
 
 export const name = 'wordcamp/speakers';
+export const LABEL         = __( 'Speakers', 'wordcamporg' );
+export const ICON  = 'megaphone';
+
+const supports = {
+	'align': [ 'wide', 'full' ],
+};
 
 export const settings = {
 	title       : __( 'Speakers', 'wordcamporg' ),
 	description : __( 'Add a list of speakers.', 'wordcamporg' ),
-	icon        : 'megaphone',
+	icon        : ICON,
 	category    : 'wordcamp',
-	edit,
-	save        : function() {
-		return null;
-	},
+	supports    : supports,
+	edit        : edit,
+	save        : () => null,
 };
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/inspector-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/inspector-controls.js
index e3eb28513..1e7863c82 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/inspector-controls.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/inspector-controls.js
@@ -1,7 +1,7 @@
 /**
  * WordPress dependencies
  */
-const { PanelBody, PanelRow, RangeControl, SelectControl, ToggleControl } = wp.components;
+const { PanelBody, PanelRow, SelectControl, ToggleControl } = wp.components;
 const { InspectorControls } = wp.editor;
 const { Component, Fragment } = wp.element;
 const { __ } = wp.i18n;
@@ -9,34 +9,40 @@ const { __ } = wp.i18n;
 /**
  * Internal dependencies
  */
-import AvatarSizeControl from '../shared/avatar-size';
+import { AvatarSizeControl } from '../shared/avatar';
 import ImageAlignmentControl from '../shared/image-alignment';
+import GridInspectorControl  from '../shared/grid-layout/inspector-control';
 
-const data = window.WordCampBlocks.speakers || {};
+const DEFAULT_SCHEMA = {
+	grid_columns: {
+		default : 2,
+		minimum : 2,
+		maximum : 4,
+	},
+	avatar_size: {
+		default : 150,
+		minimum : 25,
+		maximum : 600,
+	},
+};
+
+const DEFAULT_OPTIONS = {
+	align_image : {},
+	content     : {},
+	sort        : {},
+};
 
 class SpeakerInspectorControls extends Component {
 	render() {
-		const { attributes, setAttributes } = this.props;
-		const { layout, grid_columns, show_avatars, avatar_size, avatar_align, content, speaker_link, show_session, sort } = attributes;
-		const { schema, options } = data;
+		const { attributes, setAttributes, blockData } = this.props;
+		const { show_avatars, avatar_size, avatar_align, content, show_session, sort } = attributes;
+		const { schema = DEFAULT_SCHEMA, options = DEFAULT_OPTIONS } = blockData;
 
 		return (
 			<InspectorControls>
-				{ 'grid' === layout &&
-					<PanelBody title={ __( 'Layout', 'wordcamporg' ) } initialOpen={ true }>
-						<PanelRow>
-							<RangeControl
-								label={ __( 'Grid Columns', 'wordcamporg' ) }
-								value={ Number( grid_columns ) }
-								min={ Number( schema[ 'grid_columns' ].minimum ) }
-								max={ Number( schema[ 'grid_columns' ].maximum ) }
-								initialPosition={ Number( schema[ 'grid_columns' ].default ) }
-								onChange={ ( value ) => setAttributes( { grid_columns: value } ) }
-							/>
-						</PanelRow>
-					</PanelBody>
-				}
-
+				<GridInspectorControl
+					{ ...this.props }
+				/>
 				<PanelBody title={ __( 'Avatar Settings', 'wordcamporg' ) } initialOpen={ true }>
 					<PanelRow>
 						<ToggleControl
@@ -51,10 +57,12 @@ class SpeakerInspectorControls extends Component {
 								<AvatarSizeControl
 									label={ __( 'Size', 'wordcamporg' ) }
 									value={ Number( avatar_size ) }
-									min={ Number( schema[ 'avatar_size' ].minimum ) }
-									max={ Number( schema[ 'avatar_size' ].maximum ) }
-									initialPosition={ Number( schema[ 'avatar_size' ].default ) }
+									initialPosition={ Number( schema.avatar_size.default ) }
 									onChange={ ( value ) => setAttributes( { avatar_size: value } ) }
+									rangeProps={ {
+										min : Number( schema.avatar_size.minimum ),
+										max : Number( schema.avatar_size.maximum ),
+									} }
 								/>
 							</PanelRow>
 							<PanelRow>
@@ -62,6 +70,7 @@ class SpeakerInspectorControls extends Component {
 									label={ __( 'Alignment', 'wordcamporg' ) }
 									value={ avatar_align }
 									onChange={ ( value ) => setAttributes( { avatar_align: value } ) }
+									alignOptions={ options.align_image }
 								/>
 							</PanelRow>
 						</Fragment>
@@ -77,14 +86,6 @@ class SpeakerInspectorControls extends Component {
 							onChange={ ( value ) => setAttributes( { content: value } ) }
 						/>
 					</PanelRow>
-					<PanelRow>
-						<ToggleControl
-							label={ __( 'Speaker Link', 'wordcamporg' ) }
-							help={ __( "Link to a speaker's biography page", 'wordcamporg' ) }
-							checked={ speaker_link }
-							onChange={ ( value ) => setAttributes( { speaker_link: value } ) }
-						/>
-					</PanelRow>
 					<PanelRow>
 						<ToggleControl
 							label={ __( 'Session Information', 'wordcamporg' ) }
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/speakers-select.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/speakers-select.js
index 5bb101ac3..c41140371 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/speakers-select.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/speakers-select.js
@@ -1,240 +1,187 @@
 /**
  * External dependencies
  */
-import { filter, includes, map } from 'lodash';
+import { get, includes } from 'lodash';
 
 /**
  * WordPress dependencies
  */
 const { Dashicon } = wp.components;
-const { withSelect } = wp.data;
 const { Component } = wp.element;
-const { decodeEntities } = wp.htmlEntities;
 const { __ } = wp.i18n;
 
 /**
  * Internal dependencies
  */
-import AvatarImage from '../shared/avatar';
-import VersatileSelect from '../shared/versatile-select';
+import { AvatarImage } from '../shared/avatar';
+import ItemSelect from '../shared/item-select';
 
 class SpeakersSelect extends Component {
 	constructor( props ) {
 		super( props );
 
-		this.optionDisabled = this.optionDisabled.bind( this );
-		this.render = this.render.bind( this );
-	}
-
-	static optionImage( optionData ) {
-		const { type } = optionData;
-
-		let image;
+		this.state = {
+			wcb_speaker       : [],
+			wcb_speaker_group : [],
+			loading           : true,
+		};
 
-		switch ( type ) {
-			case 'post' :
-				image = (
-					<AvatarImage
-						className={ 'wordcamp-speakers-select-option-avatar' }
-						name={ optionData.label }
-						size={ 24 }
-						url={ optionData.avatar }
-					/>
-				);
-				break;
-
-			case 'term' :
-				image = (
-					<div className={ 'wordcamp-speakers-select-option-icon-container' }>
-						<Dashicon
-							className={ 'wordcamp-speakers-select-option-icon' }
-							icon={ 'megaphone' }
-							size={ 16 }
-						/>
-					</div>
-				);
-				break;
-		}
-
-		return image;
+		this.buildSelectOptions = this.buildSelectOptions.bind( this );
+		this.fetchSelectOptions( props );
 	}
 
-	static optionLabel( optionData ) {
-		const { type } = optionData;
-
-		let label;
+	fetchSelectOptions( props ) {
+		const { allSpeakerPosts, allSpeakerTerms } = props;
+
+		const parsedPosts = allSpeakerPosts.then(
+			( fetchedPosts ) => {
+				const posts = fetchedPosts.map( ( post ) => {
+					return {
+						label  : post.title.rendered.trim() || __( '(Untitled)', 'wordcamporg' ),
+						value  : post.id,
+						type   : 'wcb_speaker',
+						avatar : post.avatar_urls[ '24' ],
+					};
+				} );
+
+				this.setState( { wcb_speaker: posts } );
+			}
+		);
 
-		switch ( type ) {
-			case 'post' :
-				label = (
-					<span className={ 'wordcamp-speakers-select-option-label' }>
-						{ optionData.label }
-					</span>
-				);
-				break;
-
-			case 'term' :
-				label = (
-					<span className={ 'wordcamp-speakers-select-option-label' }>
-						{ optionData.label }
-						<span className={ 'wordcamp-speakers-select-option-label-term-count' }>
-							{ optionData.count }
-						</span>
-					</span>
-				);
-				break;
-		}
+		const parsedTerms = allSpeakerTerms.then(
+			( fetchedTerms ) => {
+				const terms = fetchedTerms.map( ( term ) => {
+					return {
+						label : term.name || __( '(Untitled)', 'wordcamporg' ),
+						value : term.id,
+						type  : 'wcb_speaker_group',
+						count : term.count,
+					};
+				} );
+
+				this.setState( { wcb_speaker_group: terms } );
+			}
+		);
 
-		return label;
+		Promise.all( [ parsedPosts, parsedTerms ] ).then( () => {
+			this.setState( { loading: false } );
+		} );
 	}
 
-	optionDisabled( option, selected ) {
-		const { mode } = this.props.attributes;
-		let chosen;
-
-		if ( Array.isArray( selected ) && selected.length ) {
-			chosen = selected[ 0 ].type;
-		}
-
-		if ( 'specific_terms' === mode && 'post' === option.type ) {
-			return true;
-		}
-
-		if ( 'specific_posts' === mode && 'term' === option.type ) {
-			return true;
+	buildSelectOptions( mode ) {
+		const { getOwnPropertyDescriptors } = Object;
+		const options = [];
+
+		const labels = {
+			wcb_speaker       : __( 'Speakers', 'wordcamporg' ),
+			wcb_speaker_group : __( 'Groups', 'wordcamporg' ),
+		};
+
+		for ( const type in getOwnPropertyDescriptors( this.state ) ) {
+			if ( ( ! mode || type === mode ) && this.state[ type ].length ) {
+				options.push( {
+					label   : labels[ type ],
+					options : this.state[ type ],
+				} );
+			}
 		}
 
-		return chosen && chosen !== option.type;
+		return options;
 	}
 
 	render() {
-		const { label, attributes, setAttributes, selectOptions } = this.props;
-		const { mode, post_ids, term_ids } = attributes;
+		const { label, icon, attributes, setAttributes } = this.props;
+		const { mode, item_ids } = attributes;
+		const options = this.buildSelectOptions( mode );
 
-		let currentValue, ids;
+		let value = [];
 
-		switch ( mode ) {
-			case 'specific_posts' :
-				ids = post_ids;
-				break;
+		if ( mode && item_ids.length ) {
+			const modeOptions = get( options, '[0].options', [] );
 
-			case 'specific_terms' :
-				ids = term_ids;
-				break;
-		}
-
-		if ( ids ) {
-			currentValue = filter( selectOptions[ 0 ].options, ( o ) => {
-				return includes( ids, o.value );
+			value = modeOptions.filter( ( option ) => {
+				return includes( item_ids, option.value );
 			} );
 		}
 
 		return (
-			<VersatileSelect
+			<ItemSelect
+				className="wordcamp-speakers-select"
 				label={ label }
-				value={ currentValue }
-				options={ selectOptions }
-				isOptionDisabled={ this.optionDisabled }
-				formatGroupLabel={ ( groupData ) => {
-					return (
-						<span className={ 'wordcamp-speakers-select-option-group-label' }>
-							{ groupData.label }
-						</span>
-					);
-				} }
-				formatOptionLabel={ ( optionData ) => {
-					return (
-						<div className={ 'wordcamp-speakers-select-option' }>
-							{ this.constructor.optionImage( optionData ) }
-							{ this.constructor.optionLabel( optionData ) }
-						</div>
-					);
+				value={ value }
+				buildSelectOptions={ this.buildSelectOptions }
+				onChange={ ( changed ) => setAttributes( changed ) }
+				mode={ mode }
+				selectProps={ {
+					isLoading        : this.state.loading,
+					formatGroupLabel : ( groupData ) => {
+						return (
+							<span className="wordcamp-item-select-option-group-label">
+								{ groupData.label }
+							</span>
+						);
+					},
+					formatOptionLabel: ( optionData ) => {
+						return (
+							<SpeakersOption
+								icon={ icon }
+								{ ...optionData }
+							/>
+						);
+					},
 				} }
-				onChange={ ( selectedOptions ) => {
-					const value = map( selectedOptions, 'value' );
-
-					if ( ! value.length ) {
-						setAttributes( {
-							mode     : '',
-							post_ids : [],
-							term_ids : [],
-						} );
-					} else {
-						const chosen = selectedOptions[ 0 ].type;
-
-						switch ( chosen ) {
-							case 'post' :
-								setAttributes( {
-									mode     : 'specific_posts',
-									post_ids : value,
-								} );
-								break;
-
-							case 'term' :
-								setAttributes( {
-									mode     : 'specific_terms',
-									term_ids : value,
-								} );
-								break;
-						}
-					}
-				} }
-				{ ...this.props }
 			/>
 		);
 	}
 }
 
-const optionsSelect = ( select, props ) => {
-	const { mode } = props.attributes;
-	const { getEntityRecords } = select( 'core' );
-
-	let options = [];
-
-	if ( ! mode || 'specific_terms' === mode ) {
-		const terms = getEntityRecords( 'taxonomy', 'wcb_speaker_group', {
-			orderby  : 'name',
-			order    : 'asc',
-			per_page : 100,
-		} );
-
-		options.push( {
-			label   : __( 'Groups', 'wordcamporg' ),
-			options : map( terms || [], ( term ) => {
-				return {
-					label : decodeEntities( term.name ) || __( '(Untitled)', 'wordcamporg' ),
-					value : term.id,
-					type  : 'term',
-					count : term.count,
-				};
-			} ),
-		} );
-	}
-
-	if ( ! mode || 'specific_posts' === mode ) {
-		const posts = getEntityRecords( 'postType', 'wcb_speaker', {
-			orderby  : 'title',
-			order    : 'asc',
-			per_page : 100,
-			_embed   : true,
-		} );
-
-		options.push( {
-			label   : __( 'Speakers', 'wordcamporg' ),
-			options : map( posts || [], ( post ) => {
-				return {
-					label  : decodeEntities( post.title.rendered.trim() ) || __( '(Untitled)', 'wordcamporg' ),
-					value  : post.id,
-					type   : 'post',
-					avatar : post[ 'avatar_urls' ][ '24' ],
-				};
-			} ),
-		} );
+function SpeakersOption( { type, icon, label = '', avatar = '', count = 0 } ) {
+	let image, content;
+
+	switch ( type ) {
+		case 'wcb_speaker' :
+			image = (
+				<AvatarImage
+					className="wordcamp-item-select-option-avatar"
+					name={ label }
+					size={ 24 }
+					url={ avatar }
+				/>
+			);
+			content = (
+				<span className="wordcamp-item-select-option-label">
+					{ label }
+				</span>
+			);
+			break;
+
+		case 'wcb_speaker_group' :
+			image = (
+				<div className="wordcamp-item-select-option-icon-container">
+					<Dashicon
+						className="wordcamp-item-select-option-icon"
+						icon={ icon }
+						size={ 16 }
+					/>
+				</div>
+			);
+			content = (
+				<span className="wordcamp-item-select-option-label">
+					{ label }
+					<span className="wordcamp-item-select-option-label-term-count">
+						{ count }
+					</span>
+				</span>
+			);
+			break;
 	}
 
-	return {
-		selectOptions: options,
-	};
-};
+	return (
+		<div className="wordcamp-item-select-option">
+			{ image }
+			{ content }
+		</div>
+	);
+}
 
-export default withSelect( optionsSelect )( SpeakersSelect );
+export default SpeakersSelect;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/toolbar.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/toolbar.js
index 207508f54..d4b7190b1 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/toolbar.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/speakers/toolbar.js
@@ -1,34 +1,34 @@
 /**
  * WordPress dependencies
  */
-const { Toolbar } = wp.components;
+const { Toolbar }       = wp.components;
 const { BlockControls } = wp.editor;
-const { Component } = wp.element;
-
-const data = window.WordCampBlocks.speakers || {};
+const { Component }     = wp.element;
 
 class SpeakersToolbar extends Component {
 	render() {
-		const { attributes, setAttributes } = this.props;
-		const { layout } = attributes;
-		const { options } = data;
+		const { attributes, setAttributes, blockData } = this.props;
+		const { layout }                               = attributes;
+		const { layout: layoutOptions = {} }           = blockData.options;
+
+		const controls = layoutOptions.map( ( option ) => {
+			const icon     = `${ option.value }-view`;
+			const isActive = layout === option.value;
+
+			return {
+				icon     : icon,
+				title    : option.label,
+				isActive : isActive,
+				onClick  : () => {
+					setAttributes( { layout: option.value } );
+				},
+			};
+		} );
 
 		return (
 			<BlockControls>
 				<Toolbar
-					controls={ options.layout.map( ( option ) => {
-						const icon     = `${ option.value }-view`;
-						const isActive = layout === option.value;
-
-						return {
-							icon     : icon,
-							title    : option.label,
-							isActive : isActive,
-							onClick  : () => {
-								setAttributes( { layout: option.value } );
-							},
-						};
-					} ) }
+					controls={ controls }
 				/>
 			</BlockControls>
 		);
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/block-content.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/block-content.js
new file mode 100644
index 000000000..c2e657fd3
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/block-content.js
@@ -0,0 +1,189 @@
+/**
+ * External dependencies
+ */
+import { get, difference } from 'lodash';
+import classnames          from 'classnames';
+
+/**
+ * WordPress dependencies
+ */
+const { Component }       = wp.element;
+const { escapeAttribute } = wp.escapeHtml;
+const { __ }              = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import FeaturedImage                  from '../shared/featured-image';
+import GridContentLayout              from '../shared/grid-layout/block-content';
+import {ItemTitle, ItemHTMLContent, ItemPermalink} from '../shared/block-content';
+
+/**
+ * Renders individual sponsor post inside editor.
+ *
+ * @param {Object} sponsorPost
+ * @param {Object} attributes
+ *
+ * @return {Element}
+ */
+function SponsorDetail( { sponsorPost, attributes } ) {
+	const { show_name, show_logo, content, featured_image_width } = attributes;
+	const featuredImageSizes = get( sponsorPost, '_embedded.wp:featuredmedia[0].media_details.sizes', {} );
+	const displayContent = 'full' === content ? sponsorPost.content.rendered.trim() : sponsorPost.excerpt.rendered.trim();
+
+	return (
+		<div className={ 'wordcamp-sponsor-details wordcamp-sponsor-details-' + escapeAttribute( sponsorPost.slug ) }>
+
+			{ ( show_name || show_name === undefined ) &&
+				<ItemTitle
+					className="wordcamp-sponsor-title"
+					headingLevel={ 3 }
+					title={ sponsorPost.title.rendered.trim() }
+					link={ sponsorPost.link }
+				/>
+			}
+
+			{ ( show_logo || show_logo === undefined ) &&
+				<FeaturedImage
+					className={ 'wordcamp-sponsor-featured-image wordcamp-sponsor-logo' }
+					wpMediaDetails={ featuredImageSizes }
+					alt={ sponsorPost.title.rendered }
+					width={ featured_image_width }
+					imageLink={ sponsorPost.link }
+				/>
+			}
+
+			{ ( 'none' !== content ) &&
+				<ItemHTMLContent
+					className={ classnames( 'wordcamp-sponsor-content' ) }
+					content={ displayContent }
+				/>
+			}
+
+			{ ( 'full' === content ) &&
+				<ItemPermalink
+					link={ sponsorPost.link }
+					linkText={ __( 'Visit sponsor page', 'wordcamporg' ) }
+				/>
+			}
+		</div>
+	);
+}
+
+/**
+ * Component for rendering Sponsors post inside editor.
+ */
+class SponsorBlockContent extends Component {
+	constructor( props ) {
+		super( props );
+
+		this.state = {
+			selectedPosts : [],
+			sortBy        : 'name_asc',
+		};
+	}
+
+	/**
+	 * Call back for when featured image URL is changed for a post.
+	 * We are storing the URL object as JSON stringified value because I was
+	 * not able to get object type to work properly. Maybe its not supported in
+	 * Gutenberg yet.
+	 *
+	 * @param {number} sponsorId
+	 * @param {string} imageURL
+	 */
+	setFeaturedImageURL( sponsorId, imageURL ) {
+		const sponsor_image_urls        = this.sponsorImageUrl || {};
+		sponsor_image_urls[ sponsorId ] = imageURL;
+		this.sponsorImageUrl            = sponsor_image_urls;
+
+		const { setAttributes }         = this.props;
+		const sponsor_image_urls_latest = this.sponsorImageUrl;
+
+		setAttributes( {
+			sponsor_image_urls: encodeURIComponent( JSON.stringify( sponsor_image_urls_latest ) ),
+		} );
+	}
+
+	componentWillReceiveProps( nextProps ) {
+		// Sort the sponsor posts. Since this could potentially be expensive, lets do it in componentWillReceiveProps hook and set state with result if anything is changed.
+		const { selectedPosts: newSelectedPosts, attributes: newAttributes, sponsorTermOrder: newSponsorTermOrder } = nextProps;
+		const { sort_by: newSortBy } = newAttributes;
+		const newSelectedPostIds = newSelectedPosts.map( ( post ) => post.id ).sort();
+
+		const { selectedPosts, sortBy } = this.state;
+		const selectedPostsIds = selectedPosts.map( ( post ) => post.id ).sort();
+
+		if ( sortBy === newSortBy && newSelectedPosts.length === selectedPosts.length && difference( selectedPostsIds, newSelectedPostIds ).length === 0 ) {
+			// Everything is same. No need to calculate sorting. Lets bail.
+			return;
+		}
+
+		let sortedPosts;
+
+		switch ( newSortBy ) {
+			case 'sponsor_level' :
+				if ( ! Array.isArray( newSponsorTermOrder ) ||
+					newSponsorTermOrder.length === 0 ) {
+					break;
+				}
+				sortedPosts = newSelectedPosts.sort( ( sponsor1, sponsor2 ) => {
+					return newSponsorTermOrder.indexOf( ( sponsor1.sponsor_level || [] )[ 0 ] ) - newSponsorTermOrder.indexOf( ( sponsor2.sponsor_level || [] )[ 0 ] );
+				} );
+				break;
+
+			case 'name_desc' :
+				sortedPosts = newSelectedPosts.sort( ( sponsor1, sponsor2 ) => {
+					const title1 = sponsor1.title.rendered.trim();
+					const title2 = sponsor2.title.rendered.trim();
+					return title1 > title2 ? -1 : 1;
+				} );
+				break;
+
+			case 'name_asc' :
+			default:
+				sortedPosts = newSelectedPosts.sort( ( sponsor1, sponsor2 ) => {
+					const title1 = sponsor1.title.rendered.trim();
+					const title2 = sponsor2.title.rendered.trim();
+					return title1 < title2 ? -1 : 1;
+				} );
+				break;
+		}
+
+		this.setState( {
+			selectedPosts : sortedPosts,
+			sortBy        : newSortBy,
+		} );
+	}
+
+	/**
+	 * Renders Sponsor Block content inside editor.
+	 *
+	 * @return {Element}
+	 */
+	render() {
+		const { attributes } = this.props;
+		const { selectedPosts } = this.state;
+
+		return (
+			<GridContentLayout
+				className="wordcamp-sponsors-block"
+				{ ...this.props }
+			>
+				{
+					selectedPosts.map( ( post ) => {
+						return (
+							<SponsorDetail
+								key={ post.id }
+								sponsorPost={ post }
+								attributes={ attributes }
+							/>
+						);
+					} )
+				}
+			</GridContentLayout>
+		);
+	}
+}
+
+export default SponsorBlockContent;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/block-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/block-controls.js
new file mode 100644
index 000000000..35248379a
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/block-controls.js
@@ -0,0 +1,342 @@
+/**
+ * External dependencies
+ */
+import { get, includes, intersection } from 'lodash';
+
+/**
+ * WordPress dependencies
+ */
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { BlockControls, PlaceholderNoContent } from '../shared/block-controls';
+import SponsorBlockContent from './block-content';
+import ItemSelect from '../shared/item-select';
+import { LABEL } from './index';
+
+const { Button, Placeholder } = wp.components;
+
+function SponsorOption( option ) {
+	let sponsorOption;
+
+	if ( 'post' === option.type ) {
+		sponsorOption = SponsorPostOption( option );
+	} else {
+		sponsorOption = SponsorLevelOption( option );
+	}
+
+	return sponsorOption;
+}
+
+function SponsorPostOption( sponsor ) {
+	return (
+		<span>
+			{ sponsor.label }
+		</span>
+	);
+}
+
+function SponsorLevelOption( sponsorLevel ) {
+	return (
+		<span className="wordcamp-item-select-option-label">
+			{ sponsorLevel.label }
+			<span className="wordcamp-item-select-option-label-term-count">
+				{ sponsorLevel.count }
+			</span>
+		</span>
+	);
+}
+
+/**
+ * Implements sponsor block controls.
+ */
+class SponsorBlockControls extends BlockControls {
+	constructor( props ) {
+		super( props );
+
+		this.state = {
+			posts            : [],
+			terms            : [],
+			loading          : true,
+			selectedPosts    : [],
+			sponsorTermOrder : [],
+		};
+
+		this.fetchSelectOptions( props );
+	}
+
+	/**
+	 * Set selectedPosts in state so that SponsorsContentBlock can use them.
+	 */
+	setSelectedPosts() {
+		const { fetchedPosts }             = this.state;
+		const { attributes }               = this.props;
+		const { post_ids, term_ids, mode } = attributes;
+		const selectedPosts                = [];
+
+		if ( ! fetchedPosts || ! fetchedPosts.length ) {
+			return;
+		}
+
+		for ( const post of fetchedPosts ) {
+			if ( ! post.hasOwnProperty( 'id' ) ) {
+				continue;
+			}
+
+			switch ( mode ) {
+				case 'all':
+					selectedPosts.push( post );
+					break;
+
+				case 'specific_posts':
+					if ( -1 !== post_ids.indexOf( post.id ) ) {
+						selectedPosts.push( post );
+					}
+					break;
+
+				case 'specific_terms':
+					if ( intersection( term_ids, post.sponsor_level || [] ).length ) {
+						selectedPosts.push( post );
+					}
+					break;
+
+				default:
+					break;
+			}
+		}
+
+		this.setState( { selectedPosts } );
+	}
+
+	/**
+	 * Initialize posts and terms arrays and sets loading state till promises
+	 * are not resolved. We will also set posts and terms in array that we want to display.
+	 *
+	 * @param {Object} props
+	 */
+	fetchSelectOptions( props ) {
+		const { sponsorPosts, sponsorLevels, siteSettings } = props;
+
+		const parsedPosts = sponsorPosts.then(
+			( fetchedPosts ) => {
+				const posts = fetchedPosts.map(
+					( post ) => {
+						const label = post.title.rendered.trim() || __( '(Untitled)', 'wordcamporg' );
+
+						return {
+							label             : label,
+							value             : post.id,
+							type              : 'post',
+							featuredImageData : get( post, '_embedded.wp:featuredmedia[0].media_details', '' ),
+						};
+					}
+				);
+
+				this.setState( { fetchedPosts } );
+				this.setState( { posts } );
+			}
+		).catch( ( e ) => {
+			console.error( 'Error fetching data', e );
+		} );
+
+		const parsedTerms = sponsorLevels.then(
+			( fetchedTerms ) => {
+				const terms = fetchedTerms.map( ( term ) => {
+					return {
+						label : term.name.trim() || __( '(Untitled)', 'wordcamporg' ),
+						value : term.id,
+						type  : 'term',
+						count : term.count,
+					};
+				} );
+
+				this.setState( { fetchedTerms } );
+				this.setState( { terms } );
+			}
+		).catch( ( e ) => {
+			console.error( 'Error fetching data', e );
+		} );
+
+		const parsedSettings = siteSettings.then(
+			( fetchedSettings ) => {
+				const sponsorTermOrder = fetchedSettings.wcb_sponsor_level_order;
+
+				this.setState( { sponsorTermOrder } );
+			}
+		);
+
+		Promise.all( [ parsedPosts, parsedTerms, parsedSettings ] ).then( () => {
+			this.setState( { loading: false } );
+
+			// Enqueue selected posts in next event loop, so that state is up to date when `setSelectedPosts` method actually runs.
+			setTimeout( () => this.setSelectedPosts() );
+		} );
+	}
+
+	/**
+	 * Sets `mode`, `term_ids` and `post_ids` attribute when `Apply` button is
+	 * clicked. Pass `onChange` prop to override.
+	 *
+	 * @param {Array} selectedOptions Array of values, type of selected options
+	 */
+	onChange( selectedOptions = {} ) {
+		const { setAttributes } = this.props;
+		const newValue          = selectedOptions.item_ids;
+		const chosen            = selectedOptions.mode;
+
+		if ( newValue && chosen ) {
+			switch ( chosen ) {
+				case 'post' :
+					setAttributes( {
+						mode     : 'specific_posts',
+						post_ids : newValue,
+					} );
+					break;
+
+				case 'term' :
+					setAttributes( {
+						mode     : 'specific_terms',
+						term_ids : newValue,
+					} );
+					break;
+			}
+		} else {
+			setAttributes( {
+				mode     : '',
+				post_ids : [],
+				term_ids : [],
+			} );
+		}
+
+		setTimeout( () => this.setSelectedPosts() );
+	}
+
+	/**
+	 * Generate options array to be passed to select2.
+	 *
+	 * @return {Array}
+	 */
+	buildSelectOptions() {
+		const { posts, terms } = this.state;
+		const options = [];
+
+		options.push( {
+			label   : __( 'Sponsor Levels', 'wordcamporg' ),
+			options : terms,
+		} );
+
+		options.push( {
+			label   : __( 'Sponsors', 'wordcamporg' ),
+			options : posts,
+		} );
+
+		return options;
+	}
+
+	/**
+	 * Renders Sponsor Block Control view
+	 *
+	 * @return {Element}
+	 */
+	render() {
+		const { icon, attributes, setAttributes, sponsorPosts } = this.props;
+		const { mode, post_ids, term_ids } = attributes;
+		const { fetchedPosts, posts, terms, selectedPosts, sponsorTermOrder } = this.state;
+		const hasPosts = Array.isArray( fetchedPosts ) && fetchedPosts.length;
+
+		// Check if posts are still loading.
+		if ( mode && ! hasPosts ) {
+			return (
+				<PlaceholderNoContent
+					label={ LABEL }
+					loading={ () => {
+						return ! Array.isArray( sponsorPosts );
+					} }
+				/>
+			);
+		}
+
+		let selectedOptions = [];
+
+		switch ( mode ) {
+			case 'all' :
+				break;
+			case 'specific_posts' :
+				selectedOptions = posts.filter( ( post ) => {
+					return includes( post_ids, post.value );
+				} );
+				break;
+			case 'specific_terms' :
+				selectedOptions = terms.filter( ( term ) => {
+					return includes( term_ids, term.value );
+				} );
+				break;
+			default:
+				break;
+		}
+
+		return (
+			<div>
+				<SponsorBlockContent
+					selectedPosts={ selectedPosts }
+					sponsorTermOrder={ sponsorTermOrder }
+					{ ...this.props }
+				/>
+
+				{ 'all' !== mode &&
+					<Placeholder
+						icon={ icon }
+						label={ __( 'Sponsors', 'wordcamporg' ) }
+					>
+						<div className="" >
+							<Button
+								isDefault
+								isLarge
+								onClick={
+									() => {
+										setAttributes( { mode: 'all' } );
+										setTimeout( () => this.setSelectedPosts() );
+									}
+								}
+							>
+								{ __( 'List all sponsors', 'wordcamporg' ) }
+							</Button>
+						</div>
+
+						<div className="wordcamp-block-edit-mode-option">
+							<ItemSelect
+								buildSelectOptions={
+									() => {
+										return this.buildSelectOptions();
+									}
+								}
+								isLoading={ this.state.loading }
+								onChange={
+									( newOptions ) => {
+										return this.onChange( newOptions );
+									}
+								}
+								selectProps={
+									{
+										formatOptionLabel: ( optionData ) => {
+											return (
+												<SponsorOption { ...optionData } />
+											);
+										},
+									}
+								}
+								label={ __( 'Or, choose specific sponsors or levels', 'wordcamporg' ) }
+								value={ selectedOptions }
+								{ ...this.props }
+							/>
+						</div>
+					</Placeholder>
+				}
+			</div>
+		);
+	}
+}
+
+export default SponsorBlockControls;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/edit.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/edit.js
new file mode 100644
index 000000000..0ce68f606
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/edit.js
@@ -0,0 +1,91 @@
+/**
+ * Internal dependencies
+ */
+import SponsorInspectorControls from './inspector-controls';
+import SponsorBlockControls     from './block-controls';
+import GridToolbar              from '../shared/grid-layout/toolbar';
+import { ICON }                 from './index';
+
+/**
+ * WordPress dependencies
+ */
+const { Component, Fragment } = wp.element;
+const apiFetch                = wp.apiFetch;
+const { addQueryArgs }        = wp.url;
+
+const MAX_PAGE = 100;
+
+class SponsorsEdit extends Component {
+	/**
+	 * Constructor for SponsorsEdit block.
+	 *
+	 * @param {Array} props
+	 */
+	constructor( props ) {
+		super( props );
+
+		this.fetchSponsors();
+	}
+
+	fetchSponsors() {
+		const sponsorQuery = {
+			orderby  : 'title',
+			order    : 'asc',
+			per_page : MAX_PAGE,
+			_embed   : true,
+		};
+
+		const sponsorLevelQuery = {
+			orderby  : 'id',
+			order    : 'asc',
+			per_page : MAX_PAGE,
+			_embed   : true,
+		};
+
+		this.state = {
+			sponsorPosts  : apiFetch( { path: addQueryArgs( '/wp/v2/sponsors', sponsorQuery ) } ),
+			sponsorLevels : apiFetch( { path: addQueryArgs( '/wp/v2/sponsor_level', sponsorLevelQuery ) } ),
+			siteSettings  : apiFetch( { path: addQueryArgs( '/wp/v2/settings', {} ) } ),
+		};
+	}
+
+	/**
+	 * Renders SponsorEdit component.
+	 *
+	 * @return {Element}
+	 */
+	render() {
+		const { sponsorPosts, sponsorLevels, siteSettings } = this.state;
+		const { attributes }                                = this.props;
+		const { mode }                                      = attributes;
+
+		return (
+			<Fragment>
+				{
+					<SponsorBlockControls
+						icon={ ICON }
+						sponsorPosts={ sponsorPosts }
+						sponsorLevels={ sponsorLevels }
+						siteSettings={ siteSettings }
+						{ ...this.props }
+					/>
+				}
+				<Fragment>
+					<SponsorInspectorControls
+						sponsorPosts={ sponsorPosts }
+						sponsorLevels={ sponsorLevels }
+						{ ...this.props }
+					/>
+
+					{ mode &&
+						<GridToolbar
+							{ ...this.props }
+						/>
+					}
+				</Fragment>
+			</Fragment>
+		);
+	}
+}
+
+export const edit = SponsorsEdit;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/index.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/index.js
new file mode 100644
index 000000000..035810aa3
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/index.js
@@ -0,0 +1,27 @@
+/**
+ * WordPress dependencies
+ */
+const { __ } = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import { edit } from './edit.js';
+
+export const name  = 'wordcamp/sponsors';
+export const LABEL = __( 'Sponsors', 'wordcamporg' );
+export const ICON  = 'heart';
+
+const supports = {
+	'align': [ 'wide', 'full' ],
+};
+
+export const settings = {
+	title       : __( 'Sponsors', 'wordcamporg' ),
+	description : __( "We wouldn't have WordCamp without their support.", 'wordcamporg' ),
+	icon        : ICON,
+	category    : 'wordcamp',
+	supports    : supports,
+	edit        : edit,
+	save        : () => null,
+};
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/inspector-controls.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/inspector-controls.js
new file mode 100644
index 000000000..997341642
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/inspector-controls.js
@@ -0,0 +1,100 @@
+/**
+ * WordPress dependencies.
+ */
+const { Component }                                         = wp.element;
+const { InspectorControls }                                 = wp.editor;
+const { PanelBody, PanelRow, ToggleControl, SelectControl } = wp.components;
+const { __ }                                                = wp.i18n;
+
+/**
+ * Internal dependencies
+ */
+import GridInspectorControl           from '../shared/grid-layout/inspector-control';
+import FeaturedImageInspectorControls from '../shared/featured-image/inspector-control';
+
+/**
+ * Class for defining Inspector control in sponsor block.
+ */
+class SponsorInspectorControls extends Component {
+	/**
+	 * Renders inspector controls.
+	 *
+	 * @return {Element}
+	 */
+	render() {
+		const sortOptions = [
+			{ label: __( 'Name (A to Z)', 'wordcamporg' ), value: 'name_asc'      },
+			{ label: __( 'Name (Z to A)', 'wordcamporg' ), value: 'name_desc'     },
+			{ label: __( 'Sponsor Level', 'wordcamporg' ), value: 'sponsor_level' },
+		];
+
+		const contentOptions = [
+			{ label: __( 'Full',    'wordcamporg' ), value: 'full'    },
+			{ label: __( 'Excerpt', 'wordcamporg' ), value: 'excerpt' },
+			{ label: __( 'None',    'wordcamporg' ), value: 'none'    },
+		];
+
+		const { attributes, setAttributes }                            = this.props;
+		const { show_name, show_logo, sort_by, content } = attributes;
+
+		return (
+			<InspectorControls>
+				<GridInspectorControl
+					{ ...this.props }
+				/>
+
+				<PanelBody
+					title={ __( 'Content Settings', 'wordcamporg' ) }
+					initialOpen={ true }
+				>
+					<PanelRow>
+						<ToggleControl
+							label={ __( 'Name', 'wordcamporg' ) }
+							help={ __( 'Show or hide sponsor name', 'wordcamporg' ) }
+							checked={ show_name === undefined ? true : show_name }
+							onChange={ ( value ) => setAttributes( { show_name: value } ) }
+						/>
+					</PanelRow>
+
+					<PanelRow>
+						<ToggleControl
+							label={ __( 'Logo', 'wordcamporg' ) }
+							help={ __( 'Show or hide sponsor logo', 'wordcamporg' ) }
+							checked={ show_logo === undefined ? true : show_logo }
+							onChange={ ( value ) => setAttributes( { show_logo: value } ) }
+						/>
+					</PanelRow>
+
+					<PanelRow>
+						<SelectControl
+							label={ __( 'Description', 'wordcamporg' ) }
+							value={ content }
+							options={ contentOptions }
+							help={ __( 'Length of sponsor description', 'wordcamporg' ) }
+							onChange={ ( value ) => setAttributes( { content: value } ) }
+						/>
+					</PanelRow>
+
+					<PanelRow>
+						<SelectControl
+							label={ __( 'Sort by', 'wordcamporg' ) }
+							options={ sortOptions }
+							value={ sort_by || 'name_asc' }
+							onChange={ ( value ) => setAttributes( { sort_by: value } ) }
+							help={ __( 'Configure sponsor levels from the Sponsor -> Order Sponsor Levels page.', 'wordcamporg' ) }
+						/>
+					</PanelRow>
+				</PanelBody>
+
+				<FeaturedImageInspectorControls
+					title={ __( 'Logo size', 'wordcamporg' ) }
+					help={ __( 'Specify logo width, or select a predefined size.', 'wordcamporg' ) }
+					selectLabel={ __( 'Size', 'wordcamporg' ) }
+					{ ...this.props }
+				/>
+			</InspectorControls>
+		);
+	}
+}
+
+export default SponsorInspectorControls;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/babel.config.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/babel.config.js
index 64997f232..a4c1b360b 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/babel.config.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/babel.config.js
@@ -2,14 +2,14 @@ module.exports = function( api ) {
 	api.cache( true );
 
 	return {
-		presets: [ '@wordpress/babel-preset-default' ],
-		plugins: [
+		presets : [ '@wordpress/babel-preset-default' ],
+		plugins : [
 			[
 				'@wordpress/babel-plugin-import-jsx-pragma',
 				{
-					scopeVariable: 'createElement',
-					source: '@wordpress/element',
-					isDefault: false,
+					scopeVariable : 'createElement',
+					source        : '@wordpress/element',
+					isDefault     : false,
 				},
 			],
 		],
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/blocks.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/blocks.php
index b73f91cbb..37963736c 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/blocks.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/blocks.php
@@ -2,8 +2,6 @@
 namespace WordCamp\Blocks;
 defined( 'WPINC' ) || die();
 
-use WP_Post;
-
 define( __NAMESPACE__ . '\PLUGIN_DIR', \plugin_dir_path( __FILE__ ) );
 define( __NAMESPACE__ . '\PLUGIN_URL', \plugins_url( '/', __FILE__ ) );
 
@@ -13,24 +11,27 @@ define( __NAMESPACE__ . '\PLUGIN_URL', \plugins_url( '/', __FILE__ ) );
  * @return void
  */
 function load() {
-	if ( ! function_exists( 'register_block_type' ) ) {
-		return;
-	}
+	require_once PLUGIN_DIR . 'includes/shared/content.php';
+	require_once PLUGIN_DIR . 'includes/shared/definitions.php';
+	require_once PLUGIN_DIR . 'includes/shared/featured-image.php';
+	require_once PLUGIN_DIR . 'includes/shared/grid-layout.php';
 
+	require_once PLUGIN_DIR . 'includes/organizers.php';
+	require_once PLUGIN_DIR . 'includes/sessions.php';
 	require_once PLUGIN_DIR . 'includes/speakers.php';
-}
+	require_once PLUGIN_DIR . 'includes/sponsors.php';
 
+}
 add_action( 'plugins_loaded', __NAMESPACE__ . '\load' );
 
 /**
  * Add block categories for custom blocks.
  *
- * @param array   $default_categories
- * @param WP_Post $post
+ * @param array $default_categories
  *
  * @return array
  */
-function register_block_categories( $default_categories, $post ) {
+function register_block_categories( $default_categories ) {
 	$default_categories[] = array(
 		'slug'  => 'wordcamp',
 		'title' => __( 'WordCamp Blocks', 'wordcamporg' ),
@@ -39,7 +40,7 @@ function register_block_categories( $default_categories, $post ) {
 	return $default_categories;
 }
 
-add_filter( 'block_categories', __NAMESPACE__ . '\register_block_categories', 10, 2 );
+add_filter( 'block_categories', __NAMESPACE__ . '\register_block_categories' );
 
 /**
  * Register assets.
@@ -61,6 +62,7 @@ function register_assets() {
 		PLUGIN_URL . 'assets/blocks.min.js',
 		array(
 			'lodash',
+			'wp-api-fetch',
 			'wp-blocks',
 			'wp-components',
 			'wp-compose',
@@ -91,29 +93,7 @@ function register_assets() {
 		'before'
 	);
 
-	if ( function_exists( 'wp_set_script_translations' ) ) {
-		// todo: Remove the existence check once we are running on 5.0.x
-		wp_set_script_translations( 'wordcamp-blocks', 'wordcamporg' );
-	}
+	wp_set_script_translations( 'wordcamp-blocks', 'wordcamporg' );
 }
 
 add_action( 'init', __NAMESPACE__ . '\register_assets', 9 );
-
-/**
- * Fix a CSS bug in Gutenberg when PanelRows are used with RangeControls.
- *
- * @todo Remove this when https://github.com/WordPress/gutenberg/pull/4564 is fixed.
- */
-function fix_core_max_width_bug() {
-	?>
-
-	<style>
-		.components-panel__row label {
-			max-width: 100% !important;
-		}
-	</style>
-
-	<?php
-}
-
-add_action( 'admin_print_styles', __NAMESPACE__ . '\fix_core_max_width_bug' );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/organizers.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/organizers.php
new file mode 100644
index 000000000..9ff9081a4
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/organizers.php
@@ -0,0 +1,217 @@
+<?php
+
+namespace WordCamp\Blocks\Organizers;
+use WordCamp\Blocks;
+use function WordCamp\Blocks\Shared\Definitions\{ get_shared_definitions, get_shared_definition };
+
+defined( 'WPINC' ) || die();
+
+
+/**
+ * Register block types and enqueue scripts.
+ *
+ * @return void
+ */
+function init() {
+	register_block_type(
+		'wordcamp/organizers',
+		[
+			'attributes'      => get_attributes_schema(),
+			'render_callback' => __NAMESPACE__ . '\render',
+			'editor_script'   => 'wordcamp-blocks',
+			'editor_style'    => 'wordcamp-blocks',
+			'style'           => 'wordcamp-blocks',
+		]
+	);
+}
+add_action( 'init', __NAMESPACE__ . '\init' );
+
+/**
+ * Render the block on the front end.
+ *
+ * @param array $attributes Block attributes.
+ *
+ * @return string
+ */
+function render( $attributes ) {
+	$html       = '';
+	$defaults   = wp_list_pluck( get_attributes_schema(), 'default' );
+	$attributes = wp_parse_args( $attributes, $defaults );
+	$organizers = get_organizer_posts( $attributes );
+
+	$container_classes = [
+		'wordcamp-block',
+		'wordcamp-block-post-list',
+		'wordcamp-organizers-block',
+		'layout-' . sanitize_html_class( $attributes['layout'] ),
+		sanitize_html_class( $attributes['className'] ),
+	];
+
+	if ( 'grid' === $attributes['layout'] ) {
+		$container_classes[] = 'grid-columns-' . absint( $attributes['grid_columns'] );
+	}
+	if ( ! empty( $attributes['align'] ) ) {
+		$container_classes[] = 'align' . sanitize_html_class( $attributes['align'] );
+	}
+
+	$container_classes = implode( ' ', $container_classes );
+
+	if ( $attributes['mode'] ) {
+		ob_start();
+		require Blocks\PLUGIN_DIR . 'view/organizers.php';
+		$html = ob_get_clean();
+	}
+
+	return $html;
+}
+
+/**
+ * Add data to be used by the JS scripts in the block editor.
+ *
+ * @param array $data
+ *
+ * @return array
+ */
+function add_script_data( array $data ) {
+	$data['organizers'] = [
+		'schema'  => get_attributes_schema(),
+		'options' => get_options(),
+	];
+
+	return $data;
+}
+add_filter( 'wordcamp_blocks_script_data', __NAMESPACE__ . '\add_script_data' );
+
+/**
+ * Get the posts to display in the block.
+ *
+ * @param array $attributes
+ *
+ * @return array
+ */
+function get_organizer_posts( array $attributes ) {
+	$post_args = [
+		'post_type'      => 'wcb_organizer',
+		'post_status'    => 'publish',
+		'posts_per_page' => -1,
+	];
+
+	$sort = explode( '_', $attributes['sort'] );
+
+	if ( 2 === count( $sort ) ) {
+		$post_args['orderby'] = $sort[0];
+		$post_args['order']   = $sort[1];
+	}
+
+	switch ( $attributes['mode'] ) {
+		case 'wcb_organizer':
+			$post_args['post__in'] = $attributes['item_ids'];
+			break;
+
+		case 'wcb_organizer_team':
+			$post_args['tax_query'] = [
+				[
+					'taxonomy' => $attributes['mode'],
+					'field'    => 'id',
+					'terms'    => $attributes['item_ids'],
+				],
+			];
+			break;
+	}
+
+	return get_posts( $post_args );
+}
+
+/**
+ * Get the schema for the block's attributes.
+ *
+ * @return array
+ */
+function get_attributes_schema() {
+	$schema = array_merge(
+		get_shared_definitions(
+			[
+				'content',
+				'grid_columns',
+				'item_ids',
+				'layout',
+			],
+			'attribute'
+		),
+		[
+			'align'        => get_shared_definition( 'align_block', 'attribute' ),
+			'avatar_align' => get_shared_definition( 'align_image', 'attribute' ),
+			'avatar_size'  => [
+				'type'    => 'integer',
+				'minimum' => 25,
+				'maximum' => 600,
+				'default' => 150,
+			],
+			'className'    => get_shared_definition( 'string_empty', 'attribute' ),
+			'mode'         => [
+				'type'    => 'string',
+				'enum'    => wp_list_pluck( get_options( 'mode' ), 'value' ),
+				'default' => '',
+			],
+			'show_avatars' => get_shared_definition( 'boolean_true', 'attribute' ),
+			'sort'         => [
+				'type'    => 'string',
+				'enum'    => wp_list_pluck( get_options( 'sort' ), 'value' ),
+				'default' => 'title_asc',
+			],
+		]
+	);
+
+	return $schema;
+}
+
+/**
+ * Get the label/value pairs for all options or a specific type.
+ *
+ * @param string $type
+ *
+ * @return array
+ */
+function get_options( $type = '' ) {
+	$options = array_merge(
+		get_shared_definitions(
+			[
+				'align_block',
+				'align_image',
+				'content',
+				'layout',
+			],
+			'option'
+		),
+		[
+			'mode' => [
+				[
+					'label' => '',
+					'value' => '',
+				],
+				[
+					'label' => _x( 'List all organizers', 'mode option', 'wordcamporg' ),
+					'value' => 'all',
+				],
+				[
+					'label' => _x( 'Choose organizers', 'mode option', 'wordcamporg' ),
+					'value' => 'wcb_organizer',
+				],
+				[
+					'label' => _x( 'Choose teams', 'mode option', 'wordcamporg' ),
+					'value' => 'wcb_organizer_team',
+				],
+			],
+			'sort' => array_merge(
+				get_shared_definition( 'sort_title', 'option' ),
+				get_shared_definition( 'sort_date', 'option' )
+			),
+		]
+	);
+
+	if ( $type ) {
+		return empty( $options[ $type ] ) ? [] : $options[ $type ];
+	}
+
+	return $options;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/sessions.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/sessions.php
new file mode 100644
index 000000000..6724f4991
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/sessions.php
@@ -0,0 +1,318 @@
+<?php
+
+namespace WordCamp\Blocks\Sessions;
+use WordCamp\Blocks;
+use function WordCamp\Blocks\Shared\Components\{ render_grid_layout };
+use function WordCamp\Blocks\Shared\Definitions\{ get_shared_definitions, get_shared_definition };
+
+defined( 'WPINC' ) || die();
+
+/**
+ * Register block types and enqueue scripts.
+ *
+ * @return void
+ */
+function init() {
+	register_block_type(
+		'wordcamp/sessions',
+		[
+			'attributes'      => get_attributes_schema(),
+			'render_callback' => __NAMESPACE__ . '\render',
+			'editor_script'   => 'wordcamp-blocks',
+			'editor_style'    => 'wordcamp-blocks',
+			'style'           => 'wordcamp-blocks',
+		]
+	);
+}
+
+add_action( 'init', __NAMESPACE__ . '\init' );
+
+/**
+ * Render the block on the front end.
+ *
+ * @param array $attributes Block attributes.
+ *
+ * @return string
+ */
+function render( $attributes ) {
+	if ( ! $attributes['mode'] ) {
+		return;
+	}
+
+	$html       = '';
+	$defaults   = wp_list_pluck( get_attributes_schema(), 'default' );
+	$attributes = wp_parse_args( $attributes, $defaults );
+	$sessions   = get_session_posts( $attributes );
+
+	$speakers = [];
+	if ( ! empty( $sessions ) && true === $attributes['show_speaker'] ) {
+		$speakers = get_session_speakers( wp_list_pluck( $sessions, 'ID' ) );
+	}
+
+	$container_classes = [
+		'wordcamp-block',
+		'wordcamp-block-post-list',
+		'wordcamp-sessions-block',
+		sanitize_html_class( $attributes['className'] ),
+	];
+	if ( ! empty( $attributes['align'] ) ) {
+		$container_classes[] = 'align' . sanitize_html_class( $attributes['align'] );
+	}
+
+	$rendered_session_posts = [];
+	foreach ( $sessions as $session ) {
+		ob_start();
+		require Blocks\PLUGIN_DIR . 'view/sessions.php';
+		$rendered_session_posts[] = ob_get_clean();
+	}
+
+	$html = render_grid_layout(
+		$attributes['layout'],
+		$attributes['grid_columns'],
+		$rendered_session_posts,
+		$container_classes
+	);
+
+	return $html;
+}
+
+/**
+ * Add data to be used by the JS scripts in the block editor.
+ *
+ * @param array $data
+ *
+ * @return array
+ */
+function add_script_data( array $data ) {
+	$data['sessions'] = [
+		'schema'  => get_attributes_schema(),
+		'options' => get_options(),
+	];
+
+	return $data;
+}
+
+add_filter( 'wordcamp_blocks_script_data', __NAMESPACE__ . '\add_script_data' );
+
+/**
+ * Get the schema for the block's attributes.
+ *
+ * @return array
+ */
+function get_attributes_schema() {
+	$schema = array_merge(
+		get_shared_definitions(
+			[
+				'content',
+				'grid_columns',
+				'item_ids',
+				'layout',
+			],
+			'attribute'
+		),
+		[
+			'className'            => get_shared_definition( 'string_empty', 'attribute' ),
+			'featured_image_width' => array(
+				'type'    => 'integer',
+				'default' => 150,
+			),
+			'image_align'          => get_shared_definition( 'align_image', 'attribute' ),
+			'image_size'           => [
+				'type'    => 'integer',
+				'minimum' => 25,
+				'maximum' => 600,
+				'default' => 150,
+			],
+			'mode'                 => [
+				'type'    => 'string',
+				'enum'    => wp_list_pluck( get_options( 'mode' ), 'value' ),
+				'default' => '',
+			],
+			'show_category'        => get_shared_definition( 'boolean_false', 'attribute' ),
+			'show_images'          => get_shared_definition( 'boolean_true', 'attribute' ),
+			'show_meta'            => get_shared_definition( 'boolean_false', 'attribute' ),
+			'show_speaker'         => get_shared_definition( 'boolean_false', 'attribute' ),
+			'sort'                 => [
+				'type'    => 'string',
+				'enum'    => wp_list_pluck( get_options( 'sort' ), 'value' ),
+				'default' => 'session_time',
+			],
+		]
+	);
+
+	return $schema;
+}
+
+/**
+ * Get the label/value pairs for all options or a specific type.
+ *
+ * @param string $type
+ *
+ * @return array
+ */
+function get_options( $type = '' ) {
+	$options = array_merge(
+		get_shared_definitions(
+			[
+				'align_block',
+				'align_image',
+				'content',
+				'layout',
+			],
+			'option'
+		),
+		[
+			'mode' => [
+				[
+					'label' => '',
+					'value' => '',
+				],
+				[
+					'label' => _x( 'List all sessions', 'mode option', 'wordcamporg' ),
+					'value' => 'all',
+				],
+				[
+					'label' => _x( 'Choose sessions', 'mode option', 'wordcamporg' ),
+					'value' => 'wcb_session',
+				],
+				[
+					'label' => _x( 'Choose tracks', 'mode option', 'wordcamporg' ),
+					'value' => 'wcb_track',
+				],
+				[
+					'label' => _x( 'Choose session categories', 'mode option', 'wordcamporg' ),
+					'value' => 'wcb_session_category',
+				],
+			],
+			'sort' => array_merge(
+				[
+					[
+						'label' => _x( 'Day and Time', 'sort option', 'wordcamporg' ),
+						'value' => 'session_time',
+					],
+				],
+				get_shared_definition( 'sort_title', 'option' ),
+				get_shared_definition( 'sort_date', 'option' )
+			),
+		]
+	);
+
+	if ( $type ) {
+		if ( ! empty( $options[ $type ] ) ) {
+			return $options[ $type ];
+		} else {
+			return [];
+		}
+	}
+
+	return $options;
+}
+
+/**
+ * Get the posts to display in the block.
+ *
+ * @param array $attributes
+ *
+ * @return array
+ */
+function get_session_posts( array $attributes ) {
+	$post_args = [
+		'post_type'      => 'wcb_session',
+		'post_status'    => 'publish',
+		'posts_per_page' => -1,
+		'meta_query'     => [
+			'relation' => 'AND',
+			[
+				'relation' => 'OR',
+				[
+					'key'     => '_wcpt_session_type',
+					'value'   => 'session',
+					'compare' => '=',
+				],
+				[
+					'key'     => '_wcpt_session_type',
+					'value'   => '',
+					'compare' => 'NOT EXISTS',
+				],
+			],
+		],
+	];
+
+	switch ( $attributes['sort'] ) {
+		case 'session_time':
+			$post_args['meta_key'] = '_wcpt_session_time';
+			$post_args['orderby']  = 'meta_value_num title';
+			$post_args['order']    = 'asc';
+			break;
+
+		case 'title_asc':
+		case 'title_desc':
+		case 'date_desc':
+		case 'date_asc':
+			$sort = explode( '_', $attributes['sort'] );
+
+			if ( 2 === count( $sort ) ) {
+				$post_args['orderby'] = $sort[0];
+				$post_args['order']   = $sort[1];
+			}
+			break;
+	}
+
+	switch ( $attributes['mode'] ) {
+		case 'wcb_session':
+			$post_args['post__in'] = $attributes['item_ids'];
+			break;
+
+		case 'wcb_track':
+		case 'wcb_session_category':
+			$post_args['tax_query'] = [
+				[
+					'taxonomy' => $attributes['mode'],
+					'field'    => 'id',
+					'terms'    => $attributes['item_ids'],
+				],
+			];
+			break;
+	}
+
+	return get_posts( $post_args );
+}
+
+/**
+ * Get speaker posts grouped by session.
+ *
+ * @param array $session_ids
+ *
+ * @return array
+ */
+function get_session_speakers( array $session_ids ) {
+	$speakers_by_session = [];
+
+	$session_args = [
+		'post_type'      => 'wcb_session',
+		'post_status'    => 'publish',
+		'posts_per_page' => -1,
+		'post__in'       => $session_ids,
+	];
+
+	$session_posts = get_posts( $session_args );
+
+	foreach ( $session_posts as $session ) {
+		$speaker_ids = get_post_meta( $session->ID, '_wcpt_speaker_id', false );
+
+		if ( ! empty( $speaker_ids ) ) {
+			$speaker_args = [
+				'post_type'      => 'wcb_speaker',
+				'post_status'    => 'publish',
+				'posts_per_page' => -1,
+				'post__in'       => $speaker_ids,
+				'orderby'        => 'post__in',
+				'order'          => 'ASC',
+			];
+
+			$speakers_by_session[ $session->ID ] = get_posts( $speaker_args );
+		}
+	}
+
+	return $speakers_by_session;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/content.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/content.php
new file mode 100644
index 000000000..62a86e4cf
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/content.php
@@ -0,0 +1,75 @@
+<?php
+namespace WordCamp\Blocks\Shared\Content;
+defined( 'WPINC' ) || die();
+
+use WP_Post;
+
+/**
+ * Get the full content of a post, ignoring more and noteaser tags and pagination.
+ *
+ * This works similarly to `the_content`, including applying filters, but:
+ * - It skips all of the logic in `get_the_content` that deals with tags like <!--more--> and
+ *   <!--noteaser-->, as well as pagination and global state variables like `$page`, `$more`, and
+ *   `$multipage`.
+ * - It returns a string of content, rather than echoing it.
+ *
+ * @param int|WP_Post $post Post ID or post object.
+ *
+ * @return string The full, filtered post content.
+ */
+function get_all_the_content( $post ) {
+	$post = get_post( $post );
+
+	$content = $post->post_content;
+
+	/** This filter is documented in wp-includes/post-template.php */
+	$content = apply_filters( 'the_content', $content );
+	$content = str_replace( ']]>', ']]&gt;', $content );
+
+	return $content;
+}
+
+/**
+ * Convert an array of strings into one string that is a punctuated, human-readable list.
+ *
+ * @param array $array
+ *
+ * @return string
+ */
+function array_to_human_readable_list( array $array ) {
+	$count = count( $array );
+	$list  = '';
+
+	switch ( $count ) {
+		case 0:
+			break;
+		case 1:
+			$list = array_shift( $array );
+			break;
+		case 2:
+			$list = sprintf(
+				/* translators: Each %s is a person's name. */
+				_x( '%1$s and %2$s', 'list of two items', 'wordcamporg' ),
+				array_shift( $array ),
+				array_shift( $array )
+			);
+			break;
+		default:
+			/* translators: used between list items, there is a space after the comma */
+			$item_separator = esc_html__( ', ', 'wordcamporg' );
+
+			$initial = array_slice( $array, 0, $count - 1 );
+			$initial = implode( $item_separator, $initial ) . $item_separator;
+			$last    = array_slice( $array, -1, 1 )[0];
+
+			$list = sprintf(
+				/* translators: 1: A list of items. 2: The last item in a list of items. */
+				_x( '%1$s and %2$s', 'list of three or more items', 'wordcamporg' ),
+				$initial,
+				$last
+			);
+			break;
+	}
+
+	return $list;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/definitions.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/definitions.php
new file mode 100644
index 000000000..370c308c3
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/definitions.php
@@ -0,0 +1,177 @@
+<?php
+namespace WordCamp\Blocks\Shared\Definitions;
+defined( 'WPINC' ) || die();
+
+/**
+ * Retrieve an array of definitions for use within a block.
+ *
+ * Currently there are two types of definitions: attributes, which make up a block's schema, and options, which
+ * are label/value pairs used in situations where the value of an attribute must come from an enumerated list.
+ *
+ * @param array|string $keys The keys of the definitions to retrieve. An array of strings, or 'all'.
+ * @param string       $type The type of definition to retrieve. 'attribute' or 'option'.
+ *
+ * @return array
+ */
+function get_shared_definitions( $keys, $type ) {
+	switch ( $type ) {
+		case 'attribute':
+			$definitions = [
+				// Generic attributes.
+				'boolean_false' => [
+					'type'    => 'bool',
+					'default' => false,
+				],
+				'boolean_true'  => [
+					'type'    => 'bool',
+					'default' => true,
+				],
+				'string_empty'  => [
+					'type'    => 'string',
+					'default' => '',
+				],
+				// Specific attributes.
+				'align_block'   => [
+					'type'    => 'string',
+					'enum'    => wp_list_pluck( get_shared_definition( 'align_block', 'option' ), 'value' ),
+					'default' => '',
+				],
+				'align_image'   => [
+					'type'    => 'string',
+					'enum'    => wp_list_pluck( get_shared_definition( 'align_image', 'option' ), 'value' ),
+					'default' => 'none',
+				],
+				'content'       => [
+					'type'    => 'string',
+					'enum'    => wp_list_pluck( get_shared_definition( 'content', 'option' ), 'value' ),
+					'default' => 'full',
+				],
+				'grid_columns'  => [
+					'type'    => 'integer',
+					'minimum' => 2,
+					'maximum' => 4,
+					'default' => 2,
+				],
+				'item_ids'      => [
+					'type'    => 'array',
+					'default' => [],
+					'items'   => [
+						'type' => 'integer',
+					],
+				],
+				'layout'        => [
+					'type'    => 'string',
+					'enum'    => wp_list_pluck( get_shared_definition( 'layout', 'option' ), 'value' ),
+					'default' => 'list',
+				],
+			];
+			break;
+
+		case 'option':
+			$definitions = [
+				'align_block' => [
+					[
+						'label' => _x( 'Wide', 'alignment option', 'wordcamporg' ),
+						'value' => 'wide',
+					],
+					[
+						'label' => _x( 'Full', 'alignment option', 'wordcamporg' ),
+						'value' => 'full',
+					],
+				],
+				'align_image' => [
+					[
+						'label' => _x( 'None', 'alignment option', 'wordcamporg' ),
+						'value' => 'none',
+					],
+					[
+						'label' => _x( 'Left', 'alignment option', 'wordcamporg' ),
+						'value' => 'left',
+					],
+					[
+						'label' => _x( 'Center', 'alignment option', 'wordcamporg' ),
+						'value' => 'center',
+					],
+					[
+						'label' => _x( 'Right', 'alignment option', 'wordcamporg' ),
+						'value' => 'right',
+					],
+				],
+				'content'     => [
+					[
+						'label' => _x( 'Full', 'content option', 'wordcamporg' ),
+						'value' => 'full',
+					],
+					[
+						'label' => _x( 'Excerpt', 'content option', 'wordcamporg' ),
+						'value' => 'excerpt',
+					],
+					[
+						'label' => _x( 'None', 'content option', 'wordcamporg' ),
+						'value' => 'none',
+					],
+				],
+				'layout'      => [
+					[
+						'label' => _x( 'List', 'content option', 'wordcamporg' ),
+						'value' => 'list',
+					],
+					[
+						'label' => _x( 'Grid', 'content option', 'wordcamporg' ),
+						'value' => 'grid',
+					],
+				],
+				'sort_title'  => [
+					[
+						'label' => _x( 'A → Z', 'sort option', 'wordcamporg' ),
+						'value' => 'title_asc',
+					],
+					[
+						'label' => _x( 'Z → A', 'sort option', 'wordcamporg' ),
+						'value' => 'title_desc',
+					],
+				],
+				'sort_date'   => [
+					[
+						'label' => _x( 'Newest to Oldest', 'sort option', 'wordcamporg' ),
+						'value' => 'date_desc',
+					],
+					[
+						'label' => _x( 'Oldest to Newest', 'sort option', 'wordcamporg' ),
+						'value' => 'date_asc',
+					],
+				],
+			];
+			break;
+
+		default:
+			$definitions = [];
+			break;
+	}
+
+	if ( 'all' === $keys ) {
+		return $definitions;
+	}
+
+	$keys = array_fill_keys( (array) $keys, '' );
+
+	return array_intersect_key( $definitions, $keys );
+}
+
+/**
+ * Retrieve a single definition for use within a block.
+ *
+ * @param string $key  The key of the definition to retrieve.
+ * @param string $type The type of definition to retrieve. 'attribute' or 'option'.
+ *
+ * @return array
+ */
+function get_shared_definition( $key, $type ) {
+	$result = get_shared_definitions( $key, $type );
+
+	if ( ! empty( $result ) ) {
+		$result = array_shift( $result );
+	}
+
+	return $result;
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/featured-image.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/featured-image.php
new file mode 100644
index 000000000..f570a137d
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/featured-image.php
@@ -0,0 +1,68 @@
+<?php
+
+namespace WordCamp\Blocks\Shared\Components;
+
+/**
+ * Provides render backend for FeaturedImage component.
+ *
+ * @param array    $class_names        Additional classes to add inside <img> tag.
+ * @param \WP_Post $post               Current post object. This will be used to calculate srcset attribute.
+ * @param int      $width              Width of the image.
+ * @param string   $image_link         URL link. If provided, image will be linked to this URL.
+ *
+ * @return string Output markup for featured image.
+ */
+function render_featured_image( $class_names, $post, $width, $image_link = '' ) {
+
+	$class_names[]     = 'wordcamp-featured-image';
+	$class_names       = implode( ' ', $class_names );
+	$container_classes = "wordcamp-image-container wordcamp-featured-image-container $class_names";
+	$attachment_id     = get_post_thumbnail_id( $post->ID );
+	$image_data        = wp_get_attachment_metadata( $attachment_id );
+	$size              = 'post-thumbnail';
+
+	if ( is_array( $image_data ) && isset( $image_data['sizes'] ) && isset( $image_data['sizes']['full'] ) ) {
+		$aspect_ratio = $image_data['sizes']['full']['height'] / $image_data['sizes']['full']['width'];
+		$height       = $aspect_ratio * $width;
+		$size         = array( $width, $height );
+	}
+
+	$image = render_featured_image_element( $post, $size, $class_names );
+	ob_start();
+
+	?>
+		<div class="<?php echo esc_attr( $container_classes ); ?>">
+			<?php if ( '' !== $image_link ) { ?>
+				<div class="components-disabled">
+					<a href="<?php echo esc_html( $image_link ); ?>" class="wordcamp-image-link wordcamp-featured-image-link">
+						<?php echo wp_kses_post( $image ); ?>
+					</a>
+				</div>
+			<?php } else { ?>
+					<?php echo wp_kses_post( $image ); ?>
+			<?php } ?>
+		</div>
+	<?php
+
+	return ob_get_clean();
+}
+
+/**
+ * Helper method to render thumbnail image.
+ *
+ * @param \WP_Post     $post
+ * @param string|array $size
+ * @param string       $class_names
+ *
+ * @return string
+ */
+function render_featured_image_element( $post, $size, $class_names ) {
+	return get_the_post_thumbnail(
+		$post,
+		$size,
+		array(
+			'class' => esc_attr( $class_names ),
+			'alt'   => esc_attr( $post->post_name ),
+		)
+	);
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/grid-layout.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/grid-layout.php
new file mode 100644
index 000000000..a98eae970
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/shared/grid-layout.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace WordCamp\Blocks\Shared\Components;
+
+/**
+ * @since Blocks v1.0
+ * Provides rendering for grid-layout component.
+ *
+ * @param string $layout            Whether the layout is `grid` or `list`.
+ * @param int    $columns           Number of columns if layout is `grid`. Assumed to be 1 if layout is grid.
+ * @param array  $children          Array of posts to rendered inside layout. Should be output markup.
+ * @param array  $container_classes Array of classes that will be added to container.
+ *
+ * @return string Markup of output layout.
+ */
+function render_grid_layout( $layout, $columns, $children, $container_classes ) {
+	if ( ! is_array( $children ) || count( $children ) === 0 ) {
+		return '';
+	}
+
+	$container_classes[] = 'layout-' . sanitize_html_class( $layout );
+	$container_classes[] = 'wordcamp-block-post-list';
+
+	if ( 'grid' === $layout ) {
+		$container_classes[] = 'grid-columns-' . absint( $columns );
+	}
+
+	$container_classes = implode( ' ', $container_classes );
+
+	ob_start();
+	?>
+
+	<ul class="<?php echo esc_attr( $container_classes ); ?>">
+		<?php foreach ( $children as $child ) { ?>
+			<li class="wordcamp-block-post-list-item wordcamp-grid-layout-item wordcamp-clearfix">
+				<?php echo wp_kses_post( $child ); ?>
+			</li>
+		<?php } ?>
+	</ul>
+
+	<?php
+
+	return ob_get_clean();
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/speakers.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/speakers.php
index dc5f0f8af..4370ab140 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/speakers.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/speakers.php
@@ -1,9 +1,10 @@
 <?php
 
 namespace WordCamp\Blocks\Speakers;
-defined( 'WPINC' ) || die();
-
 use WordCamp\Blocks;
+use function WordCamp\Blocks\Shared\Definitions\{ get_shared_definitions, get_shared_definition };
+
+defined( 'WPINC' ) || die();
 
 /**
  * Register block types and enqueue scripts.
@@ -11,13 +12,16 @@ use WordCamp\Blocks;
  * @return void
  */
 function init() {
-	register_block_type( 'wordcamp/speakers', array(
-		'attributes'      => get_attributes_schema(),
-		'render_callback' => __NAMESPACE__ . '\render',
-		'editor_script'   => 'wordcamp-blocks',
-		'editor_style'    => 'wordcamp-blocks',
-		'style'           => 'wordcamp-blocks',
-	) );
+	register_block_type(
+		'wordcamp/speakers',
+		[
+			'attributes'      => get_attributes_schema(),
+			'render_callback' => __NAMESPACE__ . '\render',
+			'editor_script'   => 'wordcamp-blocks',
+			'editor_style'    => 'wordcamp-blocks',
+			'style'           => 'wordcamp-blocks',
+		]
+	);
 }
 
 add_action( 'init', __NAMESPACE__ . '\init' );
@@ -30,19 +34,36 @@ add_action( 'init', __NAMESPACE__ . '\init' );
  * @return string
  */
 function render( $attributes ) {
+	$html       = '';
 	$defaults   = wp_list_pluck( get_attributes_schema(), 'default' );
 	$attributes = wp_parse_args( $attributes, $defaults );
+	$speakers   = get_speaker_posts( $attributes );
 
-	$speakers = get_speaker_posts( $attributes );
 	$sessions = [];
-
 	if ( ! empty( $speakers ) && true === $attributes['show_session'] ) {
 		$sessions = get_speaker_sessions( wp_list_pluck( $speakers, 'ID' ) );
 	}
 
-	ob_start();
-	require Blocks\PLUGIN_DIR . 'view/speakers.php';
-	$html = ob_get_clean();
+	$container_classes = [
+		'wordcamp-block',
+		'wordcamp-block-post-list',
+		'wordcamp-speakers-block',
+		'layout-' . sanitize_html_class( $attributes['layout'] ),
+		sanitize_html_class( $attributes['className'] ),
+	];
+	if ( 'grid' === $attributes['layout'] ) {
+		$container_classes[] = 'grid-columns-' . absint( $attributes['grid_columns'] );
+	}
+	if ( ! empty( $attributes['align'] ) ) {
+		$container_classes[] = 'align' . sanitize_html_class( $attributes['align'] );
+	}
+	$container_classes = implode( ' ', $container_classes );
+
+	if ( $attributes['mode'] ) {
+		ob_start();
+		require Blocks\PLUGIN_DIR . 'view/speakers.php';
+		$html = ob_get_clean();
+	}
 
 	return $html;
 }
@@ -57,13 +78,7 @@ function render( $attributes ) {
 function add_script_data( array $data ) {
 	$data['speakers'] = [
 		'schema'  => get_attributes_schema(),
-		'options' => array(
-			'align'   => get_options( 'align' ),
-			'content' => get_options( 'content' ),
-			'layout'  => get_options( 'layout' ),
-			'mode'    => get_options( 'mode' ),
-			'sort'    => get_options( 'sort' ),
-		),
+		'options' => get_options(),
 	];
 
 	return $data;
@@ -93,16 +108,16 @@ function get_speaker_posts( array $attributes ) {
 	}
 
 	switch ( $attributes['mode'] ) {
-		case 'specific_posts' :
-			$post_args['post__in'] = $attributes['post_ids'];
+		case 'wcb_speaker':
+			$post_args['post__in'] = $attributes['item_ids'];
 			break;
 
-		case 'specific_terms' :
+		case 'wcb_speaker_group':
 			$post_args['tax_query'] = [
 				[
-					'taxonomy' => 'wcb_speaker_group',
+					'taxonomy' => $attributes['mode'],
 					'field'    => 'id',
-					'terms'    => $attributes['term_ids'],
+					'terms'    => $attributes['item_ids'],
 				],
 			];
 			break;
@@ -135,7 +150,9 @@ function get_speaker_sessions( array $speaker_ids ) {
 		$session_speaker_ids = get_post_meta( $session->ID, '_wcpt_speaker_id', false );
 
 		foreach ( $session_speaker_ids as $speaker_id ) {
-			if ( in_array( $speaker_id, $speaker_ids ) ) {
+			$speaker_id = absint( $speaker_id );
+
+			if ( in_array( $speaker_id, $speaker_ids, true ) ) {
 				if ( ! isset( $sessions_by_speaker[ $speaker_id ] ) ) {
 					$sessions_by_speaker[ $speaker_id ] = [];
 				}
@@ -154,138 +171,64 @@ function get_speaker_sessions( array $speaker_ids ) {
  * @return array
  */
 function get_attributes_schema() {
-	return [
-		'mode'           => [
-			'type'    => 'string',
-			'enum'    => wp_list_pluck( get_options( 'mode' ), 'value' ),
-			'default' => '',
-		],
-		'post_ids'       => [
-			'type'    => 'array',
-			'default' => [],
-			'items'   => [
-				'type' => 'integer',
+	$schema = array_merge(
+		get_shared_definitions(
+			[
+				'content',
+				'grid_columns',
+				'item_ids',
+				'layout',
 			],
-		],
-		'term_ids'       => [
-			'type'    => 'array',
-			'default' => [],
-			'items'   => [
-				'type' => 'integer',
+			'attribute'
+		),
+		[
+			'align'        => get_shared_definition( 'align_block', 'attribute' ),
+			'avatar_align' => get_shared_definition( 'align_image', 'attribute' ),
+			'avatar_size'  => [
+				'type'    => 'integer',
+				'minimum' => 25,
+				'maximum' => 600,
+				'default' => 150,
 			],
-		],
-		'sort'           => [
-			'type'    => 'string',
-			'enum'    => wp_list_pluck( get_options( 'sort' ), 'value' ),
-			'default' => 'title_asc',
-		],
-		'layout'         => [
-			'type'    => 'string',
-			'enum'    => wp_list_pluck( get_options( 'display' ), 'value' ),
-			'default' => 'list',
-		],
-		'grid_columns'   => [
-			'type'    => 'integer',
-			'minimum' => 2,
-			'maximum' => 4,
-			'default' => 2,
-		],
-		'className'      => [
-			'type'    => 'string',
-			'default' => '',
-		],
-		'show_avatars'   => [
-			'type'    => 'bool',
-			'default' => true,
-		],
-		'avatar_size'    => [
-			'type'    => 'integer',
-			'minimum' => 25,
-			'maximum' => 600,
-			'default' => 150,
-		],
-		'avatar_align'   => [
-			'type'    => 'string',
-			'enum'    => wp_list_pluck( get_options( 'align' ), 'value' ),
-			'default' => 'none',
-		],
-		'content'        => [
-			'type'    => 'string',
-			'enum'    => wp_list_pluck( get_options( 'content' ), 'value' ),
-			'default' => 'full',
-		],
-		'speaker_link'   => [
-			'type'    => 'bool',
-			'default' => false,
-		],
-		'show_session'   => [
-			'type'    => 'bool',
-			'default' => false,
-		],
-	];
+			'className'    => get_shared_definition( 'string_empty', 'attribute' ),
+			'mode'         => [
+				'type'    => 'string',
+				'enum'    => wp_list_pluck( get_options( 'mode' ), 'value' ),
+				'default' => '',
+			],
+			'show_avatars' => get_shared_definition( 'boolean_true', 'attribute' ),
+			'show_session' => get_shared_definition( 'boolean_false', 'attribute' ),
+			'sort'         => [
+				'type'    => 'string',
+				'enum'    => wp_list_pluck( get_options( 'sort' ), 'value' ),
+				'default' => 'title_asc',
+			],
+		]
+	);
+
+	return $schema;
 }
 
 /**
- * Get the label/value pairs for a type of options.
+ * Get the label/value pairs for all options or a specific type.
  *
  * @param string $type
  *
  * @return array
  */
-function get_options( $type ) {
-	$options = [];
-
-	switch ( $type ) {
-		case 'align':
-			$options = [
-				[
-					'label' => _x( 'None', 'alignment option', 'wordcamporg' ),
-					'value' => 'none',
-				],
-				[
-					'label' => _x( 'Left', 'alignment option', 'wordcamporg' ),
-					'value' => 'left',
-				],
-				[
-					'label' => _x( 'Center', 'alignment option', 'wordcamporg' ),
-					'value' => 'center',
-				],
-				[
-					'label' => _x( 'Right', 'alignment option', 'wordcamporg' ),
-					'value' => 'right',
-				],
-			];
-			break;
-		case 'content':
-			$options = [
-				[
-					'label' => _x( 'Full', 'content option', 'wordcamporg' ),
-					'value' => 'full',
-				],
-				[
-					'label' => _x( 'Excerpt', 'content option', 'wordcamporg' ),
-					'value' => 'excerpt',
-				],
-				[
-					'label' => _x( 'None', 'content option', 'wordcamporg' ),
-					'value' => 'none',
-				],
-			];
-			break;
-		case 'layout':
-			$options = [
-				[
-					'label' => _x( 'List', 'content option', 'wordcamporg' ),
-					'value' => 'list',
-				],
-				[
-					'label' => _x( 'Grid', 'content option', 'wordcamporg' ),
-					'value' => 'grid',
-				],
-			];
-			break;
-		case 'mode':
-			$options = [
+function get_options( $type = '' ) {
+	$options = array_merge(
+		get_shared_definitions(
+			[
+				'align_block',
+				'align_image',
+				'content',
+				'layout',
+			],
+			'option'
+		),
+		[
+			'mode' => [
 				[
 					'label' => '',
 					'value' => '',
@@ -295,70 +238,28 @@ function get_options( $type ) {
 					'value' => 'all',
 				],
 				[
-					'label' => _x( 'Add a speaker', 'mode option', 'wordcamporg' ),
-					'value' => 'specific_posts',
-				],
-				[
-					'label' => _x( 'Add a group', 'mode option', 'wordcamporg' ),
-					'value' => 'specific_terms',
-				],
-			];
-			break;
-		case 'sort':
-			$options = [
-				[
-					'label' => _x( 'A → Z', 'sort option', 'wordcamporg' ),
-					'value' => 'title_asc',
-				],
-				[
-					'label' => _x( 'Z → A', 'sort option', 'wordcamporg' ),
-					'value' => 'title_desc',
-				],
-				[
-					'label' => _x( 'Newest to Oldest', 'sort option', 'wordcamporg' ),
-					'value' => 'date_desc',
+					'label' => _x( 'Choose speakers', 'mode option', 'wordcamporg' ),
+					'value' => 'wcb_speaker',
 				],
 				[
-					'label' => _x( 'Oldest to Newest', 'sort option', 'wordcamporg' ),
-					'value' => 'date_asc',
+					'label' => _x( 'Choose groups', 'mode option', 'wordcamporg' ),
+					'value' => 'wcb_speaker_group',
 				],
-			];
-			break;
-	}
-
-	return $options;
-}
-
-/**
- * Append a "Read more" link to a content string, within the same paragraph tag, if applicable.
- *
- * @todo This is kind of hacky, maybe find a way to do this that doesn't involve regex.
- *
- * @param $content
- *
- * @return string
- */
-function maybe_add_more_link( $content, $add, $post ) {
-	if ( $add ) {
-		$url  = get_permalink( $post );
-		$more = sprintf(
-			'<a href="%s">%s</a>',
-			esc_url( $url ),
-			__( 'Read more', 'wordcamporg' )
-		);
-
-		$pattern = '/<\/p>$/';
-
-		if ( preg_match( $pattern, $content ) ) {
-			$content = preg_replace(
-				$pattern,
-				' ' . $more . '</p>',
-				$content
-			);
+			],
+			'sort' => array_merge(
+				get_shared_definition( 'sort_title', 'option' ),
+				get_shared_definition( 'sort_date', 'option' )
+			),
+		]
+	);
+
+	if ( $type ) {
+		if ( ! empty( $options[ $type ] ) ) {
+			return $options[ $type ];
 		} else {
-			$content .= ' ' . $more;
+			return [];
 		}
 	}
 
-	return $content;
+	return $options;
 }
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/sponsors.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/sponsors.php
new file mode 100644
index 000000000..0572c83e5
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/sponsors.php
@@ -0,0 +1,214 @@
+<?php
+
+namespace WordCamp\Blocks\Sponsors;
+use WordCamp\Blocks;
+use function WordCamp\Blocks\Shared\Components\{ render_grid_layout };
+
+defined( 'WPINC' ) || die();
+
+/**
+ * Register sponsor block and enqueue scripts.
+ */
+function init() {
+	register_block_type(
+		'wordcamp/sponsors',
+		[
+			'attributes'      => get_attributes_schema(),
+			'editor_script'   => 'wordcamp-blocks',
+			'editor_style'    => 'wordcamp-blocks',
+			'style'           => 'wordcamp-blocks',
+			'render_callback' => __NAMESPACE__ . '\render',
+		]
+	);
+}
+
+add_action( 'init', __NAMESPACE__ . '\init' );
+
+/**
+ * Renders content of Sponsor block based on attributes.
+ *
+ * @param array $attributes
+ *
+ * @return false|string
+ */
+function render( $attributes ) {
+	$sponsors = get_sponsor_posts( $attributes );
+
+	$container_classes = array(
+		'wordcamp-block',
+		'wordcamp-block-post-list',
+		'wordcamp-sponsors-block',
+		sanitize_html_class( $attributes['className'] ),
+	);
+	if ( ! empty( $attributes['align'] ) ) {
+		$container_classes[] = 'align' . sanitize_html_class( $attributes['align'] );
+	}
+
+	$rendered_sponsor_posts = array();
+
+	foreach ( $sponsors as $sponsor ) {
+		ob_start();
+		require Blocks\PLUGIN_DIR . 'view/sponsors.php';
+		$rendered_sponsor_posts[] = ob_get_clean();
+	}
+
+	$html = render_grid_layout( $attributes['layout'], $attributes['grid_columns'], $rendered_sponsor_posts, $container_classes );
+	return $html;
+}
+
+/**
+ * Return sponsor posts what will rendered based on attributes.
+ *
+ * @param array $attributes
+ *
+ * @return array
+ */
+function get_sponsor_posts( $attributes ) {
+	if ( empty( $attributes['mode'] ) ) {
+		return array();
+	}
+
+	$post_args = array(
+		'post_type'      => 'wcb_sponsor',
+		'post_status'    => 'publish',
+		'posts_per_page' => - 1,
+	);
+
+	switch ( $attributes['mode'] ) {
+		case 'specific_posts':
+			$post_args['post__in'] = $attributes['post_ids'];
+			break;
+		case 'specific_terms':
+			$post_args['tax_query'] = [
+				[
+					'taxonomy' => 'wcb_sponsor_level',
+					'field'    => 'id',
+					'terms'    => $attributes['term_ids'],
+				],
+			];
+			break;
+	}
+
+	switch ( $attributes['sort_by'] ) {
+		case 'name_asc':
+			$post_args['orderby'] = 'title';
+			$post_args['order']   = 'asc';
+			break;
+		case 'name_desc':
+			$post_args['orderby'] = 'title';
+			$post_args['order']   = 'desc';
+			break;
+		// We will deal with case `sponsor_level` later.
+	}
+
+	$posts = get_posts( $post_args );
+
+	if ( 'sponsor_level' === $attributes['sort_by'] ) {
+		usort( $posts, sponsor_level_sort( $posts ) );
+	}
+
+	return $posts;
+}
+
+/**
+ * Helper function for sorting based on sponsor levels.
+ *
+ * @param array $posts Sponsor posts to sort.
+ *
+ * @return callable
+ */
+function sponsor_level_sort( $posts ) {
+	$sponsor_level_order = get_option( 'wcb_sponsor_level_order' );
+	$sponsor_terms_cache = array();
+
+	//Build the terms cache.
+	foreach ( $posts as $post ) {
+		$sponsor_level_terms = get_the_terms( $post->ID, 'wcb_sponsor_level' );
+		if ( is_array( $sponsor_level_terms ) ) {
+			$sponsor_terms_cache[ $post->ID ] = wp_list_pluck( $sponsor_level_terms, 'term_id' )[0];
+		} else {
+			$sponsor_terms_cache[ $post->ID ] = array();
+		}
+	}
+
+	return function ( $sponsor1, $sponsor2 ) use ( $sponsor_level_order, $sponsor_terms_cache ) {
+		$index1 = array_search( $sponsor_terms_cache[ $sponsor1->ID ], $sponsor_level_order, true );
+		$index2 = array_search( $sponsor_terms_cache[ $sponsor2->ID ], $sponsor_level_order, true );
+
+		if ( false === $index1 && false === $index2 ) {
+			return 0;
+		}
+
+		if ( false === $index1 ) {
+			return 1;
+		}
+
+		if ( false === $index2 ) {
+			return -1;
+		}
+
+		return $index1 - $index2;
+	};
+}
+
+/**
+ * Get attribute schema for Sponsor block
+ *
+ * @return array
+ */
+function get_attributes_schema() {
+	return array(
+		'mode'                  => array(
+			'type' => 'string',
+		),
+		'post_ids'              => array(
+			'type'    => 'array',
+			'default' => array(),
+			'items'   => array(
+				'type' => 'integer',
+			),
+		),
+		'term_ids'              => array(
+			'type'    => 'array',
+			'default' => array(),
+			'items'   => array(
+				'type' => 'integer',
+			),
+		),
+		'sponsor_image_urls'    => array(
+			'type'    => 'string',
+			'default' => '{}',
+		),
+		'show_name'             => array(
+			'type'    => 'bool',
+			'default' => true,
+		),
+		'show_logo'             => array(
+			'type'    => 'bool',
+			'default' => true,
+		),
+		'content'               => array(
+			'type'    => 'string',
+			'default' => 'full',
+		),
+		'grid_columns'          => array(
+			'type'    => 'integer',
+			'minimum' => 1,
+			'maximum' => 4,
+			'default' => 1,
+		),
+		'layout'                => array(
+			'type'    => 'string',
+			'enum'    => array( 'list', 'grid' ),
+			'default' => 'list',
+		),
+		'featured_image_width'  => array(
+			'type'    => 'integer',
+			'default' => 150,
+		),
+		'sort_by'               => array(
+			'type'    => 'string',
+			'default' => 'name_asc',
+		),
+	);
+}
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/package-lock.json wordcamp.org/public_html/wp-content/mu-plugins/blocks/package-lock.json
index 477e5bd35..ee954d8d9 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/package-lock.json
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/package-lock.json
@@ -1,7896 +1,15271 @@
 {
-  "name": "wordcamp-blocks",
-  "version": "1.0.0",
-  "lockfileVersion": 1,
-  "requires": true,
-  "dependencies": {
-    "@babel/code-frame": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
-      "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
-      "dev": true,
-      "requires": {
-        "@babel/highlight": "^7.0.0"
-      }
-    },
-    "@babel/core": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz",
-      "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/generator": "^7.1.2",
-        "@babel/helpers": "^7.1.2",
-        "@babel/parser": "^7.1.2",
-        "@babel/template": "^7.1.2",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.1.2",
-        "convert-source-map": "^1.1.0",
-        "debug": "^3.1.0",
-        "json5": "^0.5.0",
-        "lodash": "^4.17.10",
-        "resolve": "^1.3.2",
-        "semver": "^5.4.1",
-        "source-map": "^0.5.0"
-      }
-    },
-    "@babel/generator": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz",
-      "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.1.3",
-        "jsesc": "^2.5.1",
-        "lodash": "^4.17.10",
-        "source-map": "^0.5.0",
-        "trim-right": "^1.0.1"
-      }
-    },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
-      "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
-      "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-react-jsx": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz",
-      "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0",
-        "esutils": "^2.0.0"
-      }
-    },
-    "@babel/helper-call-delegate": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz",
-      "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.0.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-define-map": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz",
-      "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
-      "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
-      "dev": true,
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
-      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-get-function-arity": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
-      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz",
-      "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
-      "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
-      "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz",
-      "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
-      "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
-      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
-      "dev": true
-    },
-    "@babel/helper-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz",
-      "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
-      "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-wrap-function": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz",
-      "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.0.0",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
-      "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
-      "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz",
-      "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helpers": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz",
-      "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.1.2",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.1.2"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
-      "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.0.0",
-        "esutils": "^2.0.2",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "@babel/parser": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz",
-      "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==",
-      "dev": true
-    },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz",
-      "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0",
-        "@babel/plugin-syntax-async-generators": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz",
-      "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-json-strings": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz",
-      "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz",
-      "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz",
-      "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0",
-        "regexpu-core": "^4.2.0"
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz",
-      "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz",
-      "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-jsx": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0.tgz",
-      "integrity": "sha512-PdmL2AoPsCLWxhIr3kG2+F9v4WH06Q3z+NoGVpQgnUNGcagXHq5sB3OXxkSahKq9TLdNMN/AJzFYSOo8UKDMHg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz",
-      "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz",
-      "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz",
-      "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz",
-      "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz",
-      "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz",
-      "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz",
-      "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-define-map": "^7.1.0",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.0.0",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz",
-      "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz",
-      "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz",
-      "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0",
-        "regexpu-core": "^4.1.3"
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz",
-      "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz",
-      "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz",
-      "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz",
-      "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz",
-      "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz",
-      "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz",
-      "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz",
-      "integrity": "sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz",
-      "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz",
-      "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz",
-      "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz",
-      "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-call-delegate": "^7.1.0",
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-react-jsx": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0.tgz",
-      "integrity": "sha512-0TMP21hXsSUjIQJmu/r7RiVxeFrXRcMUigbKu0BLegJK9PkYodHstaszcig7zxXfaBji2LYUdtqIkHs+hgYkJQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-builder-react-jsx": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz",
-      "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==",
-      "dev": true,
-      "requires": {
-        "regenerator-transform": "^0.13.3"
-      }
-    },
-    "@babel/plugin-transform-runtime": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.1.0.tgz",
-      "integrity": "sha512-WFLMgzu5DLQEah0lKTJzYb14vd6UiES7PTnXcvrPZ1VrwFeJ+mTbvr65fFAsXYMt2bIoOoC0jk76zY1S7HZjUg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "resolve": "^1.8.1",
-        "semver": "^5.5.1"
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz",
-      "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz",
-      "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz",
-      "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz",
-      "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz",
-      "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz",
-      "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0",
-        "regexpu-core": "^4.1.3"
-      }
-    },
-    "@babel/preset-env": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz",
-      "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-async-generator-functions": "^7.1.0",
-        "@babel/plugin-proposal-json-strings": "^7.0.0",
-        "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
-        "@babel/plugin-syntax-async-generators": "^7.0.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.0.0",
-        "@babel/plugin-transform-arrow-functions": "^7.0.0",
-        "@babel/plugin-transform-async-to-generator": "^7.1.0",
-        "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
-        "@babel/plugin-transform-block-scoping": "^7.0.0",
-        "@babel/plugin-transform-classes": "^7.1.0",
-        "@babel/plugin-transform-computed-properties": "^7.0.0",
-        "@babel/plugin-transform-destructuring": "^7.0.0",
-        "@babel/plugin-transform-dotall-regex": "^7.0.0",
-        "@babel/plugin-transform-duplicate-keys": "^7.0.0",
-        "@babel/plugin-transform-exponentiation-operator": "^7.1.0",
-        "@babel/plugin-transform-for-of": "^7.0.0",
-        "@babel/plugin-transform-function-name": "^7.1.0",
-        "@babel/plugin-transform-literals": "^7.0.0",
-        "@babel/plugin-transform-modules-amd": "^7.1.0",
-        "@babel/plugin-transform-modules-commonjs": "^7.1.0",
-        "@babel/plugin-transform-modules-systemjs": "^7.0.0",
-        "@babel/plugin-transform-modules-umd": "^7.1.0",
-        "@babel/plugin-transform-new-target": "^7.0.0",
-        "@babel/plugin-transform-object-super": "^7.1.0",
-        "@babel/plugin-transform-parameters": "^7.1.0",
-        "@babel/plugin-transform-regenerator": "^7.0.0",
-        "@babel/plugin-transform-shorthand-properties": "^7.0.0",
-        "@babel/plugin-transform-spread": "^7.0.0",
-        "@babel/plugin-transform-sticky-regex": "^7.0.0",
-        "@babel/plugin-transform-template-literals": "^7.0.0",
-        "@babel/plugin-transform-typeof-symbol": "^7.0.0",
-        "@babel/plugin-transform-unicode-regex": "^7.0.0",
-        "browserslist": "^4.1.0",
-        "invariant": "^2.2.2",
-        "js-levenshtein": "^1.1.3",
-        "semver": "^5.3.0"
-      }
-    },
-    "@babel/runtime": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz",
-      "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==",
-      "requires": {
-        "regenerator-runtime": "^0.12.0"
-      }
-    },
-    "@babel/runtime-corejs2": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.1.2.tgz",
-      "integrity": "sha512-drxaPByExlcRDKW4ZLubUO4ZkI8/8ax9k9wve1aEthdLKFzjB7XRkOQ0xoTIWGxqdDnWDElkjYq77bt7yrcYJQ==",
-      "dev": true,
-      "requires": {
-        "core-js": "^2.5.7",
-        "regenerator-runtime": "^0.12.0"
-      }
-    },
-    "@babel/template": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz",
-      "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.1.2",
-        "@babel/types": "^7.1.2"
-      }
-    },
-    "@babel/traverse": {
-      "version": "7.1.4",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz",
-      "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/generator": "^7.1.3",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.0.0",
-        "@babel/parser": "^7.1.3",
-        "@babel/types": "^7.1.3",
-        "debug": "^3.1.0",
-        "globals": "^11.1.0",
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/types": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz",
-      "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==",
-      "requires": {
-        "esutils": "^2.0.2",
-        "lodash": "^4.17.10",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "@emotion/babel-utils": {
-      "version": "0.6.10",
-      "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz",
-      "integrity": "sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==",
-      "requires": {
-        "@emotion/hash": "^0.6.6",
-        "@emotion/memoize": "^0.6.6",
-        "@emotion/serialize": "^0.9.1",
-        "convert-source-map": "^1.5.1",
-        "find-root": "^1.1.0",
-        "source-map": "^0.7.2"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
-        }
-      }
-    },
-    "@emotion/hash": {
-      "version": "0.6.6",
-      "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz",
-      "integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ=="
-    },
-    "@emotion/memoize": {
-      "version": "0.6.6",
-      "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz",
-      "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ=="
-    },
-    "@emotion/serialize": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz",
-      "integrity": "sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==",
-      "requires": {
-        "@emotion/hash": "^0.6.6",
-        "@emotion/memoize": "^0.6.6",
-        "@emotion/unitless": "^0.6.7",
-        "@emotion/utils": "^0.8.2"
-      }
-    },
-    "@emotion/stylis": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz",
-      "integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ=="
-    },
-    "@emotion/unitless": {
-      "version": "0.6.7",
-      "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz",
-      "integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg=="
-    },
-    "@emotion/utils": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz",
-      "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw=="
-    },
-    "@webassemblyjs/ast": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
-      "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/helper-module-context": "1.7.10",
-        "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
-        "@webassemblyjs/wast-parser": "1.7.10"
-      }
-    },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz",
-      "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz",
-      "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz",
-      "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz",
-      "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/wast-printer": "1.7.10"
-      }
-    },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz",
-      "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz",
-      "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz",
-      "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz",
-      "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/helper-buffer": "1.7.10",
-        "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
-        "@webassemblyjs/wasm-gen": "1.7.10"
-      }
-    },
-    "@webassemblyjs/ieee754": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz",
-      "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==",
-      "dev": true,
-      "requires": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "@webassemblyjs/leb128": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz",
-      "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==",
-      "dev": true,
-      "requires": {
-        "@xtuc/long": "4.2.1"
-      }
-    },
-    "@webassemblyjs/utf8": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz",
-      "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==",
-      "dev": true
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz",
-      "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/helper-buffer": "1.7.10",
-        "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
-        "@webassemblyjs/helper-wasm-section": "1.7.10",
-        "@webassemblyjs/wasm-gen": "1.7.10",
-        "@webassemblyjs/wasm-opt": "1.7.10",
-        "@webassemblyjs/wasm-parser": "1.7.10",
-        "@webassemblyjs/wast-printer": "1.7.10"
-      }
-    },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz",
-      "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
-        "@webassemblyjs/ieee754": "1.7.10",
-        "@webassemblyjs/leb128": "1.7.10",
-        "@webassemblyjs/utf8": "1.7.10"
-      }
-    },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz",
-      "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/helper-buffer": "1.7.10",
-        "@webassemblyjs/wasm-gen": "1.7.10",
-        "@webassemblyjs/wasm-parser": "1.7.10"
-      }
-    },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz",
-      "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/helper-api-error": "1.7.10",
-        "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
-        "@webassemblyjs/ieee754": "1.7.10",
-        "@webassemblyjs/leb128": "1.7.10",
-        "@webassemblyjs/utf8": "1.7.10"
-      }
-    },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz",
-      "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/floating-point-hex-parser": "1.7.10",
-        "@webassemblyjs/helper-api-error": "1.7.10",
-        "@webassemblyjs/helper-code-frame": "1.7.10",
-        "@webassemblyjs/helper-fsm": "1.7.10",
-        "@xtuc/long": "4.2.1"
-      }
-    },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.7.10",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz",
-      "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/wast-parser": "1.7.10",
-        "@xtuc/long": "4.2.1"
-      }
-    },
-    "@wordpress/babel-plugin-import-jsx-pragma": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-1.1.2.tgz",
-      "integrity": "sha512-0w43MP56yecSLUNr1ayus2bFM7y2k9O1SpFvc7c6bAlabJ6euTpkZscVIZSjzTR+d90wSu1BclzxiX58Y4oAwQ==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0"
-      }
-    },
-    "@wordpress/babel-preset-default": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-3.0.1.tgz",
-      "integrity": "sha512-5pbmYh0b4flwyAbuEMTOgTZJ1jqn5iucXhoAESWHZyHCn6D+s36ws0RkFrefz1mYQv4KgIoVpqshDXdN9wR/Bg==",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-proposal-async-generator-functions": "^7.0.0",
-        "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
-        "@babel/plugin-transform-react-jsx": "^7.0.0",
-        "@babel/plugin-transform-runtime": "^7.0.0",
-        "@babel/preset-env": "^7.0.0",
-        "@babel/runtime": "^7.0.0",
-        "@wordpress/browserslist-config": "^2.2.2",
-        "babel-core": "^7.0.0-bridge.0"
-      },
-      "dependencies": {
-        "babel-core": {
-          "version": "7.0.0-bridge.0",
-          "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz",
-          "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==",
-          "dev": true
-        }
-      }
-    },
-    "@wordpress/browserslist-config": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-2.2.2.tgz",
-      "integrity": "sha512-RZ9XeDeXTc/l3RdSnfYYwcsylFPouV+2ZpQQaAgALSXthMWJT2wU61zD4mH9aMI5Oo6Z8OUVI2vOZM/7HObPxw==",
-      "dev": true
-    },
-    "@wordpress/compose": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.0.tgz",
-      "integrity": "sha512-QtjesFxEdLAUoBxFQ7rkpUG5aA4ccRxZI71fz0RkMiBVKoUHIqy+R6VGViL/wkdYigmfD9KU89Rg3Ksk40hVIA==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0",
-        "@wordpress/deprecated": "^2.0.3",
-        "@wordpress/element": "^2.1.5",
-        "@wordpress/is-shallow-equal": "^1.1.4",
-        "lodash": "^4.17.10"
-      },
-      "dependencies": {
-        "@wordpress/element": {
-          "version": "2.1.5",
-          "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.5.tgz",
-          "integrity": "sha512-y567y5SZv3VXDrUw/qpO7ElrTc8/BhumAivVlpAItychfn/PdTxd2l5V1Cc91Uc2/JDoAhPCRIO23UFWX+Ehtw==",
-          "dev": true,
-          "requires": {
-            "@babel/runtime": "^7.0.0",
-            "@wordpress/escape-html": "^1.0.1",
-            "lodash": "^4.17.10",
-            "react": "^16.4.1",
-            "react-dom": "^16.4.1"
-          }
-        }
-      }
-    },
-    "@wordpress/deprecated": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-2.0.3.tgz",
-      "integrity": "sha512-5v8h6BJ9xQFTho7ucitshpIahD+rVnAhgc/4juYmPLb9/GJzwY1J91Ve5mcjcjgWhdtjBKO0TCq/S4PCfS812w==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0",
-        "@wordpress/hooks": "^2.0.3"
-      }
-    },
-    "@wordpress/element": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.4.tgz",
-      "integrity": "sha512-y/RpvYNd2VeLWXemxEXdMOnUa+HUC0sde2o7gEHKud0LB14xFU1ASif/pz/LP+vSvExcvhj8cu4Sq8tKDzRRPw==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0",
-        "@wordpress/escape-html": "^1.0.1",
-        "lodash": "^4.17.10",
-        "react": "^16.4.1",
-        "react-dom": "^16.4.1"
-      }
-    },
-    "@wordpress/escape-html": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-1.0.1.tgz",
-      "integrity": "sha512-ywRXV6WHbUWlqEDXQcWLmyG+/oBw8myTp+KTbkRRF2EJvx/cqL9XF55I2+aeZ5Q0VYRXXGHp6Tp1iRfJjr/rNQ==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0"
-      }
-    },
-    "@wordpress/hooks": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-2.0.3.tgz",
-      "integrity": "sha512-dMXM8VX1MfMN+vrstOdpCXioo4evtvjTESVnSc+AjKVOAWOCbuT/ci3aDLy8DreyDrWYgUR35Gfh7Y8JJix7vA==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0"
-      }
-    },
-    "@wordpress/i18n": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-3.0.1.tgz",
-      "integrity": "sha512-Ut6ihDjcZ7zpU44/WurZrFxrLcMl3Gq+hW8Hb6MTF6+X6Y2fd7QFu3lMvopYNwF8gxWtjvH5n3NIQ6B9DLt7Ng==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0",
-        "gettext-parser": "^1.3.1",
-        "jed": "^1.1.1",
-        "lodash": "^4.17.10",
-        "memize": "^1.0.5"
-      }
-    },
-    "@wordpress/is-shallow-equal": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-1.1.4.tgz",
-      "integrity": "sha512-ihJrYrW+G9GWtQjyB44DVKMCoiTTYPl5T/g1Ix9PMrKl2rk5uVbJw9yMmhik/jTIQqubpzhxGtrqsddwuUH1sw==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.0.0"
-      }
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "@xtuc/long": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz",
-      "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
-      "dev": true
-    },
-    "abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
-    },
-    "acorn": {
-      "version": "6.0.4",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
-      "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==",
-      "dev": true
-    },
-    "acorn-dynamic-import": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
-      "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
-      "dev": true,
-      "requires": {
-        "acorn": "^5.0.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "5.7.3",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
-          "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
-          "dev": true
-        }
-      }
-    },
-    "acorn-jsx": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.0.tgz",
-      "integrity": "sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg==",
-      "dev": true
-    },
-    "ajv": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz",
-      "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^2.0.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-errors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz",
-      "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=",
-      "dev": true
-    },
-    "ajv-keywords": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
-      "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
-      "dev": true
-    },
-    "amdefine": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
-      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
-      "dev": true
-    },
-    "ansi-escapes": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
-      "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
-      "dev": true
-    },
-    "ansi-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.0"
-      }
-    },
-    "anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "requires": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "are-we-there-yet": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
-      "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
-      "dev": true,
-      "requires": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^2.0.6"
-      }
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "aria-query": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
-      "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
-      "dev": true,
-      "requires": {
-        "ast-types-flow": "0.0.7",
-        "commander": "^2.11.0"
-      }
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
-    },
-    "array-find-index": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
-      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
-      "dev": true
-    },
-    "array-includes": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
-      "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "es-abstract": "^1.7.0"
-      }
-    },
-    "array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "dev": true,
-      "requires": {
-        "array-uniq": "^1.0.1"
-      }
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-      "dev": true
-    },
-    "asn1": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
-      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "asn1.js": {
-      "version": "4.10.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
-      "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "assert": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
-      "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
-      "dev": true,
-      "requires": {
-        "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
-      }
-    },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "ast-types-flow": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
-      "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
-      "dev": true
-    },
-    "async-each": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
-      "dev": true
-    },
-    "async-foreach": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
-      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
-      "dev": true
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
-    },
-    "aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
-    },
-    "aws4": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
-      "dev": true
-    },
-    "axobject-query": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz",
-      "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==",
-      "dev": true,
-      "requires": {
-        "ast-types-flow": "0.0.7"
-      }
-    },
-    "babel-code-frame": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
-      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.3",
-        "esutils": "^2.0.2",
-        "js-tokens": "^3.0.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "js-tokens": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "babel-eslint": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz",
-      "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.0.0",
-        "@babel/traverse": "^7.0.0",
-        "@babel/types": "^7.0.0",
-        "eslint-scope": "3.7.1",
-        "eslint-visitor-keys": "^1.0.0"
-      },
-      "dependencies": {
-        "eslint-scope": {
-          "version": "3.7.1",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
-          "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        }
-      }
-    },
-    "babel-loader": {
-      "version": "8.0.4",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz",
-      "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==",
-      "dev": true,
-      "requires": {
-        "find-cache-dir": "^1.0.0",
-        "loader-utils": "^1.0.2",
-        "mkdirp": "^0.5.1",
-        "util.promisify": "^1.0.0"
-      }
-    },
-    "babel-plugin-emotion": {
-      "version": "9.2.11",
-      "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz",
-      "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@emotion/babel-utils": "^0.6.4",
-        "@emotion/hash": "^0.6.2",
-        "@emotion/memoize": "^0.6.1",
-        "@emotion/stylis": "^0.7.0",
-        "babel-plugin-macros": "^2.0.0",
-        "babel-plugin-syntax-jsx": "^6.18.0",
-        "convert-source-map": "^1.5.0",
-        "find-root": "^1.1.0",
-        "mkdirp": "^0.5.1",
-        "source-map": "^0.5.7",
-        "touch": "^2.0.1"
-      }
-    },
-    "babel-plugin-macros": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.4.2.tgz",
-      "integrity": "sha512-NBVpEWN4OQ/bHnu1fyDaAaTPAjnhXCEPqr1RwqxrU7b6tZ2hypp+zX4hlNfmVGfClD5c3Sl6Hfj5TJNF5VG5aA==",
-      "requires": {
-        "cosmiconfig": "^5.0.5",
-        "resolve": "^1.8.1"
-      }
-    },
-    "babel-plugin-syntax-jsx": {
-      "version": "6.18.0",
-      "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
-      "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
-    },
-    "balanced-match": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
-      "dev": true
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "base64-js": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
-      "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
-      "dev": true
-    },
-    "bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
-      "requires": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "big.js": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
-      "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
-      "dev": true
-    },
-    "binary-extensions": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
-      "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
-      "dev": true
-    },
-    "block-stream": {
-      "version": "0.0.9",
-      "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
-      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.0"
-      }
-    },
-    "bluebird": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz",
-      "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==",
-      "dev": true
-    },
-    "bn.js": {
-      "version": "4.11.8",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
-      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
-      "dev": true
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "requires": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.0.1",
-      "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
-      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
-      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.1",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.2",
-        "elliptic": "^6.0.0",
-        "inherits": "^2.0.1",
-        "parse-asn1": "^5.0.0"
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.0.tgz",
-      "integrity": "sha512-Berls1CHL7qfQz8Lct6QxYA5d2Tvt4doDWHcjvAISybpd+EKZVppNtXgXhaN6SdrPKo7YLTSZuYBs5cYrSWN8w==",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30000889",
-        "electron-to-chromium": "^1.3.73",
-        "node-releases": "^1.0.0-alpha.12"
-      }
-    },
-    "buffer": {
-      "version": "4.9.1",
-      "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
-      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
-      "dev": true,
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
-      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
-      "dev": true
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "builtin-modules": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
-      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
-      "dev": true
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "cacache": {
-      "version": "10.0.4",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
-      "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.5.1",
-        "chownr": "^1.0.1",
-        "glob": "^7.1.2",
-        "graceful-fs": "^4.1.11",
-        "lru-cache": "^4.1.1",
-        "mississippi": "^2.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.2",
-        "ssri": "^5.2.4",
-        "unique-filename": "^1.1.0",
-        "y18n": "^4.0.0"
-      }
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "caller-path": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
-      "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
-      "dev": true,
-      "requires": {
-        "callsites": "^0.2.0"
-      }
-    },
-    "callsites": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
-      "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
-      "dev": true
-    },
-    "camelcase": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
-      "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
-      "dev": true
-    },
-    "camelcase-keys": {
-      "version": "2.1.0",
-      "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
-      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
-      "dev": true,
-      "requires": {
-        "camelcase": "^2.0.0",
-        "map-obj": "^1.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
-          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
-          "dev": true
-        }
-      }
-    },
-    "caniuse-lite": {
-      "version": "1.0.30000890",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000890.tgz",
-      "integrity": "sha512-4NI3s4Y6ROm+SgZN5sLUG4k7nVWQnedis3c/RWkynV5G6cHSY7+a8fwFyn2yoBDE3E6VswhTNNwR3PvzGqlTkg==",
-      "dev": true
-    },
-    "caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
-    },
-    "chalk": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-      "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      }
-    },
-    "chokidar": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
-      "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
-      "dev": true,
-      "requires": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.0",
-        "braces": "^2.3.0",
-        "fsevents": "^1.2.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.1",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "lodash.debounce": "^4.0.8",
-        "normalize-path": "^2.1.1",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.0.0",
-        "upath": "^1.0.5"
-      }
-    },
-    "chownr": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
-      "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
-      "dev": true
-    },
-    "chrome-trace-event": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
-      "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "circular-json": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
-      "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
-      "dev": true
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "classnames": {
-      "version": "2.2.6",
-      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
-      "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
-    },
-    "cli-cursor": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
-      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
-      "dev": true,
-      "requires": {
-        "restore-cursor": "^2.0.0"
-      }
-    },
-    "cli-width": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
-      "dev": true
-    },
-    "cliui": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
-      "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
-      "dev": true,
-      "requires": {
-        "string-width": "^2.1.1",
-        "strip-ansi": "^4.0.0",
-        "wrap-ansi": "^2.0.0"
-      }
-    },
-    "clone-deep": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
-      "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
-      "dev": true,
-      "requires": {
-        "for-own": "^1.0.0",
-        "is-plain-object": "^2.0.4",
-        "kind-of": "^6.0.0",
-        "shallow-clone": "^1.0.0"
-      }
-    },
-    "co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
-    },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "combined-stream": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
-      "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
-      "dev": true,
-      "requires": {
-        "delayed-stream": "~1.0.0"
-      }
-    },
-    "commander": {
-      "version": "2.13.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
-      "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
-      "dev": true
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "component-emitter": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
-      "dev": true
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "console-browserify": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
-      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
-      "dev": true,
-      "requires": {
-        "date-now": "^0.1.4"
-      }
-    },
-    "console-control-strings": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
-      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
-      "dev": true
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "convert-source-map": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
-      "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
-    },
-    "core-js": {
-      "version": "2.5.7",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
-      "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",
-      "dev": true
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "cosmiconfig": {
-      "version": "5.0.6",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz",
-      "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==",
-      "requires": {
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.9.0",
-        "parse-json": "^4.0.0"
-      },
-      "dependencies": {
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        }
-      }
-    },
-    "create-ecdh": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
-      "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.0.0"
-      }
-    },
-    "create-emotion": {
-      "version": "9.2.12",
-      "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz",
-      "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==",
-      "requires": {
-        "@emotion/hash": "^0.6.2",
-        "@emotion/memoize": "^0.6.1",
-        "@emotion/stylis": "^0.7.0",
-        "@emotion/unitless": "^0.6.2",
-        "csstype": "^2.5.2",
-        "stylis": "^3.5.0",
-        "stylis-rule-sheet": "^0.0.10"
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "cross-env": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz",
-      "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^6.0.5",
-        "is-windows": "^1.0.0"
-      }
-    },
-    "cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "requires": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "css-loader": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
-      "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==",
-      "dev": true,
-      "requires": {
-        "babel-code-frame": "^6.26.0",
-        "css-selector-tokenizer": "^0.7.0",
-        "icss-utils": "^2.1.0",
-        "loader-utils": "^1.0.2",
-        "lodash": "^4.17.11",
-        "postcss": "^6.0.23",
-        "postcss-modules-extract-imports": "^1.2.0",
-        "postcss-modules-local-by-default": "^1.2.0",
-        "postcss-modules-scope": "^1.1.0",
-        "postcss-modules-values": "^1.3.0",
-        "postcss-value-parser": "^3.3.0",
-        "source-list-map": "^2.0.0"
-      }
-    },
-    "css-selector-tokenizer": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
-      "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
-      "dev": true,
-      "requires": {
-        "cssesc": "^0.1.0",
-        "fastparse": "^1.1.1",
-        "regexpu-core": "^1.0.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        },
-        "regexpu-core": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
-          "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
-          "dev": true,
-          "requires": {
-            "regenerate": "^1.2.1",
-            "regjsgen": "^0.2.0",
-            "regjsparser": "^0.1.4"
-          }
-        },
-        "regjsgen": {
-          "version": "0.2.0",
-          "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
-          "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
-          "dev": true
-        },
-        "regjsparser": {
-          "version": "0.1.5",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
-          "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
-          "dev": true,
-          "requires": {
-            "jsesc": "~0.5.0"
-          }
-        }
-      }
-    },
-    "cssesc": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
-      "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
-      "dev": true
-    },
-    "csstype": {
-      "version": "2.5.7",
-      "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz",
-      "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw=="
-    },
-    "currently-unhandled": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
-      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
-      "dev": true,
-      "requires": {
-        "array-find-index": "^1.0.1"
-      }
-    },
-    "cyclist": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
-      "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
-      "dev": true
-    },
-    "damerau-levenshtein": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz",
-      "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=",
-      "dev": true
-    },
-    "dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "date-now": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
-      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
-      "dev": true
-    },
-    "debug": {
-      "version": "3.2.6",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-      "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-      "dev": true,
-      "requires": {
-        "ms": "^2.1.1"
-      }
-    },
-    "decamelize": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
-      "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
-      "dev": true,
-      "requires": {
-        "xregexp": "4.0.0"
-      }
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
-    },
-    "deep-is": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
-      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
-      "dev": true
-    },
-    "define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "dev": true,
-      "requires": {
-        "object-keys": "^1.0.12"
-      }
-    },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "dependencies": {
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "del": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
-      "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
-      "dev": true,
-      "requires": {
-        "globby": "^5.0.0",
-        "is-path-cwd": "^1.0.0",
-        "is-path-in-cwd": "^1.0.0",
-        "object-assign": "^4.0.1",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^2.0.0",
-        "rimraf": "^2.2.8"
-      },
-      "dependencies": {
-        "globby": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
-          "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
-          "dev": true,
-          "requires": {
-            "array-union": "^1.0.1",
-            "arrify": "^1.0.0",
-            "glob": "^7.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
-    },
-    "delegates": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
-      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
-      "dev": true
-    },
-    "des.js": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
-      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "doctrine": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-      "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-      "dev": true,
-      "requires": {
-        "esutils": "^2.0.2"
-      }
-    },
-    "dom-helpers": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
-      "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
-      "requires": {
-        "@babel/runtime": "^7.1.2"
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
-    "duplexify": {
-      "version": "3.6.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
-      "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
-      "requires": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "electron-to-chromium": {
-      "version": "1.3.78",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.78.tgz",
-      "integrity": "sha512-p4D/5iX08c3LNep5bWn/X3dFmec1K9le6O43lgRsO/vYKBTH2smWDMDfkGlPtERFcLVkI8xdKW5EokBZODh1xg==",
-      "dev": true
-    },
-    "elliptic": {
-      "version": "6.4.1",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
-      "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.4.0",
-        "brorand": "^1.0.1",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.0"
-      }
-    },
-    "emoji-regex": {
-      "version": "6.5.1",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz",
-      "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==",
-      "dev": true
-    },
-    "emojis-list": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
-      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
-      "dev": true
-    },
-    "emotion": {
-      "version": "9.2.12",
-      "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz",
-      "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==",
-      "requires": {
-        "babel-plugin-emotion": "^9.2.11",
-        "create-emotion": "^9.2.12"
-      }
-    },
-    "encoding": {
-      "version": "0.1.12",
-      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
-      "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
-      "dev": true,
-      "requires": {
-        "iconv-lite": "~0.4.13"
-      }
-    },
-    "end-of-stream": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
-      "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
-      "dev": true,
-      "requires": {
-        "once": "^1.4.0"
-      }
-    },
-    "enhanced-resolve": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
-      "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.4.0",
-        "tapable": "^1.0.0"
-      }
-    },
-    "errno": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
-      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "es-abstract": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
-      "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
-      "dev": true,
-      "requires": {
-        "es-to-primitive": "^1.1.1",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.1",
-        "is-callable": "^1.1.3",
-        "is-regex": "^1.0.4"
-      }
-    },
-    "es-to-primitive": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
-      "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
-      "dev": true,
-      "requires": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      }
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
-    },
-    "eslint": {
-      "version": "5.7.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.7.0.tgz",
-      "integrity": "sha512-zYCeFQahsxffGl87U2aJ7DPyH8CbWgxBC213Y8+TCanhUTf2gEvfq3EKpHmEcozTLyPmGe9LZdMAwC/CpJBM5A==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "ajv": "^6.5.3",
-        "chalk": "^2.1.0",
-        "cross-spawn": "^6.0.5",
-        "debug": "^4.0.1",
-        "doctrine": "^2.1.0",
-        "eslint-scope": "^4.0.0",
-        "eslint-utils": "^1.3.1",
-        "eslint-visitor-keys": "^1.0.0",
-        "espree": "^4.0.0",
-        "esquery": "^1.0.1",
-        "esutils": "^2.0.2",
-        "file-entry-cache": "^2.0.0",
-        "functional-red-black-tree": "^1.0.1",
-        "glob": "^7.1.2",
-        "globals": "^11.7.0",
-        "ignore": "^4.0.6",
-        "imurmurhash": "^0.1.4",
-        "inquirer": "^6.1.0",
-        "is-resolvable": "^1.1.0",
-        "js-yaml": "^3.12.0",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.3.0",
-        "lodash": "^4.17.5",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.8.2",
-        "path-is-inside": "^1.0.2",
-        "pluralize": "^7.0.0",
-        "progress": "^2.0.0",
-        "regexpp": "^2.0.1",
-        "require-uncached": "^1.0.3",
-        "semver": "^5.5.1",
-        "strip-ansi": "^4.0.0",
-        "strip-json-comments": "^2.0.1",
-        "table": "^5.0.2",
-        "text-table": "^0.2.0"
-      },
-      "dependencies": {
-        "chardet": {
-          "version": "0.7.0",
-          "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-          "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-          "dev": true
-        },
-        "debug": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
-          "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "eslint-scope": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
-          "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "external-editor": {
-          "version": "3.0.3",
-          "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
-          "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
-          "dev": true,
-          "requires": {
-            "chardet": "^0.7.0",
-            "iconv-lite": "^0.4.24",
-            "tmp": "^0.0.33"
-          }
-        },
-        "ignore": {
-          "version": "4.0.6",
-          "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-          "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
-          "dev": true
-        },
-        "inquirer": {
-          "version": "6.2.0",
-          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
-          "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
-          "dev": true,
-          "requires": {
-            "ansi-escapes": "^3.0.0",
-            "chalk": "^2.0.0",
-            "cli-cursor": "^2.1.0",
-            "cli-width": "^2.0.0",
-            "external-editor": "^3.0.0",
-            "figures": "^2.0.0",
-            "lodash": "^4.17.10",
-            "mute-stream": "0.0.7",
-            "run-async": "^2.2.0",
-            "rxjs": "^6.1.0",
-            "string-width": "^2.1.0",
-            "strip-ansi": "^4.0.0",
-            "through": "^2.3.6"
-          }
-        },
-        "rxjs": {
-          "version": "6.3.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
-          "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
-          "dev": true,
-          "requires": {
-            "tslib": "^1.9.0"
-          }
-        }
-      }
-    },
-    "eslint-config-wordpress": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-wordpress/-/eslint-config-wordpress-2.0.0.tgz",
-      "integrity": "sha1-UgEgbGlk1kgxUjLt9t+9LpJeTNY=",
-      "dev": true
-    },
-    "eslint-plugin-jsx-a11y": {
-      "version": "6.1.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz",
-      "integrity": "sha512-7gSSmwb3A+fQwtw0arguwMdOdzmKUgnUcbSNlo+GjKLAQFuC2EZxWqG9XHRI8VscBJD5a8raz3RuxQNFW+XJbw==",
-      "dev": true,
-      "requires": {
-        "aria-query": "^3.0.0",
-        "array-includes": "^3.0.3",
-        "ast-types-flow": "^0.0.7",
-        "axobject-query": "^2.0.1",
-        "damerau-levenshtein": "^1.0.4",
-        "emoji-regex": "^6.5.1",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^2.0.1"
-      }
-    },
-    "eslint-plugin-react": {
-      "version": "7.11.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz",
-      "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==",
-      "dev": true,
-      "requires": {
-        "array-includes": "^3.0.3",
-        "doctrine": "^2.1.0",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^2.0.1",
-        "prop-types": "^15.6.2"
-      }
-    },
-    "eslint-scope": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
-      "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
-      "dev": true,
-      "requires": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      }
-    },
-    "eslint-utils": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz",
-      "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==",
-      "dev": true
-    },
-    "eslint-visitor-keys": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
-      "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
-      "dev": true
-    },
-    "espree": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
-      "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
-      "dev": true,
-      "requires": {
-        "acorn": "^6.0.2",
-        "acorn-jsx": "^5.0.0",
-        "eslint-visitor-keys": "^1.0.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.2.tgz",
-          "integrity": "sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg==",
-          "dev": true
-        }
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
-    },
-    "esquery": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
-      "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^4.0.0"
-      }
-    },
-    "esrecurse": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
-      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^4.1.0"
-      }
-    },
-    "estraverse": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
-      "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
-      "dev": true
-    },
-    "esutils": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
-      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
-    },
-    "events": {
-      "version": "1.1.1",
-      "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
-      "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
-      "dev": true
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "execa": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
-      "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^3.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      }
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
-      "dev": true
-    },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "requires": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
-    },
-    "fast-deep-equal": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
-    },
-    "fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
-      "dev": true
-    },
-    "fastparse": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
-      "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
-      "dev": true
-    },
-    "figures": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
-      "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.5"
-      }
-    },
-    "file-entry-cache": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
-      "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
-      "dev": true,
-      "requires": {
-        "flat-cache": "^1.2.1",
-        "object-assign": "^4.0.1"
-      }
-    },
-    "fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "find-cache-dir": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
-      "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
-      "dev": true,
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^1.0.0",
-        "pkg-dir": "^2.0.0"
-      }
-    },
-    "find-root": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
-      "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
-    },
-    "find-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-      "dev": true,
-      "requires": {
-        "locate-path": "^2.0.0"
-      }
-    },
-    "flat-cache": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
-      "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
-      "dev": true,
-      "requires": {
-        "circular-json": "^0.3.1",
-        "del": "^2.0.2",
-        "graceful-fs": "^4.1.2",
-        "write": "^0.2.1"
-      }
-    },
-    "flush-write-stream": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
-      "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.4"
-      }
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "for-own": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
-      "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.1"
-      }
-    },
-    "forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
-    },
-    "form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
-      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "dev": true,
-      "requires": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      }
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "fsevents": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
-      "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "nan": "^2.9.2",
-        "node-pre-gyp": "^0.10.0"
-      },
-      "dependencies": {
-        "abbrev": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "ansi-regex": {
-          "version": "2.1.1",
-          "bundled": true,
-          "dev": true
-        },
-        "aproba": {
-          "version": "1.2.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "are-we-there-yet": {
-          "version": "1.1.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "delegates": "^1.0.0",
-            "readable-stream": "^2.0.6"
-          }
-        },
-        "balanced-match": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true
-        },
-        "brace-expansion": {
-          "version": "1.1.11",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "balanced-match": "^1.0.0",
-            "concat-map": "0.0.1"
-          }
-        },
-        "chownr": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "code-point-at": {
-          "version": "1.1.0",
-          "bundled": true,
-          "dev": true
-        },
-        "concat-map": {
-          "version": "0.0.1",
-          "bundled": true,
-          "dev": true
-        },
-        "console-control-strings": {
-          "version": "1.1.0",
-          "bundled": true,
-          "dev": true
-        },
-        "core-util-is": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "deep-extend": {
-          "version": "0.5.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "delegates": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "detect-libc": {
-          "version": "1.0.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "fs-minipass": {
-          "version": "1.2.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minipass": "^2.2.1"
-          }
-        },
-        "fs.realpath": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "gauge": {
-          "version": "2.7.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "aproba": "^1.0.3",
-            "console-control-strings": "^1.0.0",
-            "has-unicode": "^2.0.0",
-            "object-assign": "^4.1.0",
-            "signal-exit": "^3.0.0",
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1",
-            "wide-align": "^1.1.0"
-          }
-        },
-        "glob": {
-          "version": "7.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "has-unicode": {
-          "version": "2.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "iconv-lite": {
-          "version": "0.4.21",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safer-buffer": "^2.1.0"
-          }
-        },
-        "ignore-walk": {
-          "version": "3.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minimatch": "^3.0.4"
-          }
-        },
-        "inflight": {
-          "version": "1.0.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "once": "^1.3.0",
-            "wrappy": "1"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "bundled": true,
-          "dev": true
-        },
-        "ini": {
-          "version": "1.3.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "minimatch": {
-          "version": "3.0.4",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "minimist": {
-          "version": "0.0.8",
-          "bundled": true,
-          "dev": true
-        },
-        "minipass": {
-          "version": "2.2.4",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "safe-buffer": "^5.1.1",
-            "yallist": "^3.0.0"
-          }
-        },
-        "minizlib": {
-          "version": "1.1.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minipass": "^2.2.1"
-          }
-        },
-        "mkdirp": {
-          "version": "0.5.1",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "minimist": "0.0.8"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "needle": {
-          "version": "2.2.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "debug": "^2.1.2",
-            "iconv-lite": "^0.4.4",
-            "sax": "^1.2.4"
-          }
-        },
-        "node-pre-gyp": {
-          "version": "0.10.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "detect-libc": "^1.0.2",
-            "mkdirp": "^0.5.1",
-            "needle": "^2.2.0",
-            "nopt": "^4.0.1",
-            "npm-packlist": "^1.1.6",
-            "npmlog": "^4.0.2",
-            "rc": "^1.1.7",
-            "rimraf": "^2.6.1",
-            "semver": "^5.3.0",
-            "tar": "^4"
-          }
-        },
-        "nopt": {
-          "version": "4.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "abbrev": "1",
-            "osenv": "^0.1.4"
-          }
-        },
-        "npm-bundled": {
-          "version": "1.0.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "npm-packlist": {
-          "version": "1.1.10",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ignore-walk": "^3.0.1",
-            "npm-bundled": "^1.0.1"
-          }
-        },
-        "npmlog": {
-          "version": "4.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "are-we-there-yet": "~1.1.2",
-            "console-control-strings": "~1.1.0",
-            "gauge": "~2.7.3",
-            "set-blocking": "~2.0.0"
-          }
-        },
-        "number-is-nan": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true
-        },
-        "object-assign": {
-          "version": "4.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "once": {
-          "version": "1.4.0",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "wrappy": "1"
-          }
-        },
-        "os-homedir": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "os-tmpdir": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "osenv": {
-          "version": "0.1.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "os-homedir": "^1.0.0",
-            "os-tmpdir": "^1.0.0"
-          }
-        },
-        "path-is-absolute": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "process-nextick-args": {
-          "version": "2.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "rc": {
-          "version": "1.2.7",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "deep-extend": "^0.5.1",
-            "ini": "~1.3.0",
-            "minimist": "^1.2.0",
-            "strip-json-comments": "~2.0.1"
-          },
-          "dependencies": {
-            "minimist": {
-              "version": "1.2.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            }
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "rimraf": {
-          "version": "2.6.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "glob": "^7.0.5"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.1",
-          "bundled": true,
-          "dev": true
-        },
-        "safer-buffer": {
-          "version": "2.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "sax": {
-          "version": "1.2.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "semver": {
-          "version": "5.5.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "set-blocking": {
-          "version": "2.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "signal-exit": {
-          "version": "3.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "bundled": true,
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "strip-json-comments": {
-          "version": "2.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "tar": {
-          "version": "4.4.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "chownr": "^1.0.1",
-            "fs-minipass": "^1.2.5",
-            "minipass": "^2.2.4",
-            "minizlib": "^1.1.0",
-            "mkdirp": "^0.5.0",
-            "safe-buffer": "^5.1.1",
-            "yallist": "^3.0.2"
-          }
-        },
-        "util-deprecate": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "wide-align": {
-          "version": "1.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "string-width": "^1.0.2"
-          }
-        },
-        "wrappy": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true
-        },
-        "yallist": {
-          "version": "3.0.2",
-          "bundled": true,
-          "dev": true
-        }
-      }
-    },
-    "fstream": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
-      "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "inherits": "~2.0.0",
-        "mkdirp": ">=0.5 0",
-        "rimraf": "2"
-      }
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "gauge": {
-      "version": "2.7.4",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
-      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.0.3",
-        "console-control-strings": "^1.0.0",
-        "has-unicode": "^2.0.0",
-        "object-assign": "^4.1.0",
-        "signal-exit": "^3.0.0",
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1",
-        "wide-align": "^1.1.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "gaze": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
-      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
-      "dev": true,
-      "requires": {
-        "globule": "^1.0.0"
-      }
-    },
-    "get-caller-file": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
-      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
-      "dev": true
-    },
-    "get-stdin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
-      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
-      "dev": true
-    },
-    "get-stream": {
-      "version": "3.0.0",
-      "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
-      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
-      "dev": true
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
-    },
-    "getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "gettext-parser": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
-      "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==",
-      "dev": true,
-      "requires": {
-        "encoding": "^0.1.12",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "glob": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
-      "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
-      "dev": true,
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "requires": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      },
-      "dependencies": {
-        "is-glob": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-          "dev": true,
-          "requires": {
-            "is-extglob": "^2.1.0"
-          }
-        }
-      }
-    },
-    "global-modules-path": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz",
-      "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==",
-      "dev": true
-    },
-    "globals": {
-      "version": "11.8.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz",
-      "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==",
-      "dev": true
-    },
-    "globule": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
-      "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
-      "dev": true,
-      "requires": {
-        "glob": "~7.1.1",
-        "lodash": "~4.17.10",
-        "minimatch": "~3.0.2"
-      }
-    },
-    "graceful-fs": {
-      "version": "4.1.11",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
-      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
-      "dev": true
-    },
-    "har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
-    },
-    "har-validator": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
-      "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
-      "dev": true,
-      "requires": {
-        "ajv": "^5.3.0",
-        "har-schema": "^2.0.0"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "5.5.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
-          "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
-          "dev": true,
-          "requires": {
-            "co": "^4.6.0",
-            "fast-deep-equal": "^1.0.0",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.3.0"
-          }
-        },
-        "fast-deep-equal": {
-          "version": "1.1.0",
-          "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
-          "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
-          "dev": true
-        },
-        "json-schema-traverse": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
-          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
-          "dev": true
-        }
-      }
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        }
-      }
-    },
-    "has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
-    },
-    "has-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
-      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
-      "dev": true
-    },
-    "has-unicode": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
-      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
-      "dev": true
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
-      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "hash.js": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
-      "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "hosted-git-info": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
-      "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
-      "dev": true
-    },
-    "http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "icss-replace-symbols": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
-      "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
-      "dev": true
-    },
-    "icss-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
-      "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
-      "dev": true,
-      "requires": {
-        "postcss": "^6.0.1"
-      }
-    },
-    "ieee754": {
-      "version": "1.1.12",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
-      "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
-      "dev": true
-    },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "import-local": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
-      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
-      "dev": true,
-      "requires": {
-        "pkg-dir": "^3.0.0",
-        "resolve-cwd": "^2.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
-          "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
-          "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        }
-      }
-    },
-    "imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
-    },
-    "in-publish": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
-      "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
-      "dev": true
-    },
-    "indent-string": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
-      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
-      "dev": true,
-      "requires": {
-        "repeating": "^2.0.0"
-      }
-    },
-    "indexof": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
-      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
-      "dev": true
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "interpret": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
-      "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
-      "dev": true
-    },
-    "invariant": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
-      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "dev": true,
-      "requires": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "invert-kv": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
-      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
-      "dev": true
-    },
-    "is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
-    },
-    "is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "requires": {
-        "binary-extensions": "^1.0.0"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "is-builtin-module": {
-      "version": "1.0.0",
-      "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
-      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
-      "dev": true,
-      "requires": {
-        "builtin-modules": "^1.0.0"
-      }
-    },
-    "is-callable": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
-      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
-      "dev": true
-    },
-    "is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-date-object": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
-      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
-      "dev": true
-    },
-    "is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "is-directory": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
-      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
-    },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
-    },
-    "is-finite": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
-      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
-      "dev": true,
-      "requires": {
-        "number-is-nan": "^1.0.0"
-      }
-    },
-    "is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true
-    },
-    "is-glob": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
-      "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
-      "dev": true,
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-path-cwd": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
-      "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
-      "dev": true
-    },
-    "is-path-in-cwd": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
-      "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
-      "dev": true,
-      "requires": {
-        "is-path-inside": "^1.0.0"
-      }
-    },
-    "is-path-inside": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
-      "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
-      "dev": true,
-      "requires": {
-        "path-is-inside": "^1.0.1"
-      }
-    },
-    "is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "is-promise": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
-      "dev": true
-    },
-    "is-regex": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
-      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.1"
-      }
-    },
-    "is-resolvable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
-      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
-      "dev": true
-    },
-    "is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true
-    },
-    "is-symbol": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
-      "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
-      "dev": true,
-      "requires": {
-        "has-symbols": "^1.0.0"
-      }
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "is-utf8": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
-      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
-      "dev": true
-    },
-    "is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
-    },
-    "isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
-    },
-    "jed": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/jed/-/jed-1.1.1.tgz",
-      "integrity": "sha1-elSbvZ/+FYWwzQoZHiAwVb7ldLQ=",
-      "dev": true
-    },
-    "js-base64": {
-      "version": "2.4.9",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
-      "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==",
-      "dev": true
-    },
-    "js-levenshtein": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz",
-      "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==",
-      "dev": true
-    },
-    "js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
-    },
-    "js-yaml": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
-      "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
-    },
-    "jsesc": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
-      "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
-      "dev": true
-    },
-    "json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
-    },
-    "json-schema": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
-    },
-    "json5": {
-      "version": "0.5.1",
-      "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
-      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
-      "dev": true
-    },
-    "jsprim": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
-      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.2.3",
-        "verror": "1.10.0"
-      }
-    },
-    "jsx-ast-utils": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
-      "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
-      "dev": true,
-      "requires": {
-        "array-includes": "^3.0.3"
-      }
-    },
-    "kind-of": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-      "dev": true
-    },
-    "lcid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
-      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
-      "dev": true,
-      "requires": {
-        "invert-kv": "^1.0.0"
-      },
-      "dependencies": {
-        "invert-kv": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
-          "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
-          "dev": true
-        }
-      }
-    },
-    "levn": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2"
-      }
-    },
-    "load-json-file": {
-      "version": "1.1.0",
-      "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
-      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^2.2.0",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^2.0.0",
-        "strip-bom": "^2.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "loader-runner": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz",
-      "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==",
-      "dev": true
-    },
-    "loader-utils": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
-      "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
-      "dev": true,
-      "requires": {
-        "big.js": "^3.1.3",
-        "emojis-list": "^2.0.0",
-        "json5": "^0.5.0"
-      }
-    },
-    "locate-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-      "dev": true,
-      "requires": {
-        "p-locate": "^2.0.0",
-        "path-exists": "^3.0.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.11",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
-      "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
-    },
-    "lodash.assign": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
-      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
-      "dev": true
-    },
-    "lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
-      "dev": true
-    },
-    "lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
-      "dev": true
-    },
-    "lodash.mergewith": {
-      "version": "4.6.1",
-      "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
-      "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
-      "dev": true
-    },
-    "lodash.tail": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
-      "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
-      "dev": true
-    },
-    "loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "requires": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      }
-    },
-    "loud-rejection": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
-      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
-      "dev": true,
-      "requires": {
-        "currently-unhandled": "^0.4.1",
-        "signal-exit": "^3.0.0"
-      }
-    },
-    "lru-cache": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
-      "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
-      "dev": true,
-      "requires": {
-        "pseudomap": "^1.0.2",
-        "yallist": "^2.1.2"
-      }
-    },
-    "make-dir": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
-      "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
-      "dev": true,
-      "requires": {
-        "pify": "^3.0.0"
-      }
-    },
-    "map-age-cleaner": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz",
-      "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==",
-      "dev": true,
-      "requires": {
-        "p-defer": "^1.0.0"
-      }
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
-    },
-    "map-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
-      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
-      "dev": true
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "mem": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
-      "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
-      "dev": true,
-      "requires": {
-        "map-age-cleaner": "^0.1.1",
-        "mimic-fn": "^1.0.0",
-        "p-is-promise": "^1.1.0"
-      }
-    },
-    "memize": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/memize/-/memize-1.0.5.tgz",
-      "integrity": "sha512-Dm8Jhb5kiC4+ynYsVR4QDXKt+o2dfqGuY4hE2x+XlXZkdndlT80bJxfcMv5QGp/FCy6MhG7f5ElpmKPFKOSEpg==",
-      "dev": true
-    },
-    "memoize-one": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz",
-      "integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw=="
-    },
-    "memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "meow": {
-      "version": "3.7.0",
-      "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
-      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
-      "dev": true,
-      "requires": {
-        "camelcase-keys": "^2.0.0",
-        "decamelize": "^1.1.2",
-        "loud-rejection": "^1.0.0",
-        "map-obj": "^1.0.1",
-        "minimist": "^1.1.3",
-        "normalize-package-data": "^2.3.4",
-        "object-assign": "^4.0.1",
-        "read-pkg-up": "^1.0.1",
-        "redent": "^1.0.0",
-        "trim-newlines": "^1.0.0"
-      },
-      "dependencies": {
-        "decamelize": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-          "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-          "dev": true
-        },
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
-          "dev": true
-        }
-      }
-    },
-    "micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      }
-    },
-    "mime-db": {
-      "version": "1.37.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
-      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
-      "dev": true
-    },
-    "mime-types": {
-      "version": "2.1.21",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
-      "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
-      "dev": true,
-      "requires": {
-        "mime-db": "~1.37.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
-      "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
-      "dev": true
-    },
-    "mini-css-extract-plugin": {
-      "version": "0.4.4",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.4.tgz",
-      "integrity": "sha512-o+Jm+ocb0asEngdM6FsZWtZsRzA8koFUudIDwYUfl94M3PejPHG7Vopw5hN9V8WsMkSFpm3tZP3Fesz89EyrfQ==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "webpack-sources": "^1.1.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "0.0.8",
-      "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
-    },
-    "mississippi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
-      "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
-      "dev": true,
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^2.0.1",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "mixin-deep": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
-      "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "mixin-object": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
-      "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
-      "dev": true,
-      "requires": {
-        "for-in": "^0.1.3",
-        "is-extendable": "^0.1.1"
-      },
-      "dependencies": {
-        "for-in": {
-          "version": "0.1.8",
-          "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
-          "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
-          "dev": true
-        }
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.1",
-      "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
-      "requires": {
-        "minimist": "0.0.8"
-      }
-    },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "ms": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-      "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-      "dev": true
-    },
-    "mute-stream": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
-      "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
-      "dev": true
-    },
-    "nan": {
-      "version": "2.11.1",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
-      "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
-      "dev": true
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      }
-    },
-    "natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "neo-async": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz",
-      "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==",
-      "dev": true
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "node-gyp": {
-      "version": "3.8.0",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
-      "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
-      "dev": true,
-      "requires": {
-        "fstream": "^1.0.0",
-        "glob": "^7.0.3",
-        "graceful-fs": "^4.1.2",
-        "mkdirp": "^0.5.0",
-        "nopt": "2 || 3",
-        "npmlog": "0 || 1 || 2 || 3 || 4",
-        "osenv": "0",
-        "request": "^2.87.0",
-        "rimraf": "2",
-        "semver": "~5.3.0",
-        "tar": "^2.0.0",
-        "which": "1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.3.0",
-          "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
-          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
-          "dev": true
-        }
-      }
-    },
-    "node-libs-browser": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
-      "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^1.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.0",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.10.3",
-        "vm-browserify": "0.0.4"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        }
-      }
-    },
-    "node-releases": {
-      "version": "1.0.0-alpha.12",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.12.tgz",
-      "integrity": "sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q==",
-      "dev": true,
-      "requires": {
-        "semver": "^5.3.0"
-      }
-    },
-    "node-sass": {
-      "version": "4.9.4",
-      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.4.tgz",
-      "integrity": "sha512-MXyurANsUoE4/6KmfMkwGcBzAnJQ5xJBGW7Ei6ea8KnUKuzHr/SguVBIi3uaUAHtZCPUYkvlJ3Ef5T5VAwVpaA==",
-      "dev": true,
-      "requires": {
-        "async-foreach": "^0.1.3",
-        "chalk": "^1.1.1",
-        "cross-spawn": "^3.0.0",
-        "gaze": "^1.0.0",
-        "get-stdin": "^4.0.1",
-        "glob": "^7.0.3",
-        "in-publish": "^2.0.0",
-        "lodash.assign": "^4.2.0",
-        "lodash.clonedeep": "^4.3.2",
-        "lodash.mergewith": "^4.6.0",
-        "meow": "^3.7.0",
-        "mkdirp": "^0.5.1",
-        "nan": "^2.10.0",
-        "node-gyp": "^3.8.0",
-        "npmlog": "^4.0.0",
-        "request": "^2.88.0",
-        "sass-graph": "^2.2.4",
-        "stdout-stream": "^1.4.0",
-        "true-case-path": "^1.0.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "cross-spawn": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
-          "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^4.0.1",
-            "which": "^1.2.9"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "nopt": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
-      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
-      "dev": true,
-      "requires": {
-        "abbrev": "1"
-      }
-    },
-    "normalize-package-data": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
-      "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "is-builtin-module": "^1.0.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      }
-    },
-    "normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "requires": {
-        "remove-trailing-separator": "^1.0.1"
-      }
-    },
-    "npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "requires": {
-        "path-key": "^2.0.0"
-      }
-    },
-    "npmlog": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
-      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
-      "dev": true,
-      "requires": {
-        "are-we-there-yet": "~1.1.2",
-        "console-control-strings": "~1.1.0",
-        "gauge": "~2.7.3",
-        "set-blocking": "~2.0.0"
-      }
-    },
-    "number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true
-    },
-    "oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
-      "dev": true
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "object-keys": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
-      "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
-      "dev": true
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.getownpropertydescriptors": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
-      "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "es-abstract": "^1.5.1"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "onetime": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
-      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^1.0.0"
-      }
-    },
-    "optionator": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
-      "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
-      "dev": true,
-      "requires": {
-        "deep-is": "~0.1.3",
-        "fast-levenshtein": "~2.0.4",
-        "levn": "~0.3.0",
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2",
-        "wordwrap": "~1.0.0"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "os-homedir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
-    },
-    "os-locale": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
-      "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
-      "dev": true,
-      "requires": {
-        "execa": "^0.10.0",
-        "lcid": "^2.0.0",
-        "mem": "^4.0.0"
-      },
-      "dependencies": {
-        "lcid": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
-          "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
-          "dev": true,
-          "requires": {
-            "invert-kv": "^2.0.0"
-          }
-        }
-      }
-    },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
-    },
-    "osenv": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
-      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
-      "dev": true,
-      "requires": {
-        "os-homedir": "^1.0.0",
-        "os-tmpdir": "^1.0.0"
-      }
-    },
-    "p-defer": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
-      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
-      "dev": true
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
-    },
-    "p-is-promise": {
-      "version": "1.1.0",
-      "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
-      "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
-      "dev": true
-    },
-    "p-limit": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-      "dev": true,
-      "requires": {
-        "p-try": "^1.0.0"
-      }
-    },
-    "p-locate": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-      "dev": true,
-      "requires": {
-        "p-limit": "^1.1.0"
-      }
-    },
-    "p-try": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-      "dev": true
-    },
-    "pako": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
-      "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
-      "dev": true
-    },
-    "parallel-transform": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
-      "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
-      "dev": true,
-      "requires": {
-        "cyclist": "~0.2.2",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "parse-asn1": {
-      "version": "5.1.1",
-      "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
-      "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^4.0.0",
-        "browserify-aes": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3"
-      }
-    },
-    "parse-json": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-      "dev": true,
-      "requires": {
-        "error-ex": "^1.2.0"
-      }
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
-      "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
-      "dev": true
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
-    },
-    "path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true
-    },
-    "path-parse": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
-    },
-    "path-type": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
-      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^2.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "pbkdf2": {
-      "version": "3.0.17",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
-      "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
-    },
-    "pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-      "dev": true
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
-      }
-    },
-    "pluralize": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
-      "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
-      "dev": true
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "postcss": {
-      "version": "6.0.23",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
-      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.1",
-        "source-map": "^0.6.1",
-        "supports-color": "^5.4.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-modules-extract-imports": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
-      "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^6.0.1"
-      }
-    },
-    "postcss-modules-local-by-default": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
-      "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
-      "dev": true,
-      "requires": {
-        "css-selector-tokenizer": "^0.7.0",
-        "postcss": "^6.0.1"
-      }
-    },
-    "postcss-modules-scope": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
-      "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
-      "dev": true,
-      "requires": {
-        "css-selector-tokenizer": "^0.7.0",
-        "postcss": "^6.0.1"
-      }
-    },
-    "postcss-modules-values": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
-      "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
-      "dev": true,
-      "requires": {
-        "icss-replace-symbols": "^1.1.0",
-        "postcss": "^6.0.1"
-      }
-    },
-    "postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "prelude-ls": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
-      "dev": true
-    },
-    "private": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
-      "dev": true
-    },
-    "progress": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
-      "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
-      "dev": true
-    },
-    "promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "prop-types": {
-      "version": "15.6.2",
-      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
-      "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
-      "requires": {
-        "loose-envify": "^1.3.1",
-        "object-assign": "^4.1.1"
-      }
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "pseudomap": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
-    },
-    "psl": {
-      "version": "1.1.29",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
-      "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
-      "dev": true
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "pump": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      }
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
-    },
-    "qs": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
-      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
-      "dev": true
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
-    },
-    "raf": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
-      "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
-      "requires": {
-        "performance-now": "^2.1.0"
-      }
-    },
-    "randombytes": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
-      "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "react": {
-      "version": "16.5.2",
-      "resolved": "https://registry.npmjs.org/react/-/react-16.5.2.tgz",
-      "integrity": "sha512-FDCSVd3DjVTmbEAjUNX6FgfAmQ+ypJfHUsqUJOYNCBUp1h8lqmtC+0mXJ+JjsWx4KAVTkk1vKd1hLQPvEviSuw==",
-      "dev": true,
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "schedule": "^0.5.0"
-      }
-    },
-    "react-dom": {
-      "version": "16.5.2",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.5.2.tgz",
-      "integrity": "sha512-RC8LDw8feuZOHVgzEf7f+cxBr/DnKdqp56VU0lAs1f4UfKc4cU8wU4fTq/mgnvynLQo8OtlPC19NUFh/zjZPuA==",
-      "dev": true,
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "schedule": "^0.5.0"
-      }
-    },
-    "react-input-autosize": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz",
-      "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==",
-      "requires": {
-        "prop-types": "^15.5.8"
-      }
-    },
-    "react-lifecycles-compat": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
-      "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
-    },
-    "react-select": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.1.1.tgz",
-      "integrity": "sha512-ukie2LJStNfJEJ7wtqA+crAfzYpkpPr86urvmJGisECwsWJob9boCM4zjmKCi5QR7G8uY9+v7ZoliJpeCz/4xw==",
-      "requires": {
-        "classnames": "^2.2.5",
-        "emotion": "^9.1.2",
-        "memoize-one": "^4.0.0",
-        "prop-types": "^15.6.0",
-        "raf": "^3.4.0",
-        "react-input-autosize": "^2.2.1",
-        "react-transition-group": "^2.2.1"
-      }
-    },
-    "react-transition-group": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.0.tgz",
-      "integrity": "sha512-qYB3JBF+9Y4sE4/Mg/9O6WFpdoYjeeYqx0AFb64PTazVy8RPMiE3A47CG9QmM4WJ/mzDiZYslV+Uly6O1Erlgw==",
-      "requires": {
-        "dom-helpers": "^3.3.1",
-        "loose-envify": "^1.4.0",
-        "prop-types": "^15.6.2",
-        "react-lifecycles-compat": "^3.0.4"
-      }
-    },
-    "read-pkg": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
-      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
-      "dev": true,
-      "requires": {
-        "load-json-file": "^1.0.0",
-        "normalize-package-data": "^2.3.2",
-        "path-type": "^1.0.0"
-      }
-    },
-    "read-pkg-up": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
-      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
-      "dev": true,
-      "requires": {
-        "find-up": "^1.0.0",
-        "read-pkg": "^1.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
-          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
-          "dev": true,
-          "requires": {
-            "path-exists": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
-          "dev": true,
-          "requires": {
-            "pinkie-promise": "^2.0.0"
-          }
-        }
-      }
-    },
-    "readable-stream": {
-      "version": "2.3.6",
-      "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-      "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-      "dev": true,
-      "requires": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "redent": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
-      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
-      "dev": true,
-      "requires": {
-        "indent-string": "^2.1.0",
-        "strip-indent": "^1.0.1"
-      }
-    },
-    "regenerate": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
-      "dev": true
-    },
-    "regenerate-unicode-properties": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
-      "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0"
-      }
-    },
-    "regenerator-runtime": {
-      "version": "0.12.1",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
-      "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
-    },
-    "regenerator-transform": {
-      "version": "0.13.3",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz",
-      "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==",
-      "dev": true,
-      "requires": {
-        "private": "^0.1.6"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "regexpp": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
-      "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
-      "dev": true
-    },
-    "regexpu-core": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz",
-      "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0",
-        "regenerate-unicode-properties": "^7.0.0",
-        "regjsgen": "^0.4.0",
-        "regjsparser": "^0.3.0",
-        "unicode-match-property-ecmascript": "^1.0.4",
-        "unicode-match-property-value-ecmascript": "^1.0.2"
-      }
-    },
-    "regjsgen": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz",
-      "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==",
-      "dev": true
-    },
-    "regjsparser": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz",
-      "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==",
-      "dev": true,
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        }
-      }
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "repeat-element": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
-    "repeating": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
-      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
-      "dev": true,
-      "requires": {
-        "is-finite": "^1.0.0"
-      }
-    },
-    "request": {
-      "version": "2.88.0",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
-      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
-      "dev": true,
-      "requires": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.0",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.4.3",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      }
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
-    },
-    "require-main-filename": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
-      "dev": true
-    },
-    "require-uncached": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
-      "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
-      "dev": true,
-      "requires": {
-        "caller-path": "^0.1.0",
-        "resolve-from": "^1.0.0"
-      },
-      "dependencies": {
-        "resolve-from": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
-          "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
-          "dev": true
-        }
-      }
-    },
-    "resolve": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
-      "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
-      "requires": {
-        "path-parse": "^1.0.5"
-      }
-    },
-    "resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "restore-cursor": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
-      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
-      "dev": true,
-      "requires": {
-        "onetime": "^2.0.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
-    },
-    "rimraf": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
-      "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.0.5"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "run-async": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
-      "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
-      "dev": true,
-      "requires": {
-        "is-promise": "^2.1.0"
-      }
-    },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
-    "sass-graph": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
-      "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
-      "dev": true,
-      "requires": {
-        "glob": "^7.0.0",
-        "lodash": "^4.0.0",
-        "scss-tokenizer": "^0.2.3",
-        "yargs": "^7.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "camelcase": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
-          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
-          "dev": true
-        },
-        "cliui": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
-          "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
-          "dev": true,
-          "requires": {
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1",
-            "wrap-ansi": "^2.0.0"
-          }
-        },
-        "decamelize": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-          "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "os-locale": {
-          "version": "1.4.0",
-          "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
-          "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
-          "dev": true,
-          "requires": {
-            "lcid": "^1.0.0"
-          }
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "which-module": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
-          "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
-          "dev": true
-        },
-        "y18n": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
-          "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
-          "dev": true
-        },
-        "yargs": {
-          "version": "7.1.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
-          "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^3.0.0",
-            "cliui": "^3.2.0",
-            "decamelize": "^1.1.1",
-            "get-caller-file": "^1.0.1",
-            "os-locale": "^1.4.0",
-            "read-pkg-up": "^1.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^1.0.1",
-            "set-blocking": "^2.0.0",
-            "string-width": "^1.0.2",
-            "which-module": "^1.0.0",
-            "y18n": "^3.2.1",
-            "yargs-parser": "^5.0.0"
-          }
-        },
-        "yargs-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
-          "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^3.0.0"
-          }
-        }
-      }
-    },
-    "sass-loader": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
-      "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
-      "dev": true,
-      "requires": {
-        "clone-deep": "^2.0.1",
-        "loader-utils": "^1.0.1",
-        "lodash.tail": "^4.1.1",
-        "neo-async": "^2.5.0",
-        "pify": "^3.0.0",
-        "semver": "^5.5.0"
-      }
-    },
-    "schedule": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.5.0.tgz",
-      "integrity": "sha512-HUcJicG5Ou8xfR//c2rPT0lPIRR09vVvN81T9fqfVgBmhERUbDEQoYKjpBxbueJnCPpSu2ujXzOnRQt6x9o/jw==",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.1"
-      }
-    },
-    "schema-utils": {
-      "version": "0.4.7",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
-      "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.1.0",
-        "ajv-keywords": "^3.1.0"
-      }
-    },
-    "scss-tokenizer": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
-      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
-      "dev": true,
-      "requires": {
-        "js-base64": "^2.1.8",
-        "source-map": "^0.4.2"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.4.4",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
-          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
-          "dev": true,
-          "requires": {
-            "amdefine": ">=0.0.4"
-          }
-        }
-      }
-    },
-    "semver": {
-      "version": "5.6.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
-      "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
-      "dev": true
-    },
-    "serialize-javascript": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
-      "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
-      "dev": true
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-value": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
-      "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shallow-clone": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
-      "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
-      "dev": true,
-      "requires": {
-        "is-extendable": "^0.1.1",
-        "kind-of": "^5.0.0",
-        "mixin-object": "^2.0.1"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "requires": {
-        "shebang-regex": "^1.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true
-    },
-    "signal-exit": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
-      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
-      "dev": true
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
-    },
-    "source-map-resolve": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
-      "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.1",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
-    },
-    "spdx-correct": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz",
-      "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==",
-      "dev": true,
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
-      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
-      "dev": true
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
-      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
-      "dev": true,
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz",
-      "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==",
-      "dev": true
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
-    },
-    "sshpk": {
-      "version": "1.15.2",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
-      "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
-      "dev": true,
-      "requires": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      }
-    },
-    "ssri": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
-      "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "stdout-stream": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
-      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "stream-browserify": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
-      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "stream-shift": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
-      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
-      "dev": true
-    },
-    "string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
-      "requires": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      }
-    },
-    "string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "strip-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-      "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^3.0.0"
-      }
-    },
-    "strip-bom": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
-      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
-      "dev": true,
-      "requires": {
-        "is-utf8": "^0.2.0"
-      }
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true
-    },
-    "strip-indent": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
-      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
-      "dev": true,
-      "requires": {
-        "get-stdin": "^4.0.1"
-      }
-    },
-    "strip-json-comments": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
-      "dev": true
-    },
-    "stylis": {
-      "version": "3.5.3",
-      "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.3.tgz",
-      "integrity": "sha512-TxU0aAscJghF9I3V9q601xcK3Uw1JbXvpsBGj/HULqexKOKlOEzzlIpLFRbKkCK990ccuxfXUqmPbIIo7Fq/cQ=="
-    },
-    "stylis-rule-sheet": {
-      "version": "0.0.10",
-      "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
-      "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw=="
-    },
-    "supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "requires": {
-        "has-flag": "^3.0.0"
-      }
-    },
-    "table": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
-      "integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.5.3",
-        "lodash": "^4.17.10",
-        "slice-ansi": "1.0.0",
-        "string-width": "^2.1.1"
-      },
-      "dependencies": {
-        "slice-ansi": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
-          "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
-          "dev": true,
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0"
-          }
-        }
-      }
-    },
-    "tapable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz",
-      "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==",
-      "dev": true
-    },
-    "tar": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
-      "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
-      "dev": true,
-      "requires": {
-        "block-stream": "*",
-        "fstream": "^1.0.2",
-        "inherits": "2"
-      }
-    },
-    "text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "through": {
-      "version": "2.3.8",
-      "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
-    "through2": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
-      "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.1.5",
-        "xtend": "~4.0.1"
-      }
-    },
-    "timers-browserify": {
-      "version": "2.0.10",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
-      "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
-      "dev": true,
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
-    "tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
-      "requires": {
-        "os-tmpdir": "~1.0.2"
-      }
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      }
-    },
-    "touch": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz",
-      "integrity": "sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==",
-      "requires": {
-        "nopt": "~1.0.10"
-      },
-      "dependencies": {
-        "nopt": {
-          "version": "1.0.10",
-          "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
-          "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
-          "requires": {
-            "abbrev": "1"
-          }
-        }
-      }
-    },
-    "tough-cookie": {
-      "version": "2.4.3",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
-      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
-      "dev": true,
-      "requires": {
-        "psl": "^1.1.24",
-        "punycode": "^1.4.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        }
-      }
-    },
-    "trim-newlines": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
-      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
-      "dev": true
-    },
-    "trim-right": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
-      "dev": true
-    },
-    "true-case-path": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
-      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.2"
-      }
-    },
-    "tslib": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
-      "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
-      "dev": true
-    },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
-    },
-    "type-check": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "~1.1.2"
-      }
-    },
-    "typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "uglify-es": {
-      "version": "3.3.9",
-      "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
-      "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
-      "dev": true,
-      "requires": {
-        "commander": "~2.13.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "uglifyjs-webpack-plugin": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz",
-      "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
-      "dev": true,
-      "requires": {
-        "cacache": "^10.0.4",
-        "find-cache-dir": "^1.0.0",
-        "schema-utils": "^0.4.5",
-        "serialize-javascript": "^1.4.0",
-        "source-map": "^0.6.1",
-        "uglify-es": "^3.3.4",
-        "webpack-sources": "^1.1.0",
-        "worker-farm": "^1.5.2"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "unicode-canonical-property-names-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
-      "dev": true
-    },
-    "unicode-match-property-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "dev": true,
-      "requires": {
-        "unicode-canonical-property-names-ecmascript": "^1.0.4",
-        "unicode-property-aliases-ecmascript": "^1.0.4"
-      }
-    },
-    "unicode-match-property-value-ecmascript": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
-      "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==",
-      "dev": true
-    },
-    "unicode-property-aliases-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==",
-      "dev": true
-    },
-    "union-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
-      "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^0.4.3"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "set-value": {
-          "version": "0.4.3",
-          "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
-          "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-extendable": "^0.1.1",
-            "is-plain-object": "^2.0.1",
-            "to-object-path": "^0.3.0"
-          }
-        }
-      }
-    },
-    "unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "requires": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "unique-slug": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
-      "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
-        }
-      }
-    },
-    "upath": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
-      "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
-      "dev": true
-    },
-    "uri-js": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
-      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
-        }
-      }
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
-    },
-    "util": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
-      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "util.promisify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
-      "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "object.getownpropertydescriptors": "^2.0.3"
-      }
-    },
-    "uuid": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
-      "dev": true
-    },
-    "v8-compile-cache": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
-      "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
-      "dev": true
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "vm-browserify": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
-      "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
-      "dev": true,
-      "requires": {
-        "indexof": "0.0.1"
-      }
-    },
-    "watchpack": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
-      "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
-      "dev": true,
-      "requires": {
-        "chokidar": "^2.0.2",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      }
-    },
-    "webpack": {
-      "version": "4.23.1",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz",
-      "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.7.10",
-        "@webassemblyjs/helper-module-context": "1.7.10",
-        "@webassemblyjs/wasm-edit": "1.7.10",
-        "@webassemblyjs/wasm-parser": "1.7.10",
-        "acorn": "^5.6.2",
-        "acorn-dynamic-import": "^3.0.0",
-        "ajv": "^6.1.0",
-        "ajv-keywords": "^3.1.0",
-        "chrome-trace-event": "^1.0.0",
-        "enhanced-resolve": "^4.1.0",
-        "eslint-scope": "^4.0.0",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.3.0",
-        "loader-utils": "^1.1.0",
-        "memory-fs": "~0.4.1",
-        "micromatch": "^3.1.8",
-        "mkdirp": "~0.5.0",
-        "neo-async": "^2.5.0",
-        "node-libs-browser": "^2.0.0",
-        "schema-utils": "^0.4.4",
-        "tapable": "^1.1.0",
-        "uglifyjs-webpack-plugin": "^1.2.4",
-        "watchpack": "^1.5.0",
-        "webpack-sources": "^1.3.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "5.7.3",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
-          "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-cli": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.1.tgz",
-      "integrity": "sha512-th5EUyVeGcAAVlFOcJg11fapD/xoLRE4j/eSfrmMAo3olPjvB7lgEPUtCbRP0OGmstvnQBl4VZP+zluXWDiBxg==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.1",
-        "cross-spawn": "^6.0.5",
-        "enhanced-resolve": "^4.1.0",
-        "global-modules-path": "^2.3.0",
-        "import-local": "^2.0.0",
-        "interpret": "^1.1.0",
-        "loader-utils": "^1.1.0",
-        "supports-color": "^5.5.0",
-        "v8-compile-cache": "^2.0.2",
-        "yargs": "^12.0.2"
-      }
-    },
-    "webpack-sources": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
-      "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "wide-align": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
-      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.2 || 2"
-      }
-    },
-    "wordwrap": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
-      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
-      "dev": true
-    },
-    "worker-farm": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
-      "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
-      "dev": true,
-      "requires": {
-        "errno": "~0.1.7"
-      }
-    },
-    "wrap-ansi": {
-      "version": "2.1.0",
-      "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "write": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
-      "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
-      "dev": true,
-      "requires": {
-        "mkdirp": "^0.5.1"
-      }
-    },
-    "xregexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
-      "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
-      "dev": true
-    },
-    "xtend": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
-      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
-      "dev": true
-    },
-    "y18n": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
-      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
-      "dev": true
-    },
-    "yallist": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-      "dev": true
-    },
-    "yargs": {
-      "version": "12.0.2",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz",
-      "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==",
-      "dev": true,
-      "requires": {
-        "cliui": "^4.0.0",
-        "decamelize": "^2.0.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^1.0.1",
-        "os-locale": "^3.0.0",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^1.0.1",
-        "set-blocking": "^2.0.0",
-        "string-width": "^2.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^3.2.1 || ^4.0.0",
-        "yargs-parser": "^10.1.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
-          "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
-          "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
-          "dev": true
-        }
-      }
-    },
-    "yargs-parser": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
-      "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^4.1.0"
-      }
-    }
-  }
+	"name": "wordcamp-blocks",
+	"version": "1.0.0",
+	"lockfileVersion": 1,
+	"requires": true,
+	"dependencies": {
+		"@babel/code-frame": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
+			"integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+			"dev": true,
+			"requires": {
+				"@babel/highlight": "^7.0.0"
+			}
+		},
+		"@babel/core": {
+			"version": "7.1.2",
+			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz",
+			"integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "^7.0.0",
+				"@babel/generator": "^7.1.2",
+				"@babel/helpers": "^7.1.2",
+				"@babel/parser": "^7.1.2",
+				"@babel/template": "^7.1.2",
+				"@babel/traverse": "^7.1.0",
+				"@babel/types": "^7.1.2",
+				"convert-source-map": "^1.1.0",
+				"debug": "^3.1.0",
+				"json5": "^0.5.0",
+				"lodash": "^4.17.10",
+				"resolve": "^1.3.2",
+				"semver": "^5.4.1",
+				"source-map": "^0.5.0"
+			}
+		},
+		"@babel/generator": {
+			"version": "7.3.2",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.2.tgz",
+			"integrity": "sha512-f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.3.2",
+				"jsesc": "^2.5.1",
+				"lodash": "^4.17.10",
+				"source-map": "^0.5.0",
+				"trim-right": "^1.0.1"
+			}
+		},
+		"@babel/helper-annotate-as-pure": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
+			"integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-builder-binary-assignment-operator-visitor": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
+			"integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-explode-assignable-expression": "^7.1.0",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-builder-react-jsx": {
+			"version": "7.3.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz",
+			"integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.3.0",
+				"esutils": "^2.0.0"
+			}
+		},
+		"@babel/helper-call-delegate": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz",
+			"integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-hoist-variables": "^7.0.0",
+				"@babel/traverse": "^7.1.0",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-define-map": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz",
+			"integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-function-name": "^7.1.0",
+				"@babel/types": "^7.0.0",
+				"lodash": "^4.17.10"
+			}
+		},
+		"@babel/helper-explode-assignable-expression": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
+			"integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+			"dev": true,
+			"requires": {
+				"@babel/traverse": "^7.1.0",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-function-name": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+			"integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-get-function-arity": "^7.0.0",
+				"@babel/template": "^7.1.0",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-get-function-arity": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+			"integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-hoist-variables": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz",
+			"integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-member-expression-to-functions": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
+			"integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-module-imports": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
+			"integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-module-transforms": {
+			"version": "7.2.2",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz",
+			"integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-module-imports": "^7.0.0",
+				"@babel/helper-simple-access": "^7.1.0",
+				"@babel/helper-split-export-declaration": "^7.0.0",
+				"@babel/template": "^7.2.2",
+				"@babel/types": "^7.2.2",
+				"lodash": "^4.17.10"
+			}
+		},
+		"@babel/helper-optimise-call-expression": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
+			"integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-plugin-utils": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+			"integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+			"dev": true
+		},
+		"@babel/helper-regex": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz",
+			"integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==",
+			"dev": true,
+			"requires": {
+				"lodash": "^4.17.10"
+			}
+		},
+		"@babel/helper-remap-async-to-generator": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
+			"integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-annotate-as-pure": "^7.0.0",
+				"@babel/helper-wrap-function": "^7.1.0",
+				"@babel/template": "^7.1.0",
+				"@babel/traverse": "^7.1.0",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-replace-supers": {
+			"version": "7.2.3",
+			"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz",
+			"integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-member-expression-to-functions": "^7.0.0",
+				"@babel/helper-optimise-call-expression": "^7.0.0",
+				"@babel/traverse": "^7.2.3",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-simple-access": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
+			"integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+			"dev": true,
+			"requires": {
+				"@babel/template": "^7.1.0",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-split-export-declaration": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
+			"integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helper-wrap-function": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
+			"integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-function-name": "^7.1.0",
+				"@babel/template": "^7.1.0",
+				"@babel/traverse": "^7.1.0",
+				"@babel/types": "^7.2.0"
+			}
+		},
+		"@babel/helpers": {
+			"version": "7.3.1",
+			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz",
+			"integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==",
+			"dev": true,
+			"requires": {
+				"@babel/template": "^7.1.2",
+				"@babel/traverse": "^7.1.5",
+				"@babel/types": "^7.3.0"
+			}
+		},
+		"@babel/highlight": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
+			"integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.0.0",
+				"esutils": "^2.0.2",
+				"js-tokens": "^4.0.0"
+			}
+		},
+		"@babel/parser": {
+			"version": "7.3.2",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.2.tgz",
+			"integrity": "sha512-QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ==",
+			"dev": true
+		},
+		"@babel/plugin-proposal-async-generator-functions": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
+			"integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-remap-async-to-generator": "^7.1.0",
+				"@babel/plugin-syntax-async-generators": "^7.2.0"
+			}
+		},
+		"@babel/plugin-proposal-json-strings": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
+			"integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/plugin-syntax-json-strings": "^7.2.0"
+			}
+		},
+		"@babel/plugin-proposal-object-rest-spread": {
+			"version": "7.3.2",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz",
+			"integrity": "sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+			}
+		},
+		"@babel/plugin-proposal-optional-catch-binding": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
+			"integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+			}
+		},
+		"@babel/plugin-proposal-unicode-property-regex": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz",
+			"integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-regex": "^7.0.0",
+				"regexpu-core": "^4.2.0"
+			}
+		},
+		"@babel/plugin-syntax-async-generators": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
+			"integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-syntax-json-strings": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
+			"integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-syntax-jsx": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz",
+			"integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-syntax-object-rest-spread": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
+			"integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-syntax-optional-catch-binding": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
+			"integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-arrow-functions": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
+			"integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-async-to-generator": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz",
+			"integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-module-imports": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-remap-async-to-generator": "^7.1.0"
+			}
+		},
+		"@babel/plugin-transform-block-scoped-functions": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
+			"integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-block-scoping": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz",
+			"integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"lodash": "^4.17.10"
+			}
+		},
+		"@babel/plugin-transform-classes": {
+			"version": "7.2.2",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz",
+			"integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-annotate-as-pure": "^7.0.0",
+				"@babel/helper-define-map": "^7.1.0",
+				"@babel/helper-function-name": "^7.1.0",
+				"@babel/helper-optimise-call-expression": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-replace-supers": "^7.1.0",
+				"@babel/helper-split-export-declaration": "^7.0.0",
+				"globals": "^11.1.0"
+			}
+		},
+		"@babel/plugin-transform-computed-properties": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
+			"integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-destructuring": {
+			"version": "7.3.2",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz",
+			"integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-dotall-regex": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz",
+			"integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-regex": "^7.0.0",
+				"regexpu-core": "^4.1.3"
+			}
+		},
+		"@babel/plugin-transform-duplicate-keys": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz",
+			"integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-exponentiation-operator": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
+			"integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-for-of": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz",
+			"integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-function-name": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz",
+			"integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-function-name": "^7.1.0",
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-literals": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
+			"integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-modules-amd": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz",
+			"integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-module-transforms": "^7.1.0",
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-modules-commonjs": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz",
+			"integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-module-transforms": "^7.1.0",
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-simple-access": "^7.1.0"
+			}
+		},
+		"@babel/plugin-transform-modules-systemjs": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz",
+			"integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-hoist-variables": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-modules-umd": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
+			"integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-module-transforms": "^7.1.0",
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-named-capturing-groups-regex": {
+			"version": "7.3.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz",
+			"integrity": "sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==",
+			"dev": true,
+			"requires": {
+				"regexp-tree": "^0.1.0"
+			}
+		},
+		"@babel/plugin-transform-new-target": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz",
+			"integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-object-super": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz",
+			"integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-replace-supers": "^7.1.0"
+			}
+		},
+		"@babel/plugin-transform-parameters": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz",
+			"integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-call-delegate": "^7.1.0",
+				"@babel/helper-get-function-arity": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-react-jsx": {
+			"version": "7.3.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz",
+			"integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-builder-react-jsx": "^7.3.0",
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/plugin-syntax-jsx": "^7.2.0"
+			}
+		},
+		"@babel/plugin-transform-regenerator": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz",
+			"integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==",
+			"dev": true,
+			"requires": {
+				"regenerator-transform": "^0.13.3"
+			}
+		},
+		"@babel/plugin-transform-runtime": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz",
+			"integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-module-imports": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"resolve": "^1.8.1",
+				"semver": "^5.5.1"
+			}
+		},
+		"@babel/plugin-transform-shorthand-properties": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
+			"integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-spread": {
+			"version": "7.2.2",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
+			"integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-sticky-regex": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
+			"integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-regex": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-template-literals": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz",
+			"integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-annotate-as-pure": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-typeof-symbol": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
+			"integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0"
+			}
+		},
+		"@babel/plugin-transform-unicode-regex": {
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz",
+			"integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-regex": "^7.0.0",
+				"regexpu-core": "^4.1.3"
+			}
+		},
+		"@babel/preset-env": {
+			"version": "7.3.1",
+			"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz",
+			"integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-module-imports": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/plugin-proposal-async-generator-functions": "^7.2.0",
+				"@babel/plugin-proposal-json-strings": "^7.2.0",
+				"@babel/plugin-proposal-object-rest-spread": "^7.3.1",
+				"@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
+				"@babel/plugin-proposal-unicode-property-regex": "^7.2.0",
+				"@babel/plugin-syntax-async-generators": "^7.2.0",
+				"@babel/plugin-syntax-json-strings": "^7.2.0",
+				"@babel/plugin-syntax-object-rest-spread": "^7.2.0",
+				"@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
+				"@babel/plugin-transform-arrow-functions": "^7.2.0",
+				"@babel/plugin-transform-async-to-generator": "^7.2.0",
+				"@babel/plugin-transform-block-scoped-functions": "^7.2.0",
+				"@babel/plugin-transform-block-scoping": "^7.2.0",
+				"@babel/plugin-transform-classes": "^7.2.0",
+				"@babel/plugin-transform-computed-properties": "^7.2.0",
+				"@babel/plugin-transform-destructuring": "^7.2.0",
+				"@babel/plugin-transform-dotall-regex": "^7.2.0",
+				"@babel/plugin-transform-duplicate-keys": "^7.2.0",
+				"@babel/plugin-transform-exponentiation-operator": "^7.2.0",
+				"@babel/plugin-transform-for-of": "^7.2.0",
+				"@babel/plugin-transform-function-name": "^7.2.0",
+				"@babel/plugin-transform-literals": "^7.2.0",
+				"@babel/plugin-transform-modules-amd": "^7.2.0",
+				"@babel/plugin-transform-modules-commonjs": "^7.2.0",
+				"@babel/plugin-transform-modules-systemjs": "^7.2.0",
+				"@babel/plugin-transform-modules-umd": "^7.2.0",
+				"@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0",
+				"@babel/plugin-transform-new-target": "^7.0.0",
+				"@babel/plugin-transform-object-super": "^7.2.0",
+				"@babel/plugin-transform-parameters": "^7.2.0",
+				"@babel/plugin-transform-regenerator": "^7.0.0",
+				"@babel/plugin-transform-shorthand-properties": "^7.2.0",
+				"@babel/plugin-transform-spread": "^7.2.0",
+				"@babel/plugin-transform-sticky-regex": "^7.2.0",
+				"@babel/plugin-transform-template-literals": "^7.2.0",
+				"@babel/plugin-transform-typeof-symbol": "^7.2.0",
+				"@babel/plugin-transform-unicode-regex": "^7.2.0",
+				"browserslist": "^4.3.4",
+				"invariant": "^2.2.2",
+				"js-levenshtein": "^1.1.3",
+				"semver": "^5.3.0"
+			}
+		},
+		"@babel/runtime": {
+			"version": "7.3.1",
+			"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz",
+			"integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==",
+			"requires": {
+				"regenerator-runtime": "^0.12.0"
+			}
+		},
+		"@babel/runtime-corejs2": {
+			"version": "7.1.2",
+			"resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.1.2.tgz",
+			"integrity": "sha512-drxaPByExlcRDKW4ZLubUO4ZkI8/8ax9k9wve1aEthdLKFzjB7XRkOQ0xoTIWGxqdDnWDElkjYq77bt7yrcYJQ==",
+			"dev": true,
+			"requires": {
+				"core-js": "^2.5.7",
+				"regenerator-runtime": "^0.12.0"
+			}
+		},
+		"@babel/template": {
+			"version": "7.2.2",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
+			"integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "^7.0.0",
+				"@babel/parser": "^7.2.2",
+				"@babel/types": "^7.2.2"
+			}
+		},
+		"@babel/traverse": {
+			"version": "7.2.3",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz",
+			"integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "^7.0.0",
+				"@babel/generator": "^7.2.2",
+				"@babel/helper-function-name": "^7.1.0",
+				"@babel/helper-split-export-declaration": "^7.0.0",
+				"@babel/parser": "^7.2.3",
+				"@babel/types": "^7.2.2",
+				"debug": "^4.1.0",
+				"globals": "^11.1.0",
+				"lodash": "^4.17.10"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				}
+			}
+		},
+		"@babel/types": {
+			"version": "7.3.2",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz",
+			"integrity": "sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==",
+			"requires": {
+				"esutils": "^2.0.2",
+				"lodash": "^4.17.10",
+				"to-fast-properties": "^2.0.0"
+			}
+		},
+		"@cnakazawa/watch": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz",
+			"integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==",
+			"dev": true,
+			"requires": {
+				"exec-sh": "^0.3.2",
+				"minimist": "^1.2.0"
+			},
+			"dependencies": {
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				}
+			}
+		},
+		"@emotion/babel-utils": {
+			"version": "0.6.10",
+			"resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz",
+			"integrity": "sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==",
+			"requires": {
+				"@emotion/hash": "^0.6.6",
+				"@emotion/memoize": "^0.6.6",
+				"@emotion/serialize": "^0.9.1",
+				"convert-source-map": "^1.5.1",
+				"find-root": "^1.1.0",
+				"source-map": "^0.7.2"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.7.3",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+					"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
+				}
+			}
+		},
+		"@emotion/hash": {
+			"version": "0.6.6",
+			"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz",
+			"integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ=="
+		},
+		"@emotion/memoize": {
+			"version": "0.6.6",
+			"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz",
+			"integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ=="
+		},
+		"@emotion/serialize": {
+			"version": "0.9.1",
+			"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz",
+			"integrity": "sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==",
+			"requires": {
+				"@emotion/hash": "^0.6.6",
+				"@emotion/memoize": "^0.6.6",
+				"@emotion/unitless": "^0.6.7",
+				"@emotion/utils": "^0.8.2"
+			}
+		},
+		"@emotion/stylis": {
+			"version": "0.7.1",
+			"resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz",
+			"integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ=="
+		},
+		"@emotion/unitless": {
+			"version": "0.6.7",
+			"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz",
+			"integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg=="
+		},
+		"@emotion/utils": {
+			"version": "0.8.2",
+			"resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz",
+			"integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw=="
+		},
+		"@jest/console": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/@jest/console/-/console-24.3.0.tgz",
+			"integrity": "sha512-NaCty/OOei6rSDcbPdMiCbYCI0KGFGPgGO6B09lwWt5QTxnkuhKYET9El5u5z1GAcSxkQmSMtM63e24YabCWqA==",
+			"dev": true,
+			"requires": {
+				"@jest/source-map": "^24.3.0",
+				"@types/node": "*",
+				"chalk": "^2.0.1",
+				"slash": "^2.0.0"
+			}
+		},
+		"@jest/core": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/@jest/core/-/core-24.5.0.tgz",
+			"integrity": "sha512-RDZArRzAs51YS7dXG1pbXbWGxK53rvUu8mCDYsgqqqQ6uSOaTjcVyBl2Jce0exT2rSLk38ca7az7t2f3b0/oYQ==",
+			"dev": true,
+			"requires": {
+				"@jest/console": "^24.3.0",
+				"@jest/reporters": "^24.5.0",
+				"@jest/test-result": "^24.5.0",
+				"@jest/transform": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"ansi-escapes": "^3.0.0",
+				"chalk": "^2.0.1",
+				"exit": "^0.1.2",
+				"graceful-fs": "^4.1.15",
+				"jest-changed-files": "^24.5.0",
+				"jest-config": "^24.5.0",
+				"jest-haste-map": "^24.5.0",
+				"jest-message-util": "^24.5.0",
+				"jest-regex-util": "^24.3.0",
+				"jest-resolve-dependencies": "^24.5.0",
+				"jest-runner": "^24.5.0",
+				"jest-runtime": "^24.5.0",
+				"jest-snapshot": "^24.5.0",
+				"jest-util": "^24.5.0",
+				"jest-validate": "^24.5.0",
+				"jest-watcher": "^24.5.0",
+				"micromatch": "^3.1.10",
+				"p-each-series": "^1.0.0",
+				"pirates": "^4.0.1",
+				"realpath-native": "^1.1.0",
+				"rimraf": "^2.5.4",
+				"strip-ansi": "^5.0.0"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+					"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+					"dev": true
+				},
+				"strip-ansi": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+					"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^4.1.0"
+					}
+				}
+			}
+		},
+		"@jest/environment": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.5.0.tgz",
+			"integrity": "sha512-tzUHR9SHjMXwM8QmfHb/EJNbF0fjbH4ieefJBvtwO8YErLTrecc1ROj0uo2VnIT6SlpEGZnvdCK6VgKYBo8LsA==",
+			"dev": true,
+			"requires": {
+				"@jest/fake-timers": "^24.5.0",
+				"@jest/transform": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"@types/node": "*",
+				"jest-mock": "^24.5.0"
+			}
+		},
+		"@jest/fake-timers": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.5.0.tgz",
+			"integrity": "sha512-i59KVt3QBz9d+4Qr4QxsKgsIg+NjfuCjSOWj3RQhjF5JNy+eVJDhANQ4WzulzNCHd72srMAykwtRn5NYDGVraw==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"@types/node": "*",
+				"jest-message-util": "^24.5.0",
+				"jest-mock": "^24.5.0"
+			}
+		},
+		"@jest/reporters": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.5.0.tgz",
+			"integrity": "sha512-vfpceiaKtGgnuC3ss5czWOihKOUSyjJA4M4udm6nH8xgqsuQYcyDCi4nMMcBKsHXWgz9/V5G7iisnZGfOh1w6Q==",
+			"dev": true,
+			"requires": {
+				"@jest/environment": "^24.5.0",
+				"@jest/test-result": "^24.5.0",
+				"@jest/transform": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"chalk": "^2.0.1",
+				"exit": "^0.1.2",
+				"glob": "^7.1.2",
+				"istanbul-api": "^2.1.1",
+				"istanbul-lib-coverage": "^2.0.2",
+				"istanbul-lib-instrument": "^3.0.1",
+				"istanbul-lib-source-maps": "^3.0.1",
+				"jest-haste-map": "^24.5.0",
+				"jest-resolve": "^24.5.0",
+				"jest-runtime": "^24.5.0",
+				"jest-util": "^24.5.0",
+				"jest-worker": "^24.4.0",
+				"node-notifier": "^5.2.1",
+				"slash": "^2.0.0",
+				"source-map": "^0.6.0",
+				"string-length": "^2.0.0"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"@jest/source-map": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.3.0.tgz",
+			"integrity": "sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag==",
+			"dev": true,
+			"requires": {
+				"callsites": "^3.0.0",
+				"graceful-fs": "^4.1.15",
+				"source-map": "^0.6.0"
+			},
+			"dependencies": {
+				"callsites": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz",
+					"integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==",
+					"dev": true
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"@jest/test-result": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.5.0.tgz",
+			"integrity": "sha512-u66j2vBfa8Bli1+o3rCaVnVYa9O8CAFZeqiqLVhnarXtreSXG33YQ6vNYBogT7+nYiFNOohTU21BKiHlgmxD5A==",
+			"dev": true,
+			"requires": {
+				"@jest/console": "^24.3.0",
+				"@jest/types": "^24.5.0",
+				"@types/istanbul-lib-coverage": "^1.1.0"
+			}
+		},
+		"@jest/transform": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.5.0.tgz",
+			"integrity": "sha512-XSsDz1gdR/QMmB8UCKlweAReQsZrD/DK7FuDlNo/pE8EcKMrfi2kqLRk8h8Gy/PDzgqJj64jNEzOce9pR8oj1w==",
+			"dev": true,
+			"requires": {
+				"@babel/core": "^7.1.0",
+				"@jest/types": "^24.5.0",
+				"babel-plugin-istanbul": "^5.1.0",
+				"chalk": "^2.0.1",
+				"convert-source-map": "^1.4.0",
+				"fast-json-stable-stringify": "^2.0.0",
+				"graceful-fs": "^4.1.15",
+				"jest-haste-map": "^24.5.0",
+				"jest-regex-util": "^24.3.0",
+				"jest-util": "^24.5.0",
+				"micromatch": "^3.1.10",
+				"realpath-native": "^1.1.0",
+				"slash": "^2.0.0",
+				"source-map": "^0.6.1",
+				"write-file-atomic": "2.4.1"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"@jest/types": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-24.5.0.tgz",
+			"integrity": "sha512-kN7RFzNMf2R8UDadPOl6ReyI+MT8xfqRuAnuVL+i4gwjv/zubdDK+EDeLHYwq1j0CSSR2W/MmgaRlMZJzXdmVA==",
+			"dev": true,
+			"requires": {
+				"@types/istanbul-lib-coverage": "^1.1.0",
+				"@types/yargs": "^12.0.9"
+			}
+		},
+		"@mrmlnc/readdir-enhanced": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+			"integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+			"dev": true,
+			"requires": {
+				"call-me-maybe": "^1.0.1",
+				"glob-to-regexp": "^0.3.0"
+			}
+		},
+		"@nodelib/fs.stat": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
+			"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+			"dev": true
+		},
+		"@types/babel__core": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.0.tgz",
+			"integrity": "sha512-wJTeJRt7BToFx3USrCDs2BhEi4ijBInTQjOIukj6a/5tEkwpFMVZ+1ppgmE+Q/FQyc5P/VWUbx7I9NELrKruHA==",
+			"dev": true,
+			"requires": {
+				"@babel/parser": "^7.1.0",
+				"@babel/types": "^7.0.0",
+				"@types/babel__generator": "*",
+				"@types/babel__template": "*",
+				"@types/babel__traverse": "*"
+			}
+		},
+		"@types/babel__generator": {
+			"version": "7.0.2",
+			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.0.2.tgz",
+			"integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@types/babel__template": {
+			"version": "7.0.2",
+			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
+			"integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
+			"dev": true,
+			"requires": {
+				"@babel/parser": "^7.1.0",
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@types/babel__traverse": {
+			"version": "7.0.6",
+			"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.6.tgz",
+			"integrity": "sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.3.0"
+			}
+		},
+		"@types/events": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
+			"integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
+			"dev": true
+		},
+		"@types/glob": {
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
+			"integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+			"dev": true,
+			"requires": {
+				"@types/events": "*",
+				"@types/minimatch": "*",
+				"@types/node": "*"
+			}
+		},
+		"@types/istanbul-lib-coverage": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz",
+			"integrity": "sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ==",
+			"dev": true
+		},
+		"@types/minimatch": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+			"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+			"dev": true
+		},
+		"@types/node": {
+			"version": "11.12.0",
+			"resolved": "https://registry.npmjs.org/@types/node/-/node-11.12.0.tgz",
+			"integrity": "sha512-Lg00egj78gM+4aE0Erw05cuDbvX9sLJbaaPwwRtdCdAMnIudqrQZ0oZX98Ek0yiSK/A2nubHgJfvII/rTT2Dwg==",
+			"dev": true
+		},
+		"@types/stack-utils": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
+			"integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
+			"dev": true
+		},
+		"@types/unist": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
+			"integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
+			"dev": true
+		},
+		"@types/vfile": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
+			"integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
+			"dev": true,
+			"requires": {
+				"@types/node": "*",
+				"@types/unist": "*",
+				"@types/vfile-message": "*"
+			}
+		},
+		"@types/vfile-message": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz",
+			"integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==",
+			"dev": true,
+			"requires": {
+				"@types/node": "*",
+				"@types/unist": "*"
+			}
+		},
+		"@types/yargs": {
+			"version": "12.0.10",
+			"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.10.tgz",
+			"integrity": "sha512-WsVzTPshvCSbHThUduGGxbmnwcpkgSctHGHTqzWyFg4lYAuV5qXlyFPOsP3OWqCINfmg/8VXP+zJaa4OxEsBQQ==",
+			"dev": true
+		},
+		"@webassemblyjs/ast": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
+			"integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/helper-module-context": "1.7.10",
+				"@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+				"@webassemblyjs/wast-parser": "1.7.10"
+			}
+		},
+		"@webassemblyjs/floating-point-hex-parser": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz",
+			"integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==",
+			"dev": true
+		},
+		"@webassemblyjs/helper-api-error": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz",
+			"integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==",
+			"dev": true
+		},
+		"@webassemblyjs/helper-buffer": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz",
+			"integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==",
+			"dev": true
+		},
+		"@webassemblyjs/helper-code-frame": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz",
+			"integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/wast-printer": "1.7.10"
+			}
+		},
+		"@webassemblyjs/helper-fsm": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz",
+			"integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==",
+			"dev": true
+		},
+		"@webassemblyjs/helper-module-context": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz",
+			"integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==",
+			"dev": true
+		},
+		"@webassemblyjs/helper-wasm-bytecode": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz",
+			"integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==",
+			"dev": true
+		},
+		"@webassemblyjs/helper-wasm-section": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz",
+			"integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/helper-buffer": "1.7.10",
+				"@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+				"@webassemblyjs/wasm-gen": "1.7.10"
+			}
+		},
+		"@webassemblyjs/ieee754": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz",
+			"integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==",
+			"dev": true,
+			"requires": {
+				"@xtuc/ieee754": "^1.2.0"
+			}
+		},
+		"@webassemblyjs/leb128": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz",
+			"integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==",
+			"dev": true,
+			"requires": {
+				"@xtuc/long": "4.2.1"
+			}
+		},
+		"@webassemblyjs/utf8": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz",
+			"integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==",
+			"dev": true
+		},
+		"@webassemblyjs/validation": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/validation/-/validation-1.4.3.tgz",
+			"integrity": "sha512-R+rRMKfhd9mq0rj2mhU9A9NKI2l/Rw65vIYzz4lui7eTKPcCu1l7iZNi4b9Gen8D42Sqh/KGiaQNk/x5Tn/iBQ==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.4.3"
+			},
+			"dependencies": {
+				"@webassemblyjs/ast": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz",
+					"integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/wast-parser": "1.4.3",
+						"debug": "^3.1.0",
+						"webassemblyjs": "1.4.3"
+					}
+				},
+				"@webassemblyjs/floating-point-hex-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz",
+					"integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==",
+					"dev": true
+				},
+				"@webassemblyjs/helper-code-frame": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz",
+					"integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/wast-printer": "1.4.3"
+					}
+				},
+				"@webassemblyjs/helper-fsm": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz",
+					"integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==",
+					"dev": true
+				},
+				"@webassemblyjs/helper-wasm-bytecode": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz",
+					"integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==",
+					"dev": true
+				},
+				"@webassemblyjs/wast-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz",
+					"integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/floating-point-hex-parser": "1.4.3",
+						"@webassemblyjs/helper-code-frame": "1.4.3",
+						"@webassemblyjs/helper-fsm": "1.4.3",
+						"long": "^3.2.0",
+						"webassemblyjs": "1.4.3"
+					}
+				},
+				"@webassemblyjs/wast-printer": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz",
+					"integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/wast-parser": "1.4.3",
+						"long": "^3.2.0"
+					}
+				}
+			}
+		},
+		"@webassemblyjs/wasm-edit": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz",
+			"integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/helper-buffer": "1.7.10",
+				"@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+				"@webassemblyjs/helper-wasm-section": "1.7.10",
+				"@webassemblyjs/wasm-gen": "1.7.10",
+				"@webassemblyjs/wasm-opt": "1.7.10",
+				"@webassemblyjs/wasm-parser": "1.7.10",
+				"@webassemblyjs/wast-printer": "1.7.10"
+			}
+		},
+		"@webassemblyjs/wasm-gen": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz",
+			"integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+				"@webassemblyjs/ieee754": "1.7.10",
+				"@webassemblyjs/leb128": "1.7.10",
+				"@webassemblyjs/utf8": "1.7.10"
+			}
+		},
+		"@webassemblyjs/wasm-opt": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz",
+			"integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/helper-buffer": "1.7.10",
+				"@webassemblyjs/wasm-gen": "1.7.10",
+				"@webassemblyjs/wasm-parser": "1.7.10"
+			}
+		},
+		"@webassemblyjs/wasm-parser": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz",
+			"integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/helper-api-error": "1.7.10",
+				"@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+				"@webassemblyjs/ieee754": "1.7.10",
+				"@webassemblyjs/leb128": "1.7.10",
+				"@webassemblyjs/utf8": "1.7.10"
+			}
+		},
+		"@webassemblyjs/wast-parser": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz",
+			"integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/floating-point-hex-parser": "1.7.10",
+				"@webassemblyjs/helper-api-error": "1.7.10",
+				"@webassemblyjs/helper-code-frame": "1.7.10",
+				"@webassemblyjs/helper-fsm": "1.7.10",
+				"@xtuc/long": "4.2.1"
+			}
+		},
+		"@webassemblyjs/wast-printer": {
+			"version": "1.7.10",
+			"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz",
+			"integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/wast-parser": "1.7.10",
+				"@xtuc/long": "4.2.1"
+			}
+		},
+		"@wordpress/babel-plugin-import-jsx-pragma": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-1.1.2.tgz",
+			"integrity": "sha512-0w43MP56yecSLUNr1ayus2bFM7y2k9O1SpFvc7c6bAlabJ6euTpkZscVIZSjzTR+d90wSu1BclzxiX58Y4oAwQ==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0"
+			}
+		},
+		"@wordpress/babel-preset-default": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-3.0.1.tgz",
+			"integrity": "sha512-5pbmYh0b4flwyAbuEMTOgTZJ1jqn5iucXhoAESWHZyHCn6D+s36ws0RkFrefz1mYQv4KgIoVpqshDXdN9wR/Bg==",
+			"dev": true,
+			"requires": {
+				"@babel/plugin-proposal-async-generator-functions": "^7.0.0",
+				"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
+				"@babel/plugin-transform-react-jsx": "^7.0.0",
+				"@babel/plugin-transform-runtime": "^7.0.0",
+				"@babel/preset-env": "^7.0.0",
+				"@babel/runtime": "^7.0.0",
+				"@wordpress/browserslist-config": "^2.2.2",
+				"babel-core": "^7.0.0-bridge.0"
+			}
+		},
+		"@wordpress/browserslist-config": {
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-2.2.2.tgz",
+			"integrity": "sha512-RZ9XeDeXTc/l3RdSnfYYwcsylFPouV+2ZpQQaAgALSXthMWJT2wU61zD4mH9aMI5Oo6Z8OUVI2vOZM/7HObPxw==",
+			"dev": true
+		},
+		"@wordpress/compose": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-2.1.0.tgz",
+			"integrity": "sha512-QtjesFxEdLAUoBxFQ7rkpUG5aA4ccRxZI71fz0RkMiBVKoUHIqy+R6VGViL/wkdYigmfD9KU89Rg3Ksk40hVIA==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0",
+				"@wordpress/deprecated": "^2.0.3",
+				"@wordpress/element": "^2.1.5",
+				"@wordpress/is-shallow-equal": "^1.1.4",
+				"lodash": "^4.17.10"
+			},
+			"dependencies": {
+				"@wordpress/element": {
+					"version": "2.1.9",
+					"resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.9.tgz",
+					"integrity": "sha512-qKluF0oIajTYllZPG4XlopWHWs3VADT0sUW1oPprCCMMj2URkq4RQ9q2DvUwLr/UYZKUfyLtzyb3oD44SFgNsQ==",
+					"dev": true,
+					"requires": {
+						"@babel/runtime": "^7.0.0",
+						"@wordpress/escape-html": "^1.0.1",
+						"lodash": "^4.17.10",
+						"react": "^16.6.3",
+						"react-dom": "^16.6.3"
+					}
+				}
+			}
+		},
+		"@wordpress/deprecated": {
+			"version": "2.0.5",
+			"resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-2.0.5.tgz",
+			"integrity": "sha512-YMcXTpR63/h+15JGmPXn55je6l8fyGx0kbGAePNin9DXA1fToTJzJ2K/mrJX4Ztc+tIYskDs0ZsGI76SE2+Tqw==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0",
+				"@wordpress/hooks": "^2.0.5"
+			}
+		},
+		"@wordpress/element": {
+			"version": "2.1.4",
+			"resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.1.4.tgz",
+			"integrity": "sha512-y/RpvYNd2VeLWXemxEXdMOnUa+HUC0sde2o7gEHKud0LB14xFU1ASif/pz/LP+vSvExcvhj8cu4Sq8tKDzRRPw==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0",
+				"@wordpress/escape-html": "^1.0.1",
+				"lodash": "^4.17.10",
+				"react": "^16.4.1",
+				"react-dom": "^16.4.1"
+			}
+		},
+		"@wordpress/escape-html": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-1.0.1.tgz",
+			"integrity": "sha512-ywRXV6WHbUWlqEDXQcWLmyG+/oBw8myTp+KTbkRRF2EJvx/cqL9XF55I2+aeZ5Q0VYRXXGHp6Tp1iRfJjr/rNQ==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0"
+			}
+		},
+		"@wordpress/eslint-plugin": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-2.1.0.tgz",
+			"integrity": "sha512-l81gc1Bg/rJo1Bf42nY1hgYJ6Z7VVcAApxazzyP5Ft395A70YYq9ppQFo7z8yLpeSk0KZkP83WqSnUTx7wODlQ==",
+			"dev": true,
+			"requires": {
+				"babel-eslint": "^8.0.3",
+				"eslint-plugin-jsx-a11y": "^6.2.1",
+				"eslint-plugin-react": "^7.12.4",
+				"requireindex": "^1.2.0"
+			}
+		},
+		"@wordpress/hooks": {
+			"version": "2.0.5",
+			"resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-2.0.5.tgz",
+			"integrity": "sha512-EcE7lm5p6f3qB6nJClY3LPejFpbjo66b6j4ihgLLgrWMKqs4lLPGS2OzK4KyP0O52cofKj+Tv/wBaAiYSufFcA==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0"
+			}
+		},
+		"@wordpress/i18n": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-3.0.1.tgz",
+			"integrity": "sha512-Ut6ihDjcZ7zpU44/WurZrFxrLcMl3Gq+hW8Hb6MTF6+X6Y2fd7QFu3lMvopYNwF8gxWtjvH5n3NIQ6B9DLt7Ng==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0",
+				"gettext-parser": "^1.3.1",
+				"jed": "^1.1.1",
+				"lodash": "^4.17.10",
+				"memize": "^1.0.5"
+			}
+		},
+		"@wordpress/is-shallow-equal": {
+			"version": "1.1.5",
+			"resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-1.1.5.tgz",
+			"integrity": "sha512-8sRM/lg6ISi4jo7MBycSGRkUCsDP/k7kIXT7Au7m6XSuyfLGTuFQjFCUIufXmKsS08ALsp0I9PN6iCFMyirBSw==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.0.0"
+			}
+		},
+		"@wordpress/jest-console": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-3.0.0.tgz",
+			"integrity": "sha512-HLrAipHVEdbC9yMYLWV/ErjhripymZkKkIePhzdBj+RiARUqXIkeD12wZX8Sq295j4KBShs4d3I5vNdxvQ+ZAw==",
+			"dev": true,
+			"requires": {
+				"@babel/runtime": "^7.3.1",
+				"jest-matcher-utils": "^24.0.0",
+				"lodash": "^4.17.11"
+			}
+		},
+		"@wordpress/jest-preset-default": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-4.0.0.tgz",
+			"integrity": "sha512-26F8+ZKajgrL59o02Tes7roEvaM0mEl1AuCUUPF67/EOL5aIsKQNnSPd4JFAPJ8jjuthXBpYW+duCx5g4UYcHQ==",
+			"dev": true,
+			"requires": {
+				"@wordpress/jest-console": "^3.0.0",
+				"babel-jest": "^24.1.0",
+				"enzyme": "^3.9.0",
+				"enzyme-adapter-react-16": "^1.10.0",
+				"enzyme-to-json": "^3.3.5"
+			}
+		},
+		"@wordpress/npm-package-json-lint-config": {
+			"version": "1.1.6",
+			"resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-1.1.6.tgz",
+			"integrity": "sha512-CX2GIoniyll45vGF881nNyDvehP0ceuAuk5dDN2LBrRgK1qVneEp0zowdvUupiHKVol0V2T6MmiZZ9rOFaFmKA==",
+			"dev": true
+		},
+		"@wordpress/scripts": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-3.1.0.tgz",
+			"integrity": "sha512-gSofsSx/OHN++W9K9h+OyeYvhkPQklsCPDBI+TgLoyaQpBvlv7YCE8pneanwSFqaOFVZNp7fk2O206IfhazTeA==",
+			"dev": true,
+			"requires": {
+				"@wordpress/babel-preset-default": "^4.1.0",
+				"@wordpress/eslint-plugin": "^2.1.0",
+				"@wordpress/jest-preset-default": "^4.0.0",
+				"@wordpress/npm-package-json-lint-config": "^1.2.0",
+				"babel-loader": "^8.0.5",
+				"chalk": "^2.4.1",
+				"check-node-version": "^3.1.1",
+				"cross-spawn": "^5.1.0",
+				"eslint": "^5.12.1",
+				"jest": "^24.1.0",
+				"jest-puppeteer": "^4.0.0",
+				"npm-package-json-lint": "^3.6.0",
+				"puppeteer": "1.6.1",
+				"read-pkg-up": "^1.0.1",
+				"resolve-bin": "^0.4.0",
+				"source-map-loader": "^0.2.4",
+				"stylelint": "^9.10.1",
+				"stylelint-config-wordpress": "^13.1.0",
+				"webpack": "4.8.3",
+				"webpack-bundle-analyzer": "^3.0.3",
+				"webpack-cli": "^3.1.2",
+				"webpack-livereload-plugin": "^2.2.0"
+			},
+			"dependencies": {
+				"@babel/core": {
+					"version": "7.4.0",
+					"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.0.tgz",
+					"integrity": "sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.0.0",
+						"@babel/generator": "^7.4.0",
+						"@babel/helpers": "^7.4.0",
+						"@babel/parser": "^7.4.0",
+						"@babel/template": "^7.4.0",
+						"@babel/traverse": "^7.4.0",
+						"@babel/types": "^7.4.0",
+						"convert-source-map": "^1.1.0",
+						"debug": "^4.1.0",
+						"json5": "^2.1.0",
+						"lodash": "^4.17.11",
+						"resolve": "^1.3.2",
+						"semver": "^5.4.1",
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/generator": {
+					"version": "7.4.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz",
+					"integrity": "sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.4.0",
+						"jsesc": "^2.5.1",
+						"lodash": "^4.17.11",
+						"source-map": "^0.5.0",
+						"trim-right": "^1.0.1"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.4.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz",
+					"integrity": "sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.4.0"
+					}
+				},
+				"@babel/helpers": {
+					"version": "7.4.2",
+					"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.2.tgz",
+					"integrity": "sha512-gQR1eQeroDzFBikhrCccm5Gs2xBjZ57DNjGbqTaHo911IpmSxflOQWMAHPw/TXk8L3isv7s9lYzUkexOeTQUYg==",
+					"dev": true,
+					"requires": {
+						"@babel/template": "^7.4.0",
+						"@babel/traverse": "^7.4.0",
+						"@babel/types": "^7.4.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.4.2",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.2.tgz",
+					"integrity": "sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.4.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.0.tgz",
+					"integrity": "sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.0.0",
+						"@babel/parser": "^7.4.0",
+						"@babel/types": "^7.4.0"
+					}
+				},
+				"@babel/traverse": {
+					"version": "7.4.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.0.tgz",
+					"integrity": "sha512-/DtIHKfyg2bBKnIN+BItaIlEg5pjAnzHOIQe5w+rHAw/rg9g0V7T4rqPX8BJPfW11kt3koyjAnTNwCzb28Y1PA==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.0.0",
+						"@babel/generator": "^7.4.0",
+						"@babel/helper-function-name": "^7.1.0",
+						"@babel/helper-split-export-declaration": "^7.4.0",
+						"@babel/parser": "^7.4.0",
+						"@babel/types": "^7.4.0",
+						"debug": "^4.1.0",
+						"globals": "^11.1.0",
+						"lodash": "^4.17.11"
+					}
+				},
+				"@babel/types": {
+					"version": "7.4.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz",
+					"integrity": "sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.11",
+						"to-fast-properties": "^2.0.0"
+					}
+				},
+				"@webassemblyjs/ast": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz",
+					"integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/wast-parser": "1.4.3",
+						"debug": "^3.1.0",
+						"webassemblyjs": "1.4.3"
+					},
+					"dependencies": {
+						"debug": {
+							"version": "3.2.6",
+							"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+							"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+							"dev": true,
+							"requires": {
+								"ms": "^2.1.1"
+							}
+						}
+					}
+				},
+				"@webassemblyjs/floating-point-hex-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz",
+					"integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==",
+					"dev": true
+				},
+				"@webassemblyjs/helper-buffer": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.4.3.tgz",
+					"integrity": "sha512-e8+KZHh+RV8MUvoSRtuT1sFXskFnWG9vbDy47Oa166xX+l0dD5sERJ21g5/tcH8Yo95e9IN3u7Jc3NbhnUcSkw==",
+					"dev": true,
+					"requires": {
+						"debug": "^3.1.0"
+					},
+					"dependencies": {
+						"debug": {
+							"version": "3.2.6",
+							"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+							"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+							"dev": true,
+							"requires": {
+								"ms": "^2.1.1"
+							}
+						}
+					}
+				},
+				"@webassemblyjs/helper-code-frame": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz",
+					"integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/wast-printer": "1.4.3"
+					}
+				},
+				"@webassemblyjs/helper-fsm": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz",
+					"integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==",
+					"dev": true
+				},
+				"@webassemblyjs/helper-wasm-bytecode": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz",
+					"integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==",
+					"dev": true
+				},
+				"@webassemblyjs/helper-wasm-section": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.4.3.tgz",
+					"integrity": "sha512-p0yeeO/h2r30PyjnJX9xXSR6EDcvJd/jC6xa/Pxg4lpfcNi7JUswOpqDToZQ55HMMVhXDih/yqkaywHWGLxqyQ==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/helper-buffer": "1.4.3",
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/wasm-gen": "1.4.3",
+						"debug": "^3.1.0"
+					},
+					"dependencies": {
+						"debug": {
+							"version": "3.2.6",
+							"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+							"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+							"dev": true,
+							"requires": {
+								"ms": "^2.1.1"
+							}
+						}
+					}
+				},
+				"@webassemblyjs/leb128": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.4.3.tgz",
+					"integrity": "sha512-4u0LJLSPzuRDWHwdqsrThYn+WqMFVqbI2ltNrHvZZkzFPO8XOZ0HFQ5eVc4jY/TNHgXcnwrHjONhPGYuuf//KQ==",
+					"dev": true,
+					"requires": {
+						"leb": "^0.3.0"
+					}
+				},
+				"@webassemblyjs/wasm-edit": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.4.3.tgz",
+					"integrity": "sha512-qzuwUn771PV6/LilqkXcS0ozJYAeY/OKbXIWU3a8gexuqb6De2p4ya/baBeH5JQ2WJdfhWhSvSbu86Vienttpw==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/helper-buffer": "1.4.3",
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/helper-wasm-section": "1.4.3",
+						"@webassemblyjs/wasm-gen": "1.4.3",
+						"@webassemblyjs/wasm-opt": "1.4.3",
+						"@webassemblyjs/wasm-parser": "1.4.3",
+						"@webassemblyjs/wast-printer": "1.4.3",
+						"debug": "^3.1.0"
+					},
+					"dependencies": {
+						"debug": {
+							"version": "3.2.6",
+							"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+							"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+							"dev": true,
+							"requires": {
+								"ms": "^2.1.1"
+							}
+						}
+					}
+				},
+				"@webassemblyjs/wasm-gen": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.4.3.tgz",
+					"integrity": "sha512-eR394T8dHZfpLJ7U/Z5pFSvxl1L63JdREebpv9gYc55zLhzzdJPAuxjBYT4XqevUdW67qU2s0nNA3kBuNJHbaQ==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/leb128": "1.4.3"
+					}
+				},
+				"@webassemblyjs/wasm-opt": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.4.3.tgz",
+					"integrity": "sha512-7Gp+nschuKiDuAL1xmp4Xz0rgEbxioFXw4nCFYEmy+ytynhBnTeGc9W9cB1XRu1w8pqRU2lbj2VBBA4cL5Z2Kw==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/helper-buffer": "1.4.3",
+						"@webassemblyjs/wasm-gen": "1.4.3",
+						"@webassemblyjs/wasm-parser": "1.4.3",
+						"debug": "^3.1.0"
+					},
+					"dependencies": {
+						"debug": {
+							"version": "3.2.6",
+							"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+							"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+							"dev": true,
+							"requires": {
+								"ms": "^2.1.1"
+							}
+						}
+					}
+				},
+				"@webassemblyjs/wasm-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz",
+					"integrity": "sha512-KXBjtlwA3BVukR/yWHC9GF+SCzBcgj0a7lm92kTOaa4cbjaTaa47bCjXw6cX4SGQpkncB9PU2hHGYVyyI7wFRg==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/leb128": "1.4.3",
+						"@webassemblyjs/wasm-parser": "1.4.3",
+						"webassemblyjs": "1.4.3"
+					}
+				},
+				"@webassemblyjs/wast-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz",
+					"integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/floating-point-hex-parser": "1.4.3",
+						"@webassemblyjs/helper-code-frame": "1.4.3",
+						"@webassemblyjs/helper-fsm": "1.4.3",
+						"long": "^3.2.0",
+						"webassemblyjs": "1.4.3"
+					}
+				},
+				"@webassemblyjs/wast-printer": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz",
+					"integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/wast-parser": "1.4.3",
+						"long": "^3.2.0"
+					}
+				},
+				"@wordpress/babel-plugin-import-jsx-pragma": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-2.1.0.tgz",
+					"integrity": "sha512-EuEX/wyR+26Z2GTcaK9kMbBBmN1oIgGj5Q2zjp4O5lWFCKNJS0pHEstRI9nlzTjsr+RCUOYKg6Sge9b0DETr7w==",
+					"dev": true
+				},
+				"@wordpress/babel-preset-default": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-4.1.0.tgz",
+					"integrity": "sha512-4byxvJ41grcNG5tLR9paWGxvRjhMy00hWotXgB2Upt8GJ8FLzJ8qmY8PY3FGBSQs/31T+KOLe/AIG3eSyD3crQ==",
+					"dev": true,
+					"requires": {
+						"@babel/core": "^7.2.2",
+						"@babel/plugin-proposal-async-generator-functions": "^7.2.0",
+						"@babel/plugin-proposal-object-rest-spread": "^7.3.2",
+						"@babel/plugin-transform-react-jsx": "^7.3.0",
+						"@babel/plugin-transform-runtime": "^7.2.0",
+						"@babel/preset-env": "^7.3.1",
+						"@babel/runtime": "^7.3.1",
+						"@wordpress/babel-plugin-import-jsx-pragma": "^2.1.0",
+						"@wordpress/browserslist-config": "^2.3.0"
+					}
+				},
+				"@wordpress/browserslist-config": {
+					"version": "2.3.0",
+					"resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-2.3.0.tgz",
+					"integrity": "sha512-bNOahe6ntNF3pRvCaeh2tGgnpPxe35U6UBfvRjDcOk3sIRvN1S7XlG0rlGZOOD+vJU93VLDM8AUj4uL6VPqPgQ==",
+					"dev": true
+				},
+				"@wordpress/eslint-plugin": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-2.1.0.tgz",
+					"integrity": "sha512-l81gc1Bg/rJo1Bf42nY1hgYJ6Z7VVcAApxazzyP5Ft395A70YYq9ppQFo7z8yLpeSk0KZkP83WqSnUTx7wODlQ==",
+					"dev": true,
+					"requires": {
+						"babel-eslint": "^8.0.3",
+						"eslint-plugin-jsx-a11y": "^6.2.1",
+						"eslint-plugin-react": "^7.12.4",
+						"requireindex": "^1.2.0"
+					}
+				},
+				"@wordpress/npm-package-json-lint-config": {
+					"version": "1.2.0",
+					"resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-1.2.0.tgz",
+					"integrity": "sha512-7btuRn18RUALwi1ExoTaRHdb4YZEqfTRWge8FTpZAZtppV338upwJ65mAg3MfaJh0XzcW8XVVlEXBuARGyXtyg==",
+					"dev": true
+				},
+				"acorn": {
+					"version": "5.7.3",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
+					"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+					"dev": true
+				},
+				"aria-query": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
+					"integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
+					"dev": true,
+					"requires": {
+						"ast-types-flow": "0.0.7",
+						"commander": "^2.11.0"
+					}
+				},
+				"axobject-query": {
+					"version": "2.0.2",
+					"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz",
+					"integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==",
+					"dev": true,
+					"requires": {
+						"ast-types-flow": "0.0.7"
+					}
+				},
+				"babel-loader": {
+					"version": "8.0.5",
+					"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz",
+					"integrity": "sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==",
+					"dev": true,
+					"requires": {
+						"find-cache-dir": "^2.0.0",
+						"loader-utils": "^1.0.2",
+						"mkdirp": "^0.5.1",
+						"util.promisify": "^1.0.0"
+					}
+				},
+				"chrome-trace-event": {
+					"version": "0.1.3",
+					"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz",
+					"integrity": "sha512-sjndyZHrrWiu4RY7AkHgjn80GfAM2ZSzUkZLV/Js59Ldmh6JDThf0SUmOHU53rFu2rVxxfCzJ30Ukcfch3Gb/A==",
+					"dev": true
+				},
+				"cross-spawn": {
+					"version": "5.1.0",
+					"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+					"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+					"dev": true,
+					"requires": {
+						"lru-cache": "^4.0.1",
+						"shebang-command": "^1.2.0",
+						"which": "^1.2.9"
+					}
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"emoji-regex": {
+					"version": "7.0.3",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+					"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+					"dev": true
+				},
+				"eslint-plugin-jsx-a11y": {
+					"version": "6.2.1",
+					"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz",
+					"integrity": "sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w==",
+					"dev": true,
+					"requires": {
+						"aria-query": "^3.0.0",
+						"array-includes": "^3.0.3",
+						"ast-types-flow": "^0.0.7",
+						"axobject-query": "^2.0.2",
+						"damerau-levenshtein": "^1.0.4",
+						"emoji-regex": "^7.0.2",
+						"has": "^1.0.3",
+						"jsx-ast-utils": "^2.0.1"
+					}
+				},
+				"eslint-plugin-react": {
+					"version": "7.12.4",
+					"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz",
+					"integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==",
+					"dev": true,
+					"requires": {
+						"array-includes": "^3.0.3",
+						"doctrine": "^2.1.0",
+						"has": "^1.0.3",
+						"jsx-ast-utils": "^2.0.1",
+						"object.fromentries": "^2.0.0",
+						"prop-types": "^15.6.2",
+						"resolve": "^1.9.0"
+					}
+				},
+				"expand-tilde": {
+					"version": "2.0.2",
+					"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+					"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+					"dev": true,
+					"requires": {
+						"homedir-polyfill": "^1.0.1"
+					}
+				},
+				"find-cache-dir": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+					"integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+					"dev": true,
+					"requires": {
+						"commondir": "^1.0.1",
+						"make-dir": "^2.0.0",
+						"pkg-dir": "^3.0.0"
+					}
+				},
+				"global-modules": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+					"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+					"dev": true,
+					"requires": {
+						"global-prefix": "^1.0.1",
+						"is-windows": "^1.0.1",
+						"resolve-dir": "^1.0.0"
+					}
+				},
+				"global-prefix": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+					"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+					"dev": true,
+					"requires": {
+						"expand-tilde": "^2.0.2",
+						"homedir-polyfill": "^1.0.1",
+						"ini": "^1.3.4",
+						"is-windows": "^1.0.1",
+						"which": "^1.2.14"
+					}
+				},
+				"json5": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+					"integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+					"dev": true,
+					"requires": {
+						"minimist": "^1.2.0"
+					}
+				},
+				"jsx-ast-utils": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
+					"integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
+					"dev": true,
+					"requires": {
+						"array-includes": "^3.0.3"
+					}
+				},
+				"make-dir": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+					"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+					"dev": true,
+					"requires": {
+						"pify": "^4.0.1",
+						"semver": "^5.6.0"
+					}
+				},
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				},
+				"pify": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+					"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+					"dev": true
+				},
+				"pkg-dir": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+					"integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+					"dev": true,
+					"requires": {
+						"find-up": "^3.0.0"
+					}
+				},
+				"resolve-dir": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+					"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+					"dev": true,
+					"requires": {
+						"expand-tilde": "^2.0.0",
+						"global-modules": "^1.0.0"
+					}
+				},
+				"schema-utils": {
+					"version": "0.4.7",
+					"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
+					"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.1.0",
+						"ajv-keywords": "^3.1.0"
+					}
+				},
+				"webpack": {
+					"version": "4.8.3",
+					"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.8.3.tgz",
+					"integrity": "sha512-/hfAjBISycdK597lxONjKEFX7dSIU1PsYwC3XlXUXoykWBlv9QV5HnO+ql3HvrrgfBJ7WXdnjO9iGPR2aAc5sw==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/wasm-edit": "1.4.3",
+						"@webassemblyjs/wasm-parser": "1.4.3",
+						"acorn": "^5.0.0",
+						"acorn-dynamic-import": "^3.0.0",
+						"ajv": "^6.1.0",
+						"ajv-keywords": "^3.1.0",
+						"chrome-trace-event": "^0.1.1",
+						"enhanced-resolve": "^4.0.0",
+						"eslint-scope": "^3.7.1",
+						"loader-runner": "^2.3.0",
+						"loader-utils": "^1.1.0",
+						"memory-fs": "~0.4.1",
+						"micromatch": "^3.1.8",
+						"mkdirp": "~0.5.0",
+						"neo-async": "^2.5.0",
+						"node-libs-browser": "^2.0.0",
+						"schema-utils": "^0.4.4",
+						"tapable": "^1.0.0",
+						"uglifyjs-webpack-plugin": "^1.2.4",
+						"watchpack": "^1.5.0",
+						"webpack-sources": "^1.0.1"
+					}
+				},
+				"webpack-cli": {
+					"version": "3.3.0",
+					"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.0.tgz",
+					"integrity": "sha512-t1M7G4z5FhHKJ92WRKwZ1rtvi7rHc0NZoZRbSkol0YKl4HvcC8+DsmGDmK7MmZxHSAetHagiOsjOB6MmzC2TUw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"cross-spawn": "^6.0.5",
+						"enhanced-resolve": "^4.1.0",
+						"findup-sync": "^2.0.0",
+						"global-modules": "^1.0.0",
+						"import-local": "^2.0.0",
+						"interpret": "^1.1.0",
+						"loader-utils": "^1.1.0",
+						"supports-color": "^5.5.0",
+						"v8-compile-cache": "^2.0.2",
+						"yargs": "^12.0.5"
+					},
+					"dependencies": {
+						"cross-spawn": {
+							"version": "6.0.5",
+							"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+							"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+							"dev": true,
+							"requires": {
+								"nice-try": "^1.0.4",
+								"path-key": "^2.0.1",
+								"semver": "^5.5.0",
+								"shebang-command": "^1.2.0",
+								"which": "^1.2.9"
+							}
+						}
+					}
+				}
+			}
+		},
+		"@xtuc/ieee754": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+			"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+			"dev": true
+		},
+		"@xtuc/long": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz",
+			"integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
+			"dev": true
+		},
+		"abab": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz",
+			"integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==",
+			"dev": true
+		},
+		"abbrev": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+			"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+		},
+		"accepts": {
+			"version": "1.3.5",
+			"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+			"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+			"dev": true,
+			"requires": {
+				"mime-types": "~2.1.18",
+				"negotiator": "0.6.1"
+			}
+		},
+		"acorn": {
+			"version": "6.0.4",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
+			"integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==",
+			"dev": true
+		},
+		"acorn-dynamic-import": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
+			"integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
+			"dev": true,
+			"requires": {
+				"acorn": "^5.0.0"
+			},
+			"dependencies": {
+				"acorn": {
+					"version": "5.7.3",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
+					"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+					"dev": true
+				}
+			}
+		},
+		"acorn-globals": {
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz",
+			"integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==",
+			"dev": true,
+			"requires": {
+				"acorn": "^6.0.1",
+				"acorn-walk": "^6.0.1"
+			}
+		},
+		"acorn-jsx": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
+			"integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
+			"dev": true
+		},
+		"acorn-walk": {
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz",
+			"integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==",
+			"dev": true
+		},
+		"agent-base": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
+			"integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+			"dev": true,
+			"requires": {
+				"es6-promisify": "^5.0.0"
+			}
+		},
+		"ajv": {
+			"version": "6.8.1",
+			"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.8.1.tgz",
+			"integrity": "sha512-eqxCp82P+JfqL683wwsL73XmFs1eG6qjw+RD3YHx+Jll1r0jNd4dh8QG9NYAeNGA/hnZjeEDgtTskgJULbxpWQ==",
+			"dev": true,
+			"requires": {
+				"fast-deep-equal": "^2.0.1",
+				"fast-json-stable-stringify": "^2.0.0",
+				"json-schema-traverse": "^0.4.1",
+				"uri-js": "^4.2.2"
+			}
+		},
+		"ajv-errors": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+			"integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+			"dev": true
+		},
+		"ajv-keywords": {
+			"version": "3.4.0",
+			"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
+			"integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
+			"dev": true
+		},
+		"amdefine": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+			"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+			"dev": true
+		},
+		"ansi-escapes": {
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+			"integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+			"dev": true
+		},
+		"ansi-regex": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+			"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+			"dev": true
+		},
+		"ansi-styles": {
+			"version": "3.2.1",
+			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+			"dev": true,
+			"requires": {
+				"color-convert": "^1.9.0"
+			}
+		},
+		"anymatch": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+			"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+			"dev": true,
+			"requires": {
+				"micromatch": "^3.1.4",
+				"normalize-path": "^2.1.1"
+			},
+			"dependencies": {
+				"arr-diff": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+					"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+					"dev": true
+				},
+				"array-unique": {
+					"version": "0.3.2",
+					"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+					"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+					"dev": true
+				},
+				"braces": {
+					"version": "2.3.2",
+					"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+					"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+					"dev": true,
+					"requires": {
+						"arr-flatten": "^1.1.0",
+						"array-unique": "^0.3.2",
+						"extend-shallow": "^2.0.1",
+						"fill-range": "^4.0.0",
+						"isobject": "^3.0.1",
+						"repeat-element": "^1.1.2",
+						"snapdragon": "^0.8.1",
+						"snapdragon-node": "^2.0.1",
+						"split-string": "^3.0.2",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"expand-brackets": {
+					"version": "2.1.4",
+					"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+					"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+					"dev": true,
+					"requires": {
+						"debug": "^2.3.3",
+						"define-property": "^0.2.5",
+						"extend-shallow": "^2.0.1",
+						"posix-character-classes": "^0.1.0",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"define-property": {
+							"version": "0.2.5",
+							"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+							"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+							"dev": true,
+							"requires": {
+								"is-descriptor": "^0.1.0"
+							}
+						},
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						},
+						"is-accessor-descriptor": {
+							"version": "0.1.6",
+							"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+							"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+							"dev": true,
+							"requires": {
+								"kind-of": "^3.0.2"
+							},
+							"dependencies": {
+								"kind-of": {
+									"version": "3.2.2",
+									"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+									"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+									"dev": true,
+									"requires": {
+										"is-buffer": "^1.1.5"
+									}
+								}
+							}
+						},
+						"is-data-descriptor": {
+							"version": "0.1.4",
+							"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+							"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+							"dev": true,
+							"requires": {
+								"kind-of": "^3.0.2"
+							},
+							"dependencies": {
+								"kind-of": {
+									"version": "3.2.2",
+									"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+									"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+									"dev": true,
+									"requires": {
+										"is-buffer": "^1.1.5"
+									}
+								}
+							}
+						},
+						"is-descriptor": {
+							"version": "0.1.6",
+							"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+							"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+							"dev": true,
+							"requires": {
+								"is-accessor-descriptor": "^0.1.6",
+								"is-data-descriptor": "^0.1.4",
+								"kind-of": "^5.0.0"
+							}
+						},
+						"kind-of": {
+							"version": "5.1.0",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+							"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+							"dev": true
+						}
+					}
+				},
+				"extglob": {
+					"version": "2.0.4",
+					"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+					"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+					"dev": true,
+					"requires": {
+						"array-unique": "^0.3.2",
+						"define-property": "^1.0.0",
+						"expand-brackets": "^2.1.4",
+						"extend-shallow": "^2.0.1",
+						"fragment-cache": "^0.2.1",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"define-property": {
+							"version": "1.0.0",
+							"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+							"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+							"dev": true,
+							"requires": {
+								"is-descriptor": "^1.0.0"
+							}
+						},
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"fill-range": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+					"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+					"dev": true,
+					"requires": {
+						"extend-shallow": "^2.0.1",
+						"is-number": "^3.0.0",
+						"repeat-string": "^1.6.1",
+						"to-regex-range": "^2.1.0"
+					},
+					"dependencies": {
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"is-accessor-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-data-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-descriptor": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+					"dev": true,
+					"requires": {
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
+					}
+				},
+				"is-number": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+					"dev": true,
+					"requires": {
+						"kind-of": "^3.0.2"
+					},
+					"dependencies": {
+						"kind-of": {
+							"version": "3.2.2",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+							"dev": true,
+							"requires": {
+								"is-buffer": "^1.1.5"
+							}
+						}
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				},
+				"micromatch": {
+					"version": "3.1.10",
+					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+					"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+					"dev": true,
+					"requires": {
+						"arr-diff": "^4.0.0",
+						"array-unique": "^0.3.2",
+						"braces": "^2.3.1",
+						"define-property": "^2.0.2",
+						"extend-shallow": "^3.0.2",
+						"extglob": "^2.0.4",
+						"fragment-cache": "^0.2.1",
+						"kind-of": "^6.0.2",
+						"nanomatch": "^1.2.9",
+						"object.pick": "^1.3.0",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.2"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"append-transform": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
+			"integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
+			"dev": true,
+			"requires": {
+				"default-require-extensions": "^2.0.0"
+			}
+		},
+		"aproba": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+			"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+			"dev": true
+		},
+		"are-we-there-yet": {
+			"version": "1.1.5",
+			"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+			"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+			"dev": true,
+			"requires": {
+				"delegates": "^1.0.0",
+				"readable-stream": "^2.0.6"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"argparse": {
+			"version": "1.0.10",
+			"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+			"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+			"requires": {
+				"sprintf-js": "~1.0.2"
+			}
+		},
+		"aria-query": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
+			"integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
+			"dev": true,
+			"requires": {
+				"ast-types-flow": "0.0.7",
+				"commander": "^2.11.0"
+			}
+		},
+		"arr-diff": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+			"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+			"dev": true
+		},
+		"arr-flatten": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+			"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+			"dev": true
+		},
+		"arr-union": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+			"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+			"dev": true
+		},
+		"array-equal": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+			"integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+			"dev": true
+		},
+		"array-filter": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
+			"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
+			"dev": true
+		},
+		"array-find-index": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+			"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+			"dev": true
+		},
+		"array-flatten": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+			"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+			"dev": true
+		},
+		"array-includes": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
+			"integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.7.0"
+			}
+		},
+		"array-union": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+			"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+			"dev": true,
+			"requires": {
+				"array-uniq": "^1.0.1"
+			}
+		},
+		"array-uniq": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+			"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+			"dev": true
+		},
+		"array-unique": {
+			"version": "0.3.2",
+			"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+			"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+			"dev": true
+		},
+		"array.prototype.flat": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz",
+			"integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.10.0",
+				"function-bind": "^1.1.1"
+			}
+		},
+		"arrify": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+			"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+			"dev": true
+		},
+		"asn1": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+			"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+			"dev": true,
+			"requires": {
+				"safer-buffer": "~2.1.0"
+			}
+		},
+		"asn1.js": {
+			"version": "4.10.1",
+			"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+			"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.0.0",
+				"inherits": "^2.0.1",
+				"minimalistic-assert": "^1.0.0"
+			}
+		},
+		"assert": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+			"integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+			"dev": true,
+			"requires": {
+				"util": "0.10.3"
+			},
+			"dependencies": {
+				"inherits": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+					"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+					"dev": true
+				},
+				"util": {
+					"version": "0.10.3",
+					"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+					"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+					"dev": true,
+					"requires": {
+						"inherits": "2.0.1"
+					}
+				}
+			}
+		},
+		"assert-plus": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+			"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+			"dev": true
+		},
+		"assign-symbols": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+			"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+			"dev": true
+		},
+		"ast-types-flow": {
+			"version": "0.0.7",
+			"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
+			"integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
+			"dev": true
+		},
+		"astral-regex": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+			"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+			"dev": true
+		},
+		"async": {
+			"version": "2.6.2",
+			"resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
+			"integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
+			"dev": true,
+			"requires": {
+				"lodash": "^4.17.11"
+			}
+		},
+		"async-each": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+			"integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+			"dev": true
+		},
+		"async-foreach": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+			"integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+			"dev": true
+		},
+		"async-limiter": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+			"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+			"dev": true
+		},
+		"asynckit": {
+			"version": "0.4.0",
+			"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+			"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+			"dev": true
+		},
+		"atob": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+			"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+			"dev": true
+		},
+		"autoprefixer": {
+			"version": "9.5.0",
+			"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.5.0.tgz",
+			"integrity": "sha512-hMKcyHsZn5+qL6AUeP3c8OyuteZ4VaUlg+fWbyl8z7PqsKHF/Bf8/px3K6AT8aMzDkBo8Bc11245MM+itDBOxQ==",
+			"dev": true,
+			"requires": {
+				"browserslist": "^4.4.2",
+				"caniuse-lite": "^1.0.30000947",
+				"normalize-range": "^0.1.2",
+				"num2fraction": "^1.2.2",
+				"postcss": "^7.0.14",
+				"postcss-value-parser": "^3.3.1"
+			},
+			"dependencies": {
+				"browserslist": {
+					"version": "4.5.2",
+					"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.2.tgz",
+					"integrity": "sha512-zmJVLiKLrzko0iszd/V4SsjTaomFeoVzQGYYOYgRgsbh7WNh95RgDB0CmBdFWYs/3MyFSt69NypjL/h3iaddKQ==",
+					"dev": true,
+					"requires": {
+						"caniuse-lite": "^1.0.30000951",
+						"electron-to-chromium": "^1.3.116",
+						"node-releases": "^1.1.11"
+					}
+				},
+				"caniuse-lite": {
+					"version": "1.0.30000953",
+					"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000953.tgz",
+					"integrity": "sha512-2stdF/q5MZTDhQ6uC65HWbSgI9UMKbc7+HKvlwH5JBIslKoD/J9dvabP4J4Uiifu3NljbHj3iMpfYflLSNt09A==",
+					"dev": true
+				},
+				"electron-to-chromium": {
+					"version": "1.3.119",
+					"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.119.tgz",
+					"integrity": "sha512-3mtqcAWa4HgG+Djh/oNXlPH0cOH6MmtwxN1nHSaReb9P0Vn51qYPqYwLeoSuAX9loU1wrOBhFbiX3CkeIxPfgg==",
+					"dev": true
+				},
+				"node-releases": {
+					"version": "1.1.11",
+					"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.11.tgz",
+					"integrity": "sha512-8v1j5KfP+s5WOTa1spNUAOfreajQPN12JXbRR0oDE+YrJBQCXBnNqUDj27EKpPLOoSiU3tKi3xGPB+JaOdUEQQ==",
+					"dev": true,
+					"requires": {
+						"semver": "^5.3.0"
+					}
+				}
+			}
+		},
+		"aws-sign2": {
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+			"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+			"dev": true
+		},
+		"aws4": {
+			"version": "1.8.0",
+			"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+			"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+			"dev": true
+		},
+		"axobject-query": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz",
+			"integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==",
+			"dev": true,
+			"requires": {
+				"ast-types-flow": "0.0.7"
+			}
+		},
+		"babel-code-frame": {
+			"version": "6.26.0",
+			"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+			"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+			"dev": true,
+			"requires": {
+				"chalk": "^1.1.3",
+				"esutils": "^2.0.2",
+				"js-tokens": "^3.0.2"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				},
+				"ansi-styles": {
+					"version": "2.2.1",
+					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+					"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+					"dev": true
+				},
+				"chalk": {
+					"version": "1.1.3",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+					"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+					"dev": true,
+					"requires": {
+						"ansi-styles": "^2.2.1",
+						"escape-string-regexp": "^1.0.2",
+						"has-ansi": "^2.0.0",
+						"strip-ansi": "^3.0.0",
+						"supports-color": "^2.0.0"
+					}
+				},
+				"js-tokens": {
+					"version": "3.0.2",
+					"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+					"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+					"dev": true
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				},
+				"supports-color": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+					"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+					"dev": true
+				}
+			}
+		},
+		"babel-core": {
+			"version": "7.0.0-bridge.0",
+			"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz",
+			"integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==",
+			"dev": true
+		},
+		"babel-eslint": {
+			"version": "8.2.6",
+			"resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz",
+			"integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "7.0.0-beta.44",
+				"@babel/traverse": "7.0.0-beta.44",
+				"@babel/types": "7.0.0-beta.44",
+				"babylon": "7.0.0-beta.44",
+				"eslint-scope": "3.7.1",
+				"eslint-visitor-keys": "^1.0.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz",
+					"integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "7.0.0-beta.44"
+					}
+				},
+				"@babel/generator": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz",
+					"integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "7.0.0-beta.44",
+						"jsesc": "^2.5.1",
+						"lodash": "^4.2.0",
+						"source-map": "^0.5.0",
+						"trim-right": "^1.0.1"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz",
+					"integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "7.0.0-beta.44",
+						"@babel/template": "7.0.0-beta.44",
+						"@babel/types": "7.0.0-beta.44"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz",
+					"integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "7.0.0-beta.44"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz",
+					"integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "7.0.0-beta.44"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz",
+					"integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^3.0.0"
+					}
+				},
+				"@babel/template": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz",
+					"integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "7.0.0-beta.44",
+						"@babel/types": "7.0.0-beta.44",
+						"babylon": "7.0.0-beta.44",
+						"lodash": "^4.2.0"
+					}
+				},
+				"@babel/traverse": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz",
+					"integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "7.0.0-beta.44",
+						"@babel/generator": "7.0.0-beta.44",
+						"@babel/helper-function-name": "7.0.0-beta.44",
+						"@babel/helper-split-export-declaration": "7.0.0-beta.44",
+						"@babel/types": "7.0.0-beta.44",
+						"babylon": "7.0.0-beta.44",
+						"debug": "^3.1.0",
+						"globals": "^11.1.0",
+						"invariant": "^2.2.0",
+						"lodash": "^4.2.0"
+					}
+				},
+				"@babel/types": {
+					"version": "7.0.0-beta.44",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz",
+					"integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.2.0",
+						"to-fast-properties": "^2.0.0"
+					}
+				},
+				"js-tokens": {
+					"version": "3.0.2",
+					"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+					"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+					"dev": true
+				}
+			}
+		},
+		"babel-jest": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.5.0.tgz",
+			"integrity": "sha512-0fKCXyRwxFTJL0UXDJiT2xYxO9Lu2vBd9n+cC+eDjESzcVG3s2DRGAxbzJX21fceB1WYoBjAh8pQ83dKcl003g==",
+			"dev": true,
+			"requires": {
+				"@jest/transform": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"@types/babel__core": "^7.1.0",
+				"babel-plugin-istanbul": "^5.1.0",
+				"babel-preset-jest": "^24.3.0",
+				"chalk": "^2.4.2",
+				"slash": "^2.0.0"
+			}
+		},
+		"babel-loader": {
+			"version": "8.0.4",
+			"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz",
+			"integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==",
+			"dev": true,
+			"requires": {
+				"find-cache-dir": "^1.0.0",
+				"loader-utils": "^1.0.2",
+				"mkdirp": "^0.5.1",
+				"util.promisify": "^1.0.0"
+			}
+		},
+		"babel-plugin-emotion": {
+			"version": "9.2.11",
+			"resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz",
+			"integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==",
+			"requires": {
+				"@babel/helper-module-imports": "^7.0.0",
+				"@emotion/babel-utils": "^0.6.4",
+				"@emotion/hash": "^0.6.2",
+				"@emotion/memoize": "^0.6.1",
+				"@emotion/stylis": "^0.7.0",
+				"babel-plugin-macros": "^2.0.0",
+				"babel-plugin-syntax-jsx": "^6.18.0",
+				"convert-source-map": "^1.5.0",
+				"find-root": "^1.1.0",
+				"mkdirp": "^0.5.1",
+				"source-map": "^0.5.7",
+				"touch": "^2.0.1"
+			}
+		},
+		"babel-plugin-istanbul": {
+			"version": "5.1.1",
+			"resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz",
+			"integrity": "sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ==",
+			"dev": true,
+			"requires": {
+				"find-up": "^3.0.0",
+				"istanbul-lib-instrument": "^3.0.0",
+				"test-exclude": "^5.0.0"
+			}
+		},
+		"babel-plugin-jest-hoist": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.3.0.tgz",
+			"integrity": "sha512-nWh4N1mVH55Tzhx2isvUN5ebM5CDUvIpXPZYMRazQughie/EqGnbR+czzoQlhUmJG9pPJmYDRhvocotb2THl1w==",
+			"dev": true,
+			"requires": {
+				"@types/babel__traverse": "^7.0.6"
+			}
+		},
+		"babel-plugin-macros": {
+			"version": "2.5.0",
+			"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.5.0.tgz",
+			"integrity": "sha512-BWw0lD0kVZAXRD3Od1kMrdmfudqzDzYv2qrN3l2ISR1HVp1EgLKfbOrYV9xmY5k3qx3RIu5uPAUZZZHpo0o5Iw==",
+			"requires": {
+				"cosmiconfig": "^5.0.5",
+				"resolve": "^1.8.1"
+			}
+		},
+		"babel-plugin-syntax-jsx": {
+			"version": "6.18.0",
+			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+			"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
+		},
+		"babel-preset-jest": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.3.0.tgz",
+			"integrity": "sha512-VGTV2QYBa/Kn3WCOKdfS31j9qomaXSgJqi65B6o05/1GsJyj9LVhSljM9ro4S+IBGj/ENhNBuH9bpqzztKAQSw==",
+			"dev": true,
+			"requires": {
+				"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
+				"babel-plugin-jest-hoist": "^24.3.0"
+			}
+		},
+		"babylon": {
+			"version": "7.0.0-beta.44",
+			"resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
+			"integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==",
+			"dev": true
+		},
+		"bail": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz",
+			"integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==",
+			"dev": true
+		},
+		"balanced-match": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+			"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+			"dev": true
+		},
+		"base": {
+			"version": "0.11.2",
+			"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+			"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+			"dev": true,
+			"requires": {
+				"cache-base": "^1.0.1",
+				"class-utils": "^0.3.5",
+				"component-emitter": "^1.2.1",
+				"define-property": "^1.0.0",
+				"isobject": "^3.0.1",
+				"mixin-deep": "^1.2.0",
+				"pascalcase": "^0.1.1"
+			},
+			"dependencies": {
+				"define-property": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^1.0.0"
+					}
+				},
+				"is-accessor-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-data-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-descriptor": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+					"dev": true,
+					"requires": {
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				}
+			}
+		},
+		"base64-js": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
+			"integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
+			"dev": true
+		},
+		"bcrypt-pbkdf": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+			"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+			"dev": true,
+			"requires": {
+				"tweetnacl": "^0.14.3"
+			}
+		},
+		"bfj": {
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.1.tgz",
+			"integrity": "sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==",
+			"dev": true,
+			"requires": {
+				"bluebird": "^3.5.1",
+				"check-types": "^7.3.0",
+				"hoopy": "^0.1.2",
+				"tryer": "^1.0.0"
+			}
+		},
+		"big.js": {
+			"version": "5.2.2",
+			"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+			"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+			"dev": true
+		},
+		"binary-extensions": {
+			"version": "1.13.0",
+			"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
+			"integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+			"dev": true
+		},
+		"block-stream": {
+			"version": "0.0.9",
+			"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+			"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+			"dev": true,
+			"requires": {
+				"inherits": "~2.0.0"
+			}
+		},
+		"bluebird": {
+			"version": "3.5.3",
+			"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
+			"integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==",
+			"dev": true
+		},
+		"bn.js": {
+			"version": "4.11.8",
+			"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+			"integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+			"dev": true
+		},
+		"body": {
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
+			"integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
+			"dev": true,
+			"requires": {
+				"continuable-cache": "^0.3.1",
+				"error": "^7.0.0",
+				"raw-body": "~1.1.0",
+				"safe-json-parse": "~1.0.1"
+			},
+			"dependencies": {
+				"bytes": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+					"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
+					"dev": true
+				},
+				"raw-body": {
+					"version": "1.1.7",
+					"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+					"integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
+					"dev": true,
+					"requires": {
+						"bytes": "1",
+						"string_decoder": "0.10"
+					}
+				},
+				"string_decoder": {
+					"version": "0.10.31",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+					"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+					"dev": true
+				}
+			}
+		},
+		"body-parser": {
+			"version": "1.18.3",
+			"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
+			"integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
+			"dev": true,
+			"requires": {
+				"bytes": "3.0.0",
+				"content-type": "~1.0.4",
+				"debug": "2.6.9",
+				"depd": "~1.1.2",
+				"http-errors": "~1.6.3",
+				"iconv-lite": "0.4.23",
+				"on-finished": "~2.3.0",
+				"qs": "6.5.2",
+				"raw-body": "2.3.3",
+				"type-is": "~1.6.16"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"iconv-lite": {
+					"version": "0.4.23",
+					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+					"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+					"dev": true,
+					"requires": {
+						"safer-buffer": ">= 2.1.2 < 3"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"boolbase": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+			"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+			"dev": true
+		},
+		"brace-expansion": {
+			"version": "1.1.11",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+			"dev": true,
+			"requires": {
+				"balanced-match": "^1.0.0",
+				"concat-map": "0.0.1"
+			}
+		},
+		"braces": {
+			"version": "2.3.2",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+			"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+			"dev": true,
+			"requires": {
+				"arr-flatten": "^1.1.0",
+				"array-unique": "^0.3.2",
+				"extend-shallow": "^2.0.1",
+				"fill-range": "^4.0.0",
+				"isobject": "^3.0.1",
+				"repeat-element": "^1.1.2",
+				"snapdragon": "^0.8.1",
+				"snapdragon-node": "^2.0.1",
+				"split-string": "^3.0.2",
+				"to-regex": "^3.0.1"
+			},
+			"dependencies": {
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				}
+			}
+		},
+		"brorand": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+			"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+			"dev": true
+		},
+		"browser-process-hrtime": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
+			"integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==",
+			"dev": true
+		},
+		"browser-resolve": {
+			"version": "1.11.3",
+			"resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+			"integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+			"dev": true,
+			"requires": {
+				"resolve": "1.1.7"
+			},
+			"dependencies": {
+				"resolve": {
+					"version": "1.1.7",
+					"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+					"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+					"dev": true
+				}
+			}
+		},
+		"browserify-aes": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+			"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+			"dev": true,
+			"requires": {
+				"buffer-xor": "^1.0.3",
+				"cipher-base": "^1.0.0",
+				"create-hash": "^1.1.0",
+				"evp_bytestokey": "^1.0.3",
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.0.1"
+			}
+		},
+		"browserify-cipher": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+			"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+			"dev": true,
+			"requires": {
+				"browserify-aes": "^1.0.4",
+				"browserify-des": "^1.0.0",
+				"evp_bytestokey": "^1.0.0"
+			}
+		},
+		"browserify-des": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+			"integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+			"dev": true,
+			"requires": {
+				"cipher-base": "^1.0.1",
+				"des.js": "^1.0.0",
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.1.2"
+			}
+		},
+		"browserify-rsa": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+			"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.1.0",
+				"randombytes": "^2.0.1"
+			}
+		},
+		"browserify-sign": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+			"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.1.1",
+				"browserify-rsa": "^4.0.0",
+				"create-hash": "^1.1.0",
+				"create-hmac": "^1.1.2",
+				"elliptic": "^6.0.0",
+				"inherits": "^2.0.1",
+				"parse-asn1": "^5.0.0"
+			}
+		},
+		"browserify-zlib": {
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+			"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+			"dev": true,
+			"requires": {
+				"pako": "~1.0.5"
+			}
+		},
+		"browserslist": {
+			"version": "4.4.1",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz",
+			"integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==",
+			"dev": true,
+			"requires": {
+				"caniuse-lite": "^1.0.30000929",
+				"electron-to-chromium": "^1.3.103",
+				"node-releases": "^1.1.3"
+			}
+		},
+		"bser": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
+			"integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+			"dev": true,
+			"requires": {
+				"node-int64": "^0.4.0"
+			}
+		},
+		"buffer": {
+			"version": "4.9.1",
+			"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+			"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+			"dev": true,
+			"requires": {
+				"base64-js": "^1.0.2",
+				"ieee754": "^1.1.4",
+				"isarray": "^1.0.0"
+			}
+		},
+		"buffer-from": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+			"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+			"dev": true
+		},
+		"buffer-xor": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+			"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+			"dev": true
+		},
+		"builtin-status-codes": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+			"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+			"dev": true
+		},
+		"bytes": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+			"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+			"dev": true
+		},
+		"cacache": {
+			"version": "10.0.4",
+			"resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
+			"integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
+			"dev": true,
+			"requires": {
+				"bluebird": "^3.5.1",
+				"chownr": "^1.0.1",
+				"glob": "^7.1.2",
+				"graceful-fs": "^4.1.11",
+				"lru-cache": "^4.1.1",
+				"mississippi": "^2.0.0",
+				"mkdirp": "^0.5.1",
+				"move-concurrently": "^1.0.1",
+				"promise-inflight": "^1.0.1",
+				"rimraf": "^2.6.2",
+				"ssri": "^5.2.4",
+				"unique-filename": "^1.1.0",
+				"y18n": "^4.0.0"
+			}
+		},
+		"cache-base": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+			"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+			"dev": true,
+			"requires": {
+				"collection-visit": "^1.0.0",
+				"component-emitter": "^1.2.1",
+				"get-value": "^2.0.6",
+				"has-value": "^1.0.0",
+				"isobject": "^3.0.1",
+				"set-value": "^2.0.0",
+				"to-object-path": "^0.3.0",
+				"union-value": "^1.0.0",
+				"unset-value": "^1.0.0"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
+			}
+		},
+		"call-me-maybe": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+			"integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+			"dev": true
+		},
+		"caller-callsite": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+			"integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+			"requires": {
+				"callsites": "^2.0.0"
+			}
+		},
+		"caller-path": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+			"integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+			"requires": {
+				"caller-callsite": "^2.0.0"
+			}
+		},
+		"callsites": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+			"integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
+		},
+		"camelcase": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
+			"integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
+			"dev": true
+		},
+		"camelcase-keys": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
+			"integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+			"dev": true,
+			"requires": {
+				"camelcase": "^4.1.0",
+				"map-obj": "^2.0.0",
+				"quick-lru": "^1.0.0"
+			},
+			"dependencies": {
+				"camelcase": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+					"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+					"dev": true
+				}
+			}
+		},
+		"caniuse-lite": {
+			"version": "1.0.30000935",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000935.tgz",
+			"integrity": "sha512-1Y2uJ5y56qDt3jsDTdBHL1OqiImzjoQcBG6Yl3Qizq8mcc2SgCFpi+ZwLLqkztYnk9l87IYqRlNBnPSOTbFkXQ==",
+			"dev": true
+		},
+		"capture-exit": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+			"integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+			"dev": true,
+			"requires": {
+				"rsvp": "^4.8.4"
+			}
+		},
+		"caseless": {
+			"version": "0.12.0",
+			"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+			"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+			"dev": true
+		},
+		"ccount": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz",
+			"integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==",
+			"dev": true
+		},
+		"chalk": {
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+			"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+			"dev": true,
+			"requires": {
+				"ansi-styles": "^3.2.1",
+				"escape-string-regexp": "^1.0.5",
+				"supports-color": "^5.3.0"
+			}
+		},
+		"character-entities": {
+			"version": "1.2.2",
+			"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
+			"integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==",
+			"dev": true
+		},
+		"character-entities-html4": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz",
+			"integrity": "sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==",
+			"dev": true
+		},
+		"character-entities-legacy": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
+			"integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==",
+			"dev": true
+		},
+		"character-reference-invalid": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
+			"integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
+			"dev": true
+		},
+		"chardet": {
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+			"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+			"dev": true
+		},
+		"check-node-version": {
+			"version": "3.3.0",
+			"resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-3.3.0.tgz",
+			"integrity": "sha512-OAtp7prQf+8YYKn2UB/fK1Ppb9OT+apW56atoKYUvucYLPq69VozOY0B295okBwCKymk2cictrS3qsdcZwyfzw==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.3.0",
+				"map-values": "^1.0.1",
+				"minimist": "^1.2.0",
+				"object-filter": "^1.0.2",
+				"object.assign": "^4.0.4",
+				"run-parallel": "^1.1.4",
+				"semver": "^5.0.3"
+			},
+			"dependencies": {
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				}
+			}
+		},
+		"check-types": {
+			"version": "7.4.0",
+			"resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz",
+			"integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==",
+			"dev": true
+		},
+		"cheerio": {
+			"version": "1.0.0-rc.2",
+			"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz",
+			"integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=",
+			"dev": true,
+			"requires": {
+				"css-select": "~1.2.0",
+				"dom-serializer": "~0.1.0",
+				"entities": "~1.1.1",
+				"htmlparser2": "^3.9.1",
+				"lodash": "^4.15.0",
+				"parse5": "^3.0.1"
+			}
+		},
+		"chokidar": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.0.tgz",
+			"integrity": "sha512-5t6G2SH8eO6lCvYOoUpaRnF5Qfd//gd7qJAkwRUw9qlGVkiQ13uwQngqbWWaurOsaAm9+kUGbITADxt6H0XFNQ==",
+			"dev": true,
+			"requires": {
+				"anymatch": "^2.0.0",
+				"async-each": "^1.0.1",
+				"braces": "^2.3.2",
+				"fsevents": "^1.2.7",
+				"glob-parent": "^3.1.0",
+				"inherits": "^2.0.3",
+				"is-binary-path": "^1.0.0",
+				"is-glob": "^4.0.0",
+				"normalize-path": "^3.0.0",
+				"path-is-absolute": "^1.0.0",
+				"readdirp": "^2.2.1",
+				"upath": "^1.1.0"
+			},
+			"dependencies": {
+				"array-unique": {
+					"version": "0.3.2",
+					"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+					"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+					"dev": true
+				},
+				"braces": {
+					"version": "2.3.2",
+					"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+					"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+					"dev": true,
+					"requires": {
+						"arr-flatten": "^1.1.0",
+						"array-unique": "^0.3.2",
+						"extend-shallow": "^2.0.1",
+						"fill-range": "^4.0.0",
+						"isobject": "^3.0.1",
+						"repeat-element": "^1.1.2",
+						"snapdragon": "^0.8.1",
+						"snapdragon-node": "^2.0.1",
+						"split-string": "^3.0.2",
+						"to-regex": "^3.0.1"
+					}
+				},
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				},
+				"fill-range": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+					"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+					"dev": true,
+					"requires": {
+						"extend-shallow": "^2.0.1",
+						"is-number": "^3.0.0",
+						"repeat-string": "^1.6.1",
+						"to-regex-range": "^2.1.0"
+					}
+				},
+				"glob-parent": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+					"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+					"dev": true,
+					"requires": {
+						"is-glob": "^3.1.0",
+						"path-dirname": "^1.0.0"
+					},
+					"dependencies": {
+						"is-glob": {
+							"version": "3.1.0",
+							"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+							"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+							"dev": true,
+							"requires": {
+								"is-extglob": "^2.1.0"
+							}
+						}
+					}
+				},
+				"is-extglob": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+					"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+					"dev": true
+				},
+				"is-glob": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+					"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+					"dev": true,
+					"requires": {
+						"is-extglob": "^2.1.1"
+					}
+				},
+				"is-number": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+					"dev": true,
+					"requires": {
+						"kind-of": "^3.0.2"
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"normalize-path": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+					"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+					"dev": true
+				}
+			}
+		},
+		"chownr": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
+			"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
+			"dev": true
+		},
+		"chrome-trace-event": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
+			"integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
+			"dev": true,
+			"requires": {
+				"tslib": "^1.9.0"
+			}
+		},
+		"ci-info": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+			"integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+			"dev": true
+		},
+		"cipher-base": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+			"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.0.1"
+			}
+		},
+		"class-utils": {
+			"version": "0.3.6",
+			"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+			"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+			"dev": true,
+			"requires": {
+				"arr-union": "^3.1.0",
+				"define-property": "^0.2.5",
+				"isobject": "^3.0.0",
+				"static-extend": "^0.1.1"
+			},
+			"dependencies": {
+				"define-property": {
+					"version": "0.2.5",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^0.1.0"
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
+			}
+		},
+		"classnames": {
+			"version": "2.2.6",
+			"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
+			"integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
+		},
+		"cli-cursor": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+			"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+			"dev": true,
+			"requires": {
+				"restore-cursor": "^2.0.0"
+			}
+		},
+		"cli-table3": {
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz",
+			"integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==",
+			"dev": true,
+			"requires": {
+				"colors": "^1.1.2",
+				"object-assign": "^4.1.0",
+				"string-width": "^2.1.1"
+			}
+		},
+		"cli-width": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+			"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+			"dev": true
+		},
+		"cliui": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+			"integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+			"dev": true,
+			"requires": {
+				"string-width": "^2.1.1",
+				"strip-ansi": "^4.0.0",
+				"wrap-ansi": "^2.0.0"
+			}
+		},
+		"clone-deep": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz",
+			"integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=",
+			"dev": true,
+			"requires": {
+				"for-own": "^0.1.3",
+				"is-plain-object": "^2.0.1",
+				"kind-of": "^3.0.2",
+				"lazy-cache": "^1.0.3",
+				"shallow-clone": "^0.1.2"
+			}
+		},
+		"clone-regexp": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz",
+			"integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
+			"dev": true,
+			"requires": {
+				"is-regexp": "^1.0.0",
+				"is-supported-regexp-flag": "^1.0.0"
+			}
+		},
+		"co": {
+			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+			"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+			"dev": true
+		},
+		"code-point-at": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+			"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+			"dev": true
+		},
+		"collapse-white-space": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz",
+			"integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==",
+			"dev": true
+		},
+		"collection-visit": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+			"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+			"dev": true,
+			"requires": {
+				"map-visit": "^1.0.0",
+				"object-visit": "^1.0.0"
+			}
+		},
+		"color-convert": {
+			"version": "1.9.3",
+			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+			"dev": true,
+			"requires": {
+				"color-name": "1.1.3"
+			}
+		},
+		"color-name": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+			"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+			"dev": true
+		},
+		"colors": {
+			"version": "1.3.3",
+			"resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
+			"integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==",
+			"dev": true
+		},
+		"combined-stream": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
+			"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+			"dev": true,
+			"requires": {
+				"delayed-stream": "~1.0.0"
+			}
+		},
+		"commander": {
+			"version": "2.19.0",
+			"resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
+			"integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+			"dev": true
+		},
+		"commondir": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+			"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+			"dev": true
+		},
+		"compare-versions": {
+			"version": "3.4.0",
+			"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz",
+			"integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==",
+			"dev": true
+		},
+		"component-emitter": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+			"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+			"dev": true
+		},
+		"concat-map": {
+			"version": "0.0.1",
+			"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+			"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+			"dev": true
+		},
+		"concat-stream": {
+			"version": "1.6.2",
+			"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+			"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+			"dev": true,
+			"requires": {
+				"buffer-from": "^1.0.0",
+				"inherits": "^2.0.3",
+				"readable-stream": "^2.2.2",
+				"typedarray": "^0.0.6"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"console-browserify": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+			"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+			"dev": true,
+			"requires": {
+				"date-now": "^0.1.4"
+			}
+		},
+		"console-control-strings": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+			"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+			"dev": true
+		},
+		"constants-browserify": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+			"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+			"dev": true
+		},
+		"content-disposition": {
+			"version": "0.5.2",
+			"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+			"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
+			"dev": true
+		},
+		"content-type": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+			"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+			"dev": true
+		},
+		"continuable-cache": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
+			"integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
+			"dev": true
+		},
+		"convert-source-map": {
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
+			"integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+			"requires": {
+				"safe-buffer": "~5.1.1"
+			}
+		},
+		"cookie": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+			"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+			"dev": true
+		},
+		"cookie-signature": {
+			"version": "1.0.6",
+			"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+			"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+			"dev": true
+		},
+		"copy-concurrently": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+			"integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+			"dev": true,
+			"requires": {
+				"aproba": "^1.1.1",
+				"fs-write-stream-atomic": "^1.0.8",
+				"iferr": "^0.1.5",
+				"mkdirp": "^0.5.1",
+				"rimraf": "^2.5.4",
+				"run-queue": "^1.0.0"
+			}
+		},
+		"copy-descriptor": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+			"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+			"dev": true
+		},
+		"core-js": {
+			"version": "2.6.3",
+			"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.3.tgz",
+			"integrity": "sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ==",
+			"dev": true
+		},
+		"core-util-is": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+			"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+			"dev": true
+		},
+		"cosmiconfig": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.0.tgz",
+			"integrity": "sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==",
+			"requires": {
+				"import-fresh": "^2.0.0",
+				"is-directory": "^0.3.1",
+				"js-yaml": "^3.13.0",
+				"parse-json": "^4.0.0"
+			}
+		},
+		"create-ecdh": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+			"integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.1.0",
+				"elliptic": "^6.0.0"
+			}
+		},
+		"create-emotion": {
+			"version": "9.2.12",
+			"resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz",
+			"integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==",
+			"requires": {
+				"@emotion/hash": "^0.6.2",
+				"@emotion/memoize": "^0.6.1",
+				"@emotion/stylis": "^0.7.0",
+				"@emotion/unitless": "^0.6.2",
+				"csstype": "^2.5.2",
+				"stylis": "^3.5.0",
+				"stylis-rule-sheet": "^0.0.10"
+			}
+		},
+		"create-hash": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+			"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+			"dev": true,
+			"requires": {
+				"cipher-base": "^1.0.1",
+				"inherits": "^2.0.1",
+				"md5.js": "^1.3.4",
+				"ripemd160": "^2.0.1",
+				"sha.js": "^2.4.0"
+			}
+		},
+		"create-hmac": {
+			"version": "1.1.7",
+			"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+			"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+			"dev": true,
+			"requires": {
+				"cipher-base": "^1.0.3",
+				"create-hash": "^1.1.0",
+				"inherits": "^2.0.1",
+				"ripemd160": "^2.0.0",
+				"safe-buffer": "^5.0.1",
+				"sha.js": "^2.4.8"
+			}
+		},
+		"cross-env": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz",
+			"integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==",
+			"dev": true,
+			"requires": {
+				"cross-spawn": "^6.0.5",
+				"is-windows": "^1.0.0"
+			}
+		},
+		"cross-spawn": {
+			"version": "6.0.5",
+			"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+			"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+			"dev": true,
+			"requires": {
+				"nice-try": "^1.0.4",
+				"path-key": "^2.0.1",
+				"semver": "^5.5.0",
+				"shebang-command": "^1.2.0",
+				"which": "^1.2.9"
+			}
+		},
+		"crypto-browserify": {
+			"version": "3.12.0",
+			"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+			"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+			"dev": true,
+			"requires": {
+				"browserify-cipher": "^1.0.0",
+				"browserify-sign": "^4.0.0",
+				"create-ecdh": "^4.0.0",
+				"create-hash": "^1.1.0",
+				"create-hmac": "^1.1.0",
+				"diffie-hellman": "^5.0.0",
+				"inherits": "^2.0.1",
+				"pbkdf2": "^3.0.3",
+				"public-encrypt": "^4.0.0",
+				"randombytes": "^2.0.0",
+				"randomfill": "^1.0.3"
+			}
+		},
+		"css-loader": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
+			"integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==",
+			"dev": true,
+			"requires": {
+				"babel-code-frame": "^6.26.0",
+				"css-selector-tokenizer": "^0.7.0",
+				"icss-utils": "^2.1.0",
+				"loader-utils": "^1.0.2",
+				"lodash": "^4.17.11",
+				"postcss": "^6.0.23",
+				"postcss-modules-extract-imports": "^1.2.0",
+				"postcss-modules-local-by-default": "^1.2.0",
+				"postcss-modules-scope": "^1.1.0",
+				"postcss-modules-values": "^1.3.0",
+				"postcss-value-parser": "^3.3.0",
+				"source-list-map": "^2.0.0"
+			},
+			"dependencies": {
+				"postcss": {
+					"version": "6.0.23",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+					"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"css-select": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+			"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+			"dev": true,
+			"requires": {
+				"boolbase": "~1.0.0",
+				"css-what": "2.1",
+				"domutils": "1.5.1",
+				"nth-check": "~1.0.1"
+			}
+		},
+		"css-selector-tokenizer": {
+			"version": "0.7.1",
+			"resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
+			"integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
+			"dev": true,
+			"requires": {
+				"cssesc": "^0.1.0",
+				"fastparse": "^1.1.1",
+				"regexpu-core": "^1.0.0"
+			},
+			"dependencies": {
+				"cssesc": {
+					"version": "0.1.0",
+					"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+					"integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+					"dev": true
+				},
+				"jsesc": {
+					"version": "0.5.0",
+					"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+					"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+					"dev": true
+				},
+				"regexpu-core": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+					"integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+					"dev": true,
+					"requires": {
+						"regenerate": "^1.2.1",
+						"regjsgen": "^0.2.0",
+						"regjsparser": "^0.1.4"
+					}
+				},
+				"regjsgen": {
+					"version": "0.2.0",
+					"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+					"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+					"dev": true
+				},
+				"regjsparser": {
+					"version": "0.1.5",
+					"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+					"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+					"dev": true,
+					"requires": {
+						"jsesc": "~0.5.0"
+					}
+				}
+			}
+		},
+		"css-what": {
+			"version": "2.1.3",
+			"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
+			"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
+			"dev": true
+		},
+		"cssesc": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+			"integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+			"dev": true
+		},
+		"cssom": {
+			"version": "0.3.6",
+			"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz",
+			"integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==",
+			"dev": true
+		},
+		"cssstyle": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz",
+			"integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==",
+			"dev": true,
+			"requires": {
+				"cssom": "0.3.x"
+			}
+		},
+		"csstype": {
+			"version": "2.6.3",
+			"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.3.tgz",
+			"integrity": "sha512-rINUZXOkcBmoHWEyu7JdHu5JMzkGRoMX4ov9830WNgxf5UYxcBUO0QTKAqeJ5EZfSdlrcJYkC8WwfVW7JYi4yg=="
+		},
+		"currently-unhandled": {
+			"version": "0.4.1",
+			"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+			"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+			"dev": true,
+			"requires": {
+				"array-find-index": "^1.0.1"
+			}
+		},
+		"cwd": {
+			"version": "0.10.0",
+			"resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz",
+			"integrity": "sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc=",
+			"dev": true,
+			"requires": {
+				"find-pkg": "^0.1.2",
+				"fs-exists-sync": "^0.1.0"
+			}
+		},
+		"cyclist": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
+			"integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
+			"dev": true
+		},
+		"damerau-levenshtein": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz",
+			"integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=",
+			"dev": true
+		},
+		"dashdash": {
+			"version": "1.14.1",
+			"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+			"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0"
+			}
+		},
+		"data-urls": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+			"integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+			"dev": true,
+			"requires": {
+				"abab": "^2.0.0",
+				"whatwg-mimetype": "^2.2.0",
+				"whatwg-url": "^7.0.0"
+			},
+			"dependencies": {
+				"whatwg-url": {
+					"version": "7.0.0",
+					"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
+					"integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
+					"dev": true,
+					"requires": {
+						"lodash.sortby": "^4.7.0",
+						"tr46": "^1.0.1",
+						"webidl-conversions": "^4.0.2"
+					}
+				}
+			}
+		},
+		"date-now": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+			"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+			"dev": true
+		},
+		"debug": {
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+			"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+			"dev": true,
+			"requires": {
+				"ms": "^2.1.1"
+			}
+		},
+		"decamelize": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+			"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+			"dev": true
+		},
+		"decamelize-keys": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+			"integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+			"dev": true,
+			"requires": {
+				"decamelize": "^1.1.0",
+				"map-obj": "^1.0.0"
+			},
+			"dependencies": {
+				"map-obj": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+					"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+					"dev": true
+				}
+			}
+		},
+		"decode-uri-component": {
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+			"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+			"dev": true
+		},
+		"deep-is": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+			"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+			"dev": true
+		},
+		"default-require-extensions": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
+			"integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
+			"dev": true,
+			"requires": {
+				"strip-bom": "^3.0.0"
+			},
+			"dependencies": {
+				"strip-bom": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+					"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+					"dev": true
+				}
+			}
+		},
+		"define-properties": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+			"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+			"dev": true,
+			"requires": {
+				"object-keys": "^1.0.12"
+			}
+		},
+		"define-property": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+			"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+			"dev": true,
+			"requires": {
+				"is-descriptor": "^1.0.2",
+				"isobject": "^3.0.1"
+			},
+			"dependencies": {
+				"is-accessor-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-data-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-descriptor": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+					"dev": true,
+					"requires": {
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				}
+			}
+		},
+		"delayed-stream": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+			"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+			"dev": true
+		},
+		"delegates": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+			"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+			"dev": true
+		},
+		"depd": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+			"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+			"dev": true
+		},
+		"des.js": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+			"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.1",
+				"minimalistic-assert": "^1.0.0"
+			}
+		},
+		"destroy": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+			"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+			"dev": true
+		},
+		"detect-file": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+			"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+			"dev": true
+		},
+		"detect-newline": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+			"integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
+			"dev": true
+		},
+		"diff-sequences": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.3.0.tgz",
+			"integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==",
+			"dev": true
+		},
+		"diffie-hellman": {
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+			"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.1.0",
+				"miller-rabin": "^4.0.0",
+				"randombytes": "^2.0.0"
+			}
+		},
+		"dir-glob": {
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
+			"integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+			"dev": true,
+			"requires": {
+				"path-type": "^3.0.0"
+			},
+			"dependencies": {
+				"path-type": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+					"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+					"dev": true,
+					"requires": {
+						"pify": "^3.0.0"
+					}
+				},
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				}
+			}
+		},
+		"discontinuous-range": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
+			"integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=",
+			"dev": true
+		},
+		"doctrine": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+			"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+			"dev": true,
+			"requires": {
+				"esutils": "^2.0.2"
+			}
+		},
+		"dom-helpers": {
+			"version": "3.4.0",
+			"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
+			"integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
+			"requires": {
+				"@babel/runtime": "^7.1.2"
+			}
+		},
+		"dom-serializer": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
+			"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
+			"dev": true,
+			"requires": {
+				"domelementtype": "^1.3.0",
+				"entities": "^1.1.1"
+			}
+		},
+		"domain-browser": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+			"integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+			"dev": true
+		},
+		"domelementtype": {
+			"version": "1.3.1",
+			"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+			"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+			"dev": true
+		},
+		"domexception": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+			"integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+			"dev": true,
+			"requires": {
+				"webidl-conversions": "^4.0.2"
+			}
+		},
+		"domhandler": {
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+			"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+			"dev": true,
+			"requires": {
+				"domelementtype": "1"
+			}
+		},
+		"domutils": {
+			"version": "1.5.1",
+			"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+			"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+			"dev": true,
+			"requires": {
+				"dom-serializer": "0",
+				"domelementtype": "1"
+			}
+		},
+		"dot-prop": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+			"integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+			"dev": true,
+			"requires": {
+				"is-obj": "^1.0.0"
+			}
+		},
+		"duplexer": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+			"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+			"dev": true
+		},
+		"duplexify": {
+			"version": "3.7.1",
+			"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+			"integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+			"dev": true,
+			"requires": {
+				"end-of-stream": "^1.0.0",
+				"inherits": "^2.0.1",
+				"readable-stream": "^2.0.0",
+				"stream-shift": "^1.0.0"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"ecc-jsbn": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+			"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+			"dev": true,
+			"requires": {
+				"jsbn": "~0.1.0",
+				"safer-buffer": "^2.1.0"
+			}
+		},
+		"ee-first": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+			"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+			"dev": true
+		},
+		"ejs": {
+			"version": "2.6.1",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz",
+			"integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==",
+			"dev": true
+		},
+		"electron-to-chromium": {
+			"version": "1.3.113",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz",
+			"integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==",
+			"dev": true
+		},
+		"elliptic": {
+			"version": "6.4.1",
+			"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
+			"integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.4.0",
+				"brorand": "^1.0.1",
+				"hash.js": "^1.0.0",
+				"hmac-drbg": "^1.0.0",
+				"inherits": "^2.0.1",
+				"minimalistic-assert": "^1.0.0",
+				"minimalistic-crypto-utils": "^1.0.0"
+			}
+		},
+		"emoji-regex": {
+			"version": "7.0.3",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+			"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+			"dev": true
+		},
+		"emojis-list": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+			"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+			"dev": true
+		},
+		"emotion": {
+			"version": "9.2.12",
+			"resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz",
+			"integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==",
+			"requires": {
+				"babel-plugin-emotion": "^9.2.11",
+				"create-emotion": "^9.2.12"
+			}
+		},
+		"encodeurl": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+			"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+			"dev": true
+		},
+		"encoding": {
+			"version": "0.1.12",
+			"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+			"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+			"dev": true,
+			"requires": {
+				"iconv-lite": "~0.4.13"
+			}
+		},
+		"end-of-stream": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+			"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+			"dev": true,
+			"requires": {
+				"once": "^1.4.0"
+			}
+		},
+		"enhanced-resolve": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
+			"integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.2",
+				"memory-fs": "^0.4.0",
+				"tapable": "^1.0.0"
+			}
+		},
+		"entities": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+			"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+			"dev": true
+		},
+		"enzyme": {
+			"version": "3.9.0",
+			"resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.9.0.tgz",
+			"integrity": "sha512-JqxI2BRFHbmiP7/UFqvsjxTirWoM1HfeaJrmVSZ9a1EADKkZgdPcAuISPMpoUiHlac9J4dYt81MC5BBIrbJGMg==",
+			"dev": true,
+			"requires": {
+				"array.prototype.flat": "^1.2.1",
+				"cheerio": "^1.0.0-rc.2",
+				"function.prototype.name": "^1.1.0",
+				"has": "^1.0.3",
+				"html-element-map": "^1.0.0",
+				"is-boolean-object": "^1.0.0",
+				"is-callable": "^1.1.4",
+				"is-number-object": "^1.0.3",
+				"is-regex": "^1.0.4",
+				"is-string": "^1.0.4",
+				"is-subset": "^0.1.1",
+				"lodash.escape": "^4.0.1",
+				"lodash.isequal": "^4.5.0",
+				"object-inspect": "^1.6.0",
+				"object-is": "^1.0.1",
+				"object.assign": "^4.1.0",
+				"object.entries": "^1.0.4",
+				"object.values": "^1.0.4",
+				"raf": "^3.4.0",
+				"rst-selector-parser": "^2.2.3",
+				"string.prototype.trim": "^1.1.2"
+			}
+		},
+		"enzyme-adapter-react-16": {
+			"version": "1.11.2",
+			"resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.11.2.tgz",
+			"integrity": "sha512-2ruTTCPRb0lPuw/vKTXGVZVBZqh83MNDnakMhzxhpJcIbneEwNy2Cv0KvL97pl57/GOazJHflWNLjwWhex5AAA==",
+			"dev": true,
+			"requires": {
+				"enzyme-adapter-utils": "^1.10.1",
+				"object.assign": "^4.1.0",
+				"object.values": "^1.1.0",
+				"prop-types": "^15.7.2",
+				"react-is": "^16.8.4",
+				"react-test-renderer": "^16.0.0-0",
+				"semver": "^5.6.0"
+			},
+			"dependencies": {
+				"prop-types": {
+					"version": "15.7.2",
+					"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
+					"integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+					"dev": true,
+					"requires": {
+						"loose-envify": "^1.4.0",
+						"object-assign": "^4.1.1",
+						"react-is": "^16.8.1"
+					}
+				}
+			}
+		},
+		"enzyme-adapter-utils": {
+			"version": "1.10.1",
+			"resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.10.1.tgz",
+			"integrity": "sha512-oasinhhLoBuZsIkTe8mx0HiudtfErUtG0Ooe1FOplu/t4c9rOmyG5gtrBASK6u4whHIRWvv0cbZMElzNTR21SA==",
+			"dev": true,
+			"requires": {
+				"function.prototype.name": "^1.1.0",
+				"object.assign": "^4.1.0",
+				"object.fromentries": "^2.0.0",
+				"prop-types": "^15.7.2",
+				"semver": "^5.6.0"
+			},
+			"dependencies": {
+				"prop-types": {
+					"version": "15.7.2",
+					"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
+					"integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+					"dev": true,
+					"requires": {
+						"loose-envify": "^1.4.0",
+						"object-assign": "^4.1.1",
+						"react-is": "^16.8.1"
+					}
+				}
+			}
+		},
+		"enzyme-to-json": {
+			"version": "3.3.5",
+			"resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz",
+			"integrity": "sha512-DmH1wJ68HyPqKSYXdQqB33ZotwfUhwQZW3IGXaNXgR69Iodaoj8TF/D9RjLdz4pEhGq2Tx2zwNUIjBuqoZeTgA==",
+			"dev": true,
+			"requires": {
+				"lodash": "^4.17.4"
+			}
+		},
+		"errno": {
+			"version": "0.1.7",
+			"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+			"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+			"dev": true,
+			"requires": {
+				"prr": "~1.0.1"
+			}
+		},
+		"error": {
+			"version": "7.0.2",
+			"resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
+			"integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
+			"dev": true,
+			"requires": {
+				"string-template": "~0.2.1",
+				"xtend": "~4.0.0"
+			}
+		},
+		"error-ex": {
+			"version": "1.3.2",
+			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+			"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+			"requires": {
+				"is-arrayish": "^0.2.1"
+			}
+		},
+		"es-abstract": {
+			"version": "1.13.0",
+			"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
+			"integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
+			"dev": true,
+			"requires": {
+				"es-to-primitive": "^1.2.0",
+				"function-bind": "^1.1.1",
+				"has": "^1.0.3",
+				"is-callable": "^1.1.4",
+				"is-regex": "^1.0.4",
+				"object-keys": "^1.0.12"
+			}
+		},
+		"es-to-primitive": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
+			"integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+			"dev": true,
+			"requires": {
+				"is-callable": "^1.1.4",
+				"is-date-object": "^1.0.1",
+				"is-symbol": "^1.0.2"
+			}
+		},
+		"es6-promise": {
+			"version": "4.2.6",
+			"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
+			"integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==",
+			"dev": true
+		},
+		"es6-promisify": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+			"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+			"dev": true,
+			"requires": {
+				"es6-promise": "^4.0.3"
+			}
+		},
+		"escape-html": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+			"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+			"dev": true
+		},
+		"escape-string-regexp": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+			"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+			"dev": true
+		},
+		"escodegen": {
+			"version": "1.11.1",
+			"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz",
+			"integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==",
+			"dev": true,
+			"requires": {
+				"esprima": "^3.1.3",
+				"estraverse": "^4.2.0",
+				"esutils": "^2.0.2",
+				"optionator": "^0.8.1",
+				"source-map": "~0.6.1"
+			},
+			"dependencies": {
+				"esprima": {
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+					"integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+					"dev": true
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true,
+					"optional": true
+				}
+			}
+		},
+		"eslint": {
+			"version": "5.15.3",
+			"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.15.3.tgz",
+			"integrity": "sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "^7.0.0",
+				"ajv": "^6.9.1",
+				"chalk": "^2.1.0",
+				"cross-spawn": "^6.0.5",
+				"debug": "^4.0.1",
+				"doctrine": "^3.0.0",
+				"eslint-scope": "^4.0.3",
+				"eslint-utils": "^1.3.1",
+				"eslint-visitor-keys": "^1.0.0",
+				"espree": "^5.0.1",
+				"esquery": "^1.0.1",
+				"esutils": "^2.0.2",
+				"file-entry-cache": "^5.0.1",
+				"functional-red-black-tree": "^1.0.1",
+				"glob": "^7.1.2",
+				"globals": "^11.7.0",
+				"ignore": "^4.0.6",
+				"import-fresh": "^3.0.0",
+				"imurmurhash": "^0.1.4",
+				"inquirer": "^6.2.2",
+				"js-yaml": "^3.12.0",
+				"json-stable-stringify-without-jsonify": "^1.0.1",
+				"levn": "^0.3.0",
+				"lodash": "^4.17.11",
+				"minimatch": "^3.0.4",
+				"mkdirp": "^0.5.1",
+				"natural-compare": "^1.4.0",
+				"optionator": "^0.8.2",
+				"path-is-inside": "^1.0.2",
+				"progress": "^2.0.0",
+				"regexpp": "^2.0.1",
+				"semver": "^5.5.1",
+				"strip-ansi": "^4.0.0",
+				"strip-json-comments": "^2.0.1",
+				"table": "^5.2.3",
+				"text-table": "^0.2.0"
+			},
+			"dependencies": {
+				"ajv": {
+					"version": "6.10.0",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
+					"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
+					"dev": true,
+					"requires": {
+						"fast-deep-equal": "^2.0.1",
+						"fast-json-stable-stringify": "^2.0.0",
+						"json-schema-traverse": "^0.4.1",
+						"uri-js": "^4.2.2"
+					}
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"doctrine": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+					"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2"
+					}
+				},
+				"eslint-scope": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+					"integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+					"dev": true,
+					"requires": {
+						"esrecurse": "^4.1.0",
+						"estraverse": "^4.1.1"
+					}
+				},
+				"import-fresh": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz",
+					"integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==",
+					"dev": true,
+					"requires": {
+						"parent-module": "^1.0.0",
+						"resolve-from": "^4.0.0"
+					}
+				},
+				"resolve-from": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+					"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+					"dev": true
+				}
+			}
+		},
+		"eslint-plugin-jsx-a11y": {
+			"version": "6.2.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz",
+			"integrity": "sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w==",
+			"dev": true,
+			"requires": {
+				"aria-query": "^3.0.0",
+				"array-includes": "^3.0.3",
+				"ast-types-flow": "^0.0.7",
+				"axobject-query": "^2.0.2",
+				"damerau-levenshtein": "^1.0.4",
+				"emoji-regex": "^7.0.2",
+				"has": "^1.0.3",
+				"jsx-ast-utils": "^2.0.1"
+			}
+		},
+		"eslint-plugin-react": {
+			"version": "7.12.4",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz",
+			"integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==",
+			"dev": true,
+			"requires": {
+				"array-includes": "^3.0.3",
+				"doctrine": "^2.1.0",
+				"has": "^1.0.3",
+				"jsx-ast-utils": "^2.0.1",
+				"object.fromentries": "^2.0.0",
+				"prop-types": "^15.6.2",
+				"resolve": "^1.9.0"
+			}
+		},
+		"eslint-scope": {
+			"version": "3.7.1",
+			"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+			"integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
+			"dev": true,
+			"requires": {
+				"esrecurse": "^4.1.0",
+				"estraverse": "^4.1.1"
+			}
+		},
+		"eslint-utils": {
+			"version": "1.3.1",
+			"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz",
+			"integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==",
+			"dev": true
+		},
+		"eslint-visitor-keys": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+			"integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+			"dev": true
+		},
+		"espree": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
+			"integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
+			"dev": true,
+			"requires": {
+				"acorn": "^6.0.7",
+				"acorn-jsx": "^5.0.0",
+				"eslint-visitor-keys": "^1.0.0"
+			},
+			"dependencies": {
+				"acorn": {
+					"version": "6.1.1",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz",
+					"integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==",
+					"dev": true
+				}
+			}
+		},
+		"esprima": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+			"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+		},
+		"esquery": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
+			"integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+			"dev": true,
+			"requires": {
+				"estraverse": "^4.0.0"
+			}
+		},
+		"esrecurse": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+			"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+			"dev": true,
+			"requires": {
+				"estraverse": "^4.1.0"
+			}
+		},
+		"estraverse": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+			"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+			"dev": true
+		},
+		"esutils": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+			"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+		},
+		"etag": {
+			"version": "1.8.1",
+			"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+			"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+			"dev": true
+		},
+		"events": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+			"integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
+			"dev": true
+		},
+		"evp_bytestokey": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+			"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+			"dev": true,
+			"requires": {
+				"md5.js": "^1.3.4",
+				"safe-buffer": "^5.1.1"
+			}
+		},
+		"exec-sh": {
+			"version": "0.3.2",
+			"resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz",
+			"integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==",
+			"dev": true
+		},
+		"execa": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+			"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+			"dev": true,
+			"requires": {
+				"cross-spawn": "^6.0.0",
+				"get-stream": "^4.0.0",
+				"is-stream": "^1.1.0",
+				"npm-run-path": "^2.0.0",
+				"p-finally": "^1.0.0",
+				"signal-exit": "^3.0.0",
+				"strip-eof": "^1.0.0"
+			}
+		},
+		"execall": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
+			"integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
+			"dev": true,
+			"requires": {
+				"clone-regexp": "^1.0.0"
+			}
+		},
+		"exit": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+			"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+			"dev": true
+		},
+		"expand-brackets": {
+			"version": "2.1.4",
+			"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+			"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+			"dev": true,
+			"requires": {
+				"debug": "^2.3.3",
+				"define-property": "^0.2.5",
+				"extend-shallow": "^2.0.1",
+				"posix-character-classes": "^0.1.0",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.1"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"define-property": {
+					"version": "0.2.5",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^0.1.0"
+					}
+				},
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"expand-tilde": {
+			"version": "1.2.2",
+			"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+			"integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
+			"dev": true,
+			"requires": {
+				"os-homedir": "^1.0.1"
+			}
+		},
+		"expect": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-24.5.0.tgz",
+			"integrity": "sha512-p2Gmc0CLxOgkyA93ySWmHFYHUPFIHG6XZ06l7WArWAsrqYVaVEkOU5NtT5i68KUyGKbkQgDCkiT65bWmdoL6Bw==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"ansi-styles": "^3.2.0",
+				"jest-get-type": "^24.3.0",
+				"jest-matcher-utils": "^24.5.0",
+				"jest-message-util": "^24.5.0",
+				"jest-regex-util": "^24.3.0"
+			}
+		},
+		"expect-puppeteer": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-4.1.0.tgz",
+			"integrity": "sha512-X6hn3xujENCtwCZL73qqqfNZFgJZSAHEd4kfx5gpYkkyXf8ltIhu2+Bj8Cu4akSW1izrwoXWQ0YEqqMhgC7K7Q==",
+			"dev": true
+		},
+		"express": {
+			"version": "4.16.4",
+			"resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
+			"integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
+			"dev": true,
+			"requires": {
+				"accepts": "~1.3.5",
+				"array-flatten": "1.1.1",
+				"body-parser": "1.18.3",
+				"content-disposition": "0.5.2",
+				"content-type": "~1.0.4",
+				"cookie": "0.3.1",
+				"cookie-signature": "1.0.6",
+				"debug": "2.6.9",
+				"depd": "~1.1.2",
+				"encodeurl": "~1.0.2",
+				"escape-html": "~1.0.3",
+				"etag": "~1.8.1",
+				"finalhandler": "1.1.1",
+				"fresh": "0.5.2",
+				"merge-descriptors": "1.0.1",
+				"methods": "~1.1.2",
+				"on-finished": "~2.3.0",
+				"parseurl": "~1.3.2",
+				"path-to-regexp": "0.1.7",
+				"proxy-addr": "~2.0.4",
+				"qs": "6.5.2",
+				"range-parser": "~1.2.0",
+				"safe-buffer": "5.1.2",
+				"send": "0.16.2",
+				"serve-static": "1.13.2",
+				"setprototypeof": "1.1.0",
+				"statuses": "~1.4.0",
+				"type-is": "~1.6.16",
+				"utils-merge": "1.0.1",
+				"vary": "~1.1.2"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"extend": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+			"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+			"dev": true
+		},
+		"extend-shallow": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+			"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+			"dev": true,
+			"requires": {
+				"assign-symbols": "^1.0.0",
+				"is-extendable": "^1.0.1"
+			},
+			"dependencies": {
+				"is-extendable": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+					"dev": true,
+					"requires": {
+						"is-plain-object": "^2.0.4"
+					}
+				}
+			}
+		},
+		"external-editor": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
+			"integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
+			"dev": true,
+			"requires": {
+				"chardet": "^0.7.0",
+				"iconv-lite": "^0.4.24",
+				"tmp": "^0.0.33"
+			}
+		},
+		"extglob": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+			"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+			"dev": true,
+			"requires": {
+				"array-unique": "^0.3.2",
+				"define-property": "^1.0.0",
+				"expand-brackets": "^2.1.4",
+				"extend-shallow": "^2.0.1",
+				"fragment-cache": "^0.2.1",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.1"
+			},
+			"dependencies": {
+				"define-property": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^1.0.0"
+					}
+				},
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				},
+				"is-accessor-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-data-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-descriptor": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+					"dev": true,
+					"requires": {
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
+					}
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				}
+			}
+		},
+		"extract-zip": {
+			"version": "1.6.7",
+			"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
+			"integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+			"dev": true,
+			"requires": {
+				"concat-stream": "1.6.2",
+				"debug": "2.6.9",
+				"mkdirp": "0.5.1",
+				"yauzl": "2.4.1"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"extsprintf": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+			"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+			"dev": true
+		},
+		"fast-deep-equal": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+			"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+			"dev": true
+		},
+		"fast-glob": {
+			"version": "2.2.6",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz",
+			"integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==",
+			"dev": true,
+			"requires": {
+				"@mrmlnc/readdir-enhanced": "^2.2.1",
+				"@nodelib/fs.stat": "^1.1.2",
+				"glob-parent": "^3.1.0",
+				"is-glob": "^4.0.0",
+				"merge2": "^1.2.3",
+				"micromatch": "^3.1.10"
+			}
+		},
+		"fast-json-stable-stringify": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+			"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+			"dev": true
+		},
+		"fast-levenshtein": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+			"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+			"dev": true
+		},
+		"fastparse": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+			"integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
+			"dev": true
+		},
+		"faye-websocket": {
+			"version": "0.10.0",
+			"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+			"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+			"dev": true,
+			"requires": {
+				"websocket-driver": ">=0.5.1"
+			}
+		},
+		"fb-watchman": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
+			"integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+			"dev": true,
+			"requires": {
+				"bser": "^2.0.0"
+			}
+		},
+		"fd-slicer": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+			"integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+			"dev": true,
+			"requires": {
+				"pend": "~1.2.0"
+			}
+		},
+		"figures": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+			"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+			"dev": true,
+			"requires": {
+				"escape-string-regexp": "^1.0.5"
+			}
+		},
+		"file-entry-cache": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+			"integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+			"dev": true,
+			"requires": {
+				"flat-cache": "^2.0.1"
+			}
+		},
+		"fileset": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+			"integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+			"dev": true,
+			"requires": {
+				"glob": "^7.0.3",
+				"minimatch": "^3.0.3"
+			}
+		},
+		"filesize": {
+			"version": "3.6.1",
+			"resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
+			"integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
+			"dev": true
+		},
+		"fill-range": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+			"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+			"dev": true,
+			"requires": {
+				"extend-shallow": "^2.0.1",
+				"is-number": "^3.0.0",
+				"repeat-string": "^1.6.1",
+				"to-regex-range": "^2.1.0"
+			},
+			"dependencies": {
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				}
+			}
+		},
+		"finalhandler": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
+			"integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
+			"dev": true,
+			"requires": {
+				"debug": "2.6.9",
+				"encodeurl": "~1.0.2",
+				"escape-html": "~1.0.3",
+				"on-finished": "~2.3.0",
+				"parseurl": "~1.3.2",
+				"statuses": "~1.4.0",
+				"unpipe": "~1.0.0"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"find-cache-dir": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+			"integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
+			"dev": true,
+			"requires": {
+				"commondir": "^1.0.1",
+				"make-dir": "^1.0.0",
+				"pkg-dir": "^2.0.0"
+			}
+		},
+		"find-file-up": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz",
+			"integrity": "sha1-z2gJG8+fMApA2kEbN9pczlovvqA=",
+			"dev": true,
+			"requires": {
+				"fs-exists-sync": "^0.1.0",
+				"resolve-dir": "^0.1.0"
+			}
+		},
+		"find-parent-dir": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz",
+			"integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=",
+			"dev": true
+		},
+		"find-pkg": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz",
+			"integrity": "sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=",
+			"dev": true,
+			"requires": {
+				"find-file-up": "^0.1.2"
+			}
+		},
+		"find-process": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.1.tgz",
+			"integrity": "sha512-RkYWDeukxEoDKUyocqMGKAYuwhSwq77zL99gCqhX9czWon3otdlzihJ0MSZ6YWNKHyvS/MN2YR4+RGYOuIEANg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.0.1",
+				"commander": "^2.11.0",
+				"debug": "^2.6.8"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"find-root": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+			"integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
+		},
+		"find-up": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+			"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+			"dev": true,
+			"requires": {
+				"locate-path": "^3.0.0"
+			}
+		},
+		"findup-sync": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+			"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+			"dev": true,
+			"requires": {
+				"detect-file": "^1.0.0",
+				"is-glob": "^3.1.0",
+				"micromatch": "^3.0.4",
+				"resolve-dir": "^1.0.1"
+			},
+			"dependencies": {
+				"expand-tilde": {
+					"version": "2.0.2",
+					"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+					"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+					"dev": true,
+					"requires": {
+						"homedir-polyfill": "^1.0.1"
+					}
+				},
+				"global-modules": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+					"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+					"dev": true,
+					"requires": {
+						"global-prefix": "^1.0.1",
+						"is-windows": "^1.0.1",
+						"resolve-dir": "^1.0.0"
+					}
+				},
+				"global-prefix": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+					"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+					"dev": true,
+					"requires": {
+						"expand-tilde": "^2.0.2",
+						"homedir-polyfill": "^1.0.1",
+						"ini": "^1.3.4",
+						"is-windows": "^1.0.1",
+						"which": "^1.2.14"
+					}
+				},
+				"is-glob": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+					"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+					"dev": true,
+					"requires": {
+						"is-extglob": "^2.1.0"
+					}
+				},
+				"resolve-dir": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+					"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+					"dev": true,
+					"requires": {
+						"expand-tilde": "^2.0.0",
+						"global-modules": "^1.0.0"
+					}
+				}
+			}
+		},
+		"flat-cache": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+			"integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+			"dev": true,
+			"requires": {
+				"flatted": "^2.0.0",
+				"rimraf": "2.6.3",
+				"write": "1.0.3"
+			}
+		},
+		"flatted": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
+			"integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==",
+			"dev": true
+		},
+		"flush-write-stream": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.0.tgz",
+			"integrity": "sha512-6MHED/cmsyux1G4/Cek2Z776y9t7WCNd3h2h/HW91vFeU7pzMhA8XvAlDhHcanG5IWuIh/xcC7JASY4WQpG6xg==",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.3",
+				"readable-stream": "^3.1.1"
+			}
+		},
+		"for-in": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+			"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+			"dev": true
+		},
+		"for-own": {
+			"version": "0.1.5",
+			"resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+			"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+			"dev": true,
+			"requires": {
+				"for-in": "^1.0.1"
+			}
+		},
+		"forever-agent": {
+			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+			"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+			"dev": true
+		},
+		"form-data": {
+			"version": "2.3.3",
+			"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+			"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+			"dev": true,
+			"requires": {
+				"asynckit": "^0.4.0",
+				"combined-stream": "^1.0.6",
+				"mime-types": "^2.1.12"
+			}
+		},
+		"forwarded": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+			"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+			"dev": true
+		},
+		"fragment-cache": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+			"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+			"dev": true,
+			"requires": {
+				"map-cache": "^0.2.2"
+			}
+		},
+		"fresh": {
+			"version": "0.5.2",
+			"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+			"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+			"dev": true
+		},
+		"from2": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+			"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.1",
+				"readable-stream": "^2.0.0"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"fs-exists-sync": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
+			"integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
+			"dev": true
+		},
+		"fs-write-stream-atomic": {
+			"version": "1.0.10",
+			"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+			"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.2",
+				"iferr": "^0.1.5",
+				"imurmurhash": "^0.1.4",
+				"readable-stream": "1 || 2"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"fs.realpath": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+			"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+			"dev": true
+		},
+		"fsevents": {
+			"version": "1.2.7",
+			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
+			"integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"nan": "^2.9.2",
+				"node-pre-gyp": "^0.10.0"
+			},
+			"dependencies": {
+				"abbrev": {
+					"version": "1.1.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"ansi-regex": {
+					"version": "2.1.1",
+					"bundled": true,
+					"dev": true
+				},
+				"aproba": {
+					"version": "1.2.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"are-we-there-yet": {
+					"version": "1.1.5",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"delegates": "^1.0.0",
+						"readable-stream": "^2.0.6"
+					}
+				},
+				"balanced-match": {
+					"version": "1.0.0",
+					"bundled": true,
+					"dev": true
+				},
+				"brace-expansion": {
+					"version": "1.1.11",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"balanced-match": "^1.0.0",
+						"concat-map": "0.0.1"
+					}
+				},
+				"chownr": {
+					"version": "1.1.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"code-point-at": {
+					"version": "1.1.0",
+					"bundled": true,
+					"dev": true
+				},
+				"concat-map": {
+					"version": "0.0.1",
+					"bundled": true,
+					"dev": true
+				},
+				"console-control-strings": {
+					"version": "1.1.0",
+					"bundled": true,
+					"dev": true
+				},
+				"core-util-is": {
+					"version": "1.0.2",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"debug": {
+					"version": "2.6.9",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"deep-extend": {
+					"version": "0.6.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"delegates": {
+					"version": "1.0.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"detect-libc": {
+					"version": "1.0.3",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"fs-minipass": {
+					"version": "1.2.5",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"minipass": "^2.2.1"
+					}
+				},
+				"fs.realpath": {
+					"version": "1.0.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"gauge": {
+					"version": "2.7.4",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"aproba": "^1.0.3",
+						"console-control-strings": "^1.0.0",
+						"has-unicode": "^2.0.0",
+						"object-assign": "^4.1.0",
+						"signal-exit": "^3.0.0",
+						"string-width": "^1.0.1",
+						"strip-ansi": "^3.0.1",
+						"wide-align": "^1.1.0"
+					}
+				},
+				"glob": {
+					"version": "7.1.3",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"fs.realpath": "^1.0.0",
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "^3.0.4",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
+					}
+				},
+				"has-unicode": {
+					"version": "2.0.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"iconv-lite": {
+					"version": "0.4.24",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"safer-buffer": ">= 2.1.2 < 3"
+					}
+				},
+				"ignore-walk": {
+					"version": "3.0.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"minimatch": "^3.0.4"
+					}
+				},
+				"inflight": {
+					"version": "1.0.6",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"once": "^1.3.0",
+						"wrappy": "1"
+					}
+				},
+				"inherits": {
+					"version": "2.0.3",
+					"bundled": true,
+					"dev": true
+				},
+				"ini": {
+					"version": "1.3.5",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"is-fullwidth-code-point": {
+					"version": "1.0.0",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"number-is-nan": "^1.0.0"
+					}
+				},
+				"isarray": {
+					"version": "1.0.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"minimatch": {
+					"version": "3.0.4",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				},
+				"minimist": {
+					"version": "0.0.8",
+					"bundled": true,
+					"dev": true
+				},
+				"minipass": {
+					"version": "2.3.5",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"safe-buffer": "^5.1.2",
+						"yallist": "^3.0.0"
+					}
+				},
+				"minizlib": {
+					"version": "1.2.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"minipass": "^2.2.1"
+					}
+				},
+				"mkdirp": {
+					"version": "0.5.1",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"minimist": "0.0.8"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"needle": {
+					"version": "2.2.4",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"debug": "^2.1.2",
+						"iconv-lite": "^0.4.4",
+						"sax": "^1.2.4"
+					}
+				},
+				"node-pre-gyp": {
+					"version": "0.10.3",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"detect-libc": "^1.0.2",
+						"mkdirp": "^0.5.1",
+						"needle": "^2.2.1",
+						"nopt": "^4.0.1",
+						"npm-packlist": "^1.1.6",
+						"npmlog": "^4.0.2",
+						"rc": "^1.2.7",
+						"rimraf": "^2.6.1",
+						"semver": "^5.3.0",
+						"tar": "^4"
+					}
+				},
+				"nopt": {
+					"version": "4.0.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"abbrev": "1",
+						"osenv": "^0.1.4"
+					}
+				},
+				"npm-bundled": {
+					"version": "1.0.5",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"npm-packlist": {
+					"version": "1.2.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"ignore-walk": "^3.0.1",
+						"npm-bundled": "^1.0.1"
+					}
+				},
+				"npmlog": {
+					"version": "4.1.2",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"are-we-there-yet": "~1.1.2",
+						"console-control-strings": "~1.1.0",
+						"gauge": "~2.7.3",
+						"set-blocking": "~2.0.0"
+					}
+				},
+				"number-is-nan": {
+					"version": "1.0.1",
+					"bundled": true,
+					"dev": true
+				},
+				"object-assign": {
+					"version": "4.1.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"once": {
+					"version": "1.4.0",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"wrappy": "1"
+					}
+				},
+				"os-homedir": {
+					"version": "1.0.2",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"os-tmpdir": {
+					"version": "1.0.2",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"osenv": {
+					"version": "0.1.5",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"os-homedir": "^1.0.0",
+						"os-tmpdir": "^1.0.0"
+					}
+				},
+				"path-is-absolute": {
+					"version": "1.0.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"process-nextick-args": {
+					"version": "2.0.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"rc": {
+					"version": "1.2.8",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"deep-extend": "^0.6.0",
+						"ini": "~1.3.0",
+						"minimist": "^1.2.0",
+						"strip-json-comments": "~2.0.1"
+					},
+					"dependencies": {
+						"minimist": {
+							"version": "1.2.0",
+							"bundled": true,
+							"dev": true,
+							"optional": true
+						}
+					}
+				},
+				"readable-stream": {
+					"version": "2.3.6",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"rimraf": {
+					"version": "2.6.3",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"glob": "^7.1.3"
+					}
+				},
+				"safe-buffer": {
+					"version": "5.1.2",
+					"bundled": true,
+					"dev": true
+				},
+				"safer-buffer": {
+					"version": "2.1.2",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"sax": {
+					"version": "1.2.4",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"semver": {
+					"version": "5.6.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"set-blocking": {
+					"version": "2.0.0",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"signal-exit": {
+					"version": "3.0.2",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"string-width": {
+					"version": "1.0.2",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"code-point-at": "^1.0.0",
+						"is-fullwidth-code-point": "^1.0.0",
+						"strip-ansi": "^3.0.0"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				},
+				"strip-json-comments": {
+					"version": "2.0.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"tar": {
+					"version": "4.4.8",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"chownr": "^1.1.1",
+						"fs-minipass": "^1.2.5",
+						"minipass": "^2.3.4",
+						"minizlib": "^1.1.1",
+						"mkdirp": "^0.5.0",
+						"safe-buffer": "^5.1.2",
+						"yallist": "^3.0.2"
+					}
+				},
+				"util-deprecate": {
+					"version": "1.0.2",
+					"bundled": true,
+					"dev": true,
+					"optional": true
+				},
+				"wide-align": {
+					"version": "1.1.3",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"string-width": "^1.0.2 || 2"
+					}
+				},
+				"wrappy": {
+					"version": "1.0.2",
+					"bundled": true,
+					"dev": true
+				},
+				"yallist": {
+					"version": "3.0.3",
+					"bundled": true,
+					"dev": true
+				}
+			}
+		},
+		"fstream": {
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+			"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.2",
+				"inherits": "~2.0.0",
+				"mkdirp": ">=0.5 0",
+				"rimraf": "2"
+			}
+		},
+		"function-bind": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+			"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+			"dev": true
+		},
+		"function.prototype.name": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz",
+			"integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"function-bind": "^1.1.1",
+				"is-callable": "^1.1.3"
+			}
+		},
+		"functional-red-black-tree": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+			"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+			"dev": true
+		},
+		"gauge": {
+			"version": "2.7.4",
+			"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+			"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+			"dev": true,
+			"requires": {
+				"aproba": "^1.0.3",
+				"console-control-strings": "^1.0.0",
+				"has-unicode": "^2.0.0",
+				"object-assign": "^4.1.0",
+				"signal-exit": "^3.0.0",
+				"string-width": "^1.0.1",
+				"strip-ansi": "^3.0.1",
+				"wide-align": "^1.1.0"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				},
+				"is-fullwidth-code-point": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+					"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+					"dev": true,
+					"requires": {
+						"number-is-nan": "^1.0.0"
+					}
+				},
+				"string-width": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+					"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+					"dev": true,
+					"requires": {
+						"code-point-at": "^1.0.0",
+						"is-fullwidth-code-point": "^1.0.0",
+						"strip-ansi": "^3.0.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				}
+			}
+		},
+		"gaze": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+			"integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+			"dev": true,
+			"requires": {
+				"globule": "^1.0.0"
+			}
+		},
+		"get-caller-file": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+			"integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+			"dev": true
+		},
+		"get-stdin": {
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
+			"integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
+			"dev": true
+		},
+		"get-stream": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+			"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+			"dev": true,
+			"requires": {
+				"pump": "^3.0.0"
+			}
+		},
+		"get-value": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+			"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+			"dev": true
+		},
+		"getpass": {
+			"version": "0.1.7",
+			"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+			"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0"
+			}
+		},
+		"gettext-parser": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
+			"integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==",
+			"dev": true,
+			"requires": {
+				"encoding": "^0.1.12",
+				"safe-buffer": "^5.1.1"
+			}
+		},
+		"glob": {
+			"version": "7.1.3",
+			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+			"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+			"dev": true,
+			"requires": {
+				"fs.realpath": "^1.0.0",
+				"inflight": "^1.0.4",
+				"inherits": "2",
+				"minimatch": "^3.0.4",
+				"once": "^1.3.0",
+				"path-is-absolute": "^1.0.0"
+			}
+		},
+		"glob-parent": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+			"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+			"dev": true,
+			"requires": {
+				"is-glob": "^3.1.0",
+				"path-dirname": "^1.0.0"
+			},
+			"dependencies": {
+				"is-glob": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+					"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+					"dev": true,
+					"requires": {
+						"is-extglob": "^2.1.0"
+					}
+				}
+			}
+		},
+		"glob-to-regexp": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+			"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+			"dev": true
+		},
+		"global-modules": {
+			"version": "0.2.3",
+			"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
+			"integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
+			"dev": true,
+			"requires": {
+				"global-prefix": "^0.1.4",
+				"is-windows": "^0.2.0"
+			},
+			"dependencies": {
+				"is-windows": {
+					"version": "0.2.0",
+					"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+					"integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
+					"dev": true
+				}
+			}
+		},
+		"global-modules-path": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz",
+			"integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==",
+			"dev": true
+		},
+		"global-prefix": {
+			"version": "0.1.5",
+			"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
+			"integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
+			"dev": true,
+			"requires": {
+				"homedir-polyfill": "^1.0.0",
+				"ini": "^1.3.4",
+				"is-windows": "^0.2.0",
+				"which": "^1.2.12"
+			},
+			"dependencies": {
+				"is-windows": {
+					"version": "0.2.0",
+					"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+					"integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
+					"dev": true
+				}
+			}
+		},
+		"globals": {
+			"version": "11.10.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz",
+			"integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==",
+			"dev": true
+		},
+		"globby": {
+			"version": "9.1.0",
+			"resolved": "https://registry.npmjs.org/globby/-/globby-9.1.0.tgz",
+			"integrity": "sha512-VtYjhHr7ncls724Of5W6Kaahz0ag7dB4G62/2HsN+xEKG6SrPzM1AJMerGxQTwJGnN9reeyxdvXbuZYpfssCvg==",
+			"dev": true,
+			"requires": {
+				"@types/glob": "^7.1.1",
+				"array-union": "^1.0.2",
+				"dir-glob": "^2.2.1",
+				"fast-glob": "^2.2.6",
+				"glob": "^7.1.3",
+				"ignore": "^4.0.3",
+				"pify": "^4.0.1",
+				"slash": "^2.0.0"
+			},
+			"dependencies": {
+				"pify": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+					"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+					"dev": true
+				}
+			}
+		},
+		"globjoin": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+			"integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
+			"dev": true
+		},
+		"globule": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+			"integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+			"dev": true,
+			"requires": {
+				"glob": "~7.1.1",
+				"lodash": "~4.17.10",
+				"minimatch": "~3.0.2"
+			}
+		},
+		"gonzales-pe": {
+			"version": "4.2.4",
+			"resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz",
+			"integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==",
+			"dev": true,
+			"requires": {
+				"minimist": "1.1.x"
+			},
+			"dependencies": {
+				"minimist": {
+					"version": "1.1.3",
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
+					"integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
+					"dev": true
+				}
+			}
+		},
+		"graceful-fs": {
+			"version": "4.1.15",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+			"integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+			"dev": true
+		},
+		"growly": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+			"integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+			"dev": true
+		},
+		"gzip-size": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz",
+			"integrity": "sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==",
+			"dev": true,
+			"requires": {
+				"duplexer": "^0.1.1",
+				"pify": "^3.0.0"
+			},
+			"dependencies": {
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				}
+			}
+		},
+		"handlebars": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.1.tgz",
+			"integrity": "sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA==",
+			"dev": true,
+			"requires": {
+				"neo-async": "^2.6.0",
+				"optimist": "^0.6.1",
+				"source-map": "^0.6.1",
+				"uglify-js": "^3.1.4"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"har-schema": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+			"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+			"dev": true
+		},
+		"har-validator": {
+			"version": "5.1.3",
+			"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+			"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+			"dev": true,
+			"requires": {
+				"ajv": "^6.5.5",
+				"har-schema": "^2.0.0"
+			}
+		},
+		"has": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+			"dev": true,
+			"requires": {
+				"function-bind": "^1.1.1"
+			}
+		},
+		"has-ansi": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+			"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+			"dev": true,
+			"requires": {
+				"ansi-regex": "^2.0.0"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				}
+			}
+		},
+		"has-flag": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+			"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+			"dev": true
+		},
+		"has-symbols": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+			"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+			"dev": true
+		},
+		"has-unicode": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+			"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+			"dev": true
+		},
+		"has-value": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+			"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+			"dev": true,
+			"requires": {
+				"get-value": "^2.0.6",
+				"has-values": "^1.0.0",
+				"isobject": "^3.0.0"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
+			}
+		},
+		"has-values": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+			"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+			"dev": true,
+			"requires": {
+				"is-number": "^3.0.0",
+				"kind-of": "^4.0.0"
+			},
+			"dependencies": {
+				"is-number": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+					"dev": true,
+					"requires": {
+						"kind-of": "^3.0.2"
+					},
+					"dependencies": {
+						"kind-of": {
+							"version": "3.2.2",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+							"dev": true,
+							"requires": {
+								"is-buffer": "^1.1.5"
+							}
+						}
+					}
+				},
+				"kind-of": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+					"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+					"dev": true,
+					"requires": {
+						"is-buffer": "^1.1.5"
+					}
+				}
+			}
+		},
+		"hash-base": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+			"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.0.1"
+			}
+		},
+		"hash.js": {
+			"version": "1.1.7",
+			"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+			"integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.3",
+				"minimalistic-assert": "^1.0.1"
+			}
+		},
+		"hmac-drbg": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+			"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+			"dev": true,
+			"requires": {
+				"hash.js": "^1.0.3",
+				"minimalistic-assert": "^1.0.0",
+				"minimalistic-crypto-utils": "^1.0.1"
+			}
+		},
+		"homedir-polyfill": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+			"integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+			"dev": true,
+			"requires": {
+				"parse-passwd": "^1.0.0"
+			}
+		},
+		"hoopy": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
+			"integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==",
+			"dev": true
+		},
+		"hosted-git-info": {
+			"version": "2.7.1",
+			"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+			"integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+			"dev": true
+		},
+		"html-element-map": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.0.0.tgz",
+			"integrity": "sha512-/SP6aOiM5Ai9zALvCxDubIeez0LvG3qP7R9GcRDnJEP/HBmv0A8A9K0o8+HFudcFt46+i921ANjzKsjPjb7Enw==",
+			"dev": true,
+			"requires": {
+				"array-filter": "^1.0.0"
+			}
+		},
+		"html-encoding-sniffer": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+			"integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+			"dev": true,
+			"requires": {
+				"whatwg-encoding": "^1.0.1"
+			}
+		},
+		"html-tags": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
+			"integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
+			"dev": true
+		},
+		"htmlparser2": {
+			"version": "3.10.1",
+			"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+			"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+			"dev": true,
+			"requires": {
+				"domelementtype": "^1.3.1",
+				"domhandler": "^2.3.0",
+				"domutils": "^1.5.1",
+				"entities": "^1.1.1",
+				"inherits": "^2.0.1",
+				"readable-stream": "^3.1.1"
+			}
+		},
+		"http-errors": {
+			"version": "1.6.3",
+			"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+			"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+			"dev": true,
+			"requires": {
+				"depd": "~1.1.2",
+				"inherits": "2.0.3",
+				"setprototypeof": "1.1.0",
+				"statuses": ">= 1.4.0 < 2"
+			}
+		},
+		"http-parser-js": {
+			"version": "0.5.0",
+			"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
+			"integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
+			"dev": true
+		},
+		"http-signature": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+			"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0",
+				"jsprim": "^1.2.2",
+				"sshpk": "^1.7.0"
+			}
+		},
+		"https-browserify": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+			"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+			"dev": true
+		},
+		"https-proxy-agent": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
+			"integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
+			"dev": true,
+			"requires": {
+				"agent-base": "^4.1.0",
+				"debug": "^3.1.0"
+			}
+		},
+		"iconv-lite": {
+			"version": "0.4.24",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+			"dev": true,
+			"requires": {
+				"safer-buffer": ">= 2.1.2 < 3"
+			}
+		},
+		"icss-replace-symbols": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+			"integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+			"dev": true
+		},
+		"icss-utils": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
+			"integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+			"dev": true,
+			"requires": {
+				"postcss": "^6.0.1"
+			},
+			"dependencies": {
+				"postcss": {
+					"version": "6.0.23",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+					"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"ieee754": {
+			"version": "1.1.12",
+			"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
+			"integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
+			"dev": true
+		},
+		"iferr": {
+			"version": "0.1.5",
+			"resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+			"integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+			"dev": true
+		},
+		"ignore": {
+			"version": "4.0.6",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+			"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+			"dev": true
+		},
+		"import-fresh": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+			"integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+			"requires": {
+				"caller-path": "^2.0.0",
+				"resolve-from": "^3.0.0"
+			}
+		},
+		"import-lazy": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
+			"integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
+			"dev": true
+		},
+		"import-local": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
+			"integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+			"dev": true,
+			"requires": {
+				"pkg-dir": "^3.0.0",
+				"resolve-cwd": "^2.0.0"
+			},
+			"dependencies": {
+				"pkg-dir": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+					"integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+					"dev": true,
+					"requires": {
+						"find-up": "^3.0.0"
+					}
+				}
+			}
+		},
+		"imurmurhash": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+			"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+			"dev": true
+		},
+		"in-publish": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+			"integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+			"dev": true
+		},
+		"indent-string": {
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+			"integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+			"dev": true
+		},
+		"indexes-of": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+			"integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+			"dev": true
+		},
+		"indexof": {
+			"version": "0.0.1",
+			"resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+			"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+			"dev": true
+		},
+		"inflight": {
+			"version": "1.0.6",
+			"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+			"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+			"dev": true,
+			"requires": {
+				"once": "^1.3.0",
+				"wrappy": "1"
+			}
+		},
+		"inherits": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+			"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+			"dev": true
+		},
+		"ini": {
+			"version": "1.3.5",
+			"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+			"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+			"dev": true
+		},
+		"inquirer": {
+			"version": "6.2.2",
+			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz",
+			"integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==",
+			"dev": true,
+			"requires": {
+				"ansi-escapes": "^3.2.0",
+				"chalk": "^2.4.2",
+				"cli-cursor": "^2.1.0",
+				"cli-width": "^2.0.0",
+				"external-editor": "^3.0.3",
+				"figures": "^2.0.0",
+				"lodash": "^4.17.11",
+				"mute-stream": "0.0.7",
+				"run-async": "^2.2.0",
+				"rxjs": "^6.4.0",
+				"string-width": "^2.1.0",
+				"strip-ansi": "^5.0.0",
+				"through": "^2.3.6"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+					"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+					"dev": true
+				},
+				"strip-ansi": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+					"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^4.1.0"
+					}
+				}
+			}
+		},
+		"interpret": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
+			"integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
+			"dev": true
+		},
+		"invariant": {
+			"version": "2.2.4",
+			"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+			"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+			"dev": true,
+			"requires": {
+				"loose-envify": "^1.0.0"
+			}
+		},
+		"invert-kv": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+			"integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+			"dev": true
+		},
+		"ipaddr.js": {
+			"version": "1.8.0",
+			"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
+			"integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
+			"dev": true
+		},
+		"irregular-plurals": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz",
+			"integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==",
+			"dev": true
+		},
+		"is-accessor-descriptor": {
+			"version": "0.1.6",
+			"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+			"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+			"dev": true,
+			"requires": {
+				"kind-of": "^3.0.2"
+			}
+		},
+		"is-alphabetical": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
+			"integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==",
+			"dev": true
+		},
+		"is-alphanumeric": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
+			"integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
+			"dev": true
+		},
+		"is-alphanumerical": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
+			"integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
+			"dev": true,
+			"requires": {
+				"is-alphabetical": "^1.0.0",
+				"is-decimal": "^1.0.0"
+			}
+		},
+		"is-arrayish": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+			"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+		},
+		"is-binary-path": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+			"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+			"dev": true,
+			"requires": {
+				"binary-extensions": "^1.0.0"
+			}
+		},
+		"is-boolean-object": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz",
+			"integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=",
+			"dev": true
+		},
+		"is-buffer": {
+			"version": "1.1.6",
+			"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+			"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+			"dev": true
+		},
+		"is-callable": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+			"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+			"dev": true
+		},
+		"is-ci": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+			"integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+			"dev": true,
+			"requires": {
+				"ci-info": "^2.0.0"
+			}
+		},
+		"is-data-descriptor": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+			"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+			"dev": true,
+			"requires": {
+				"kind-of": "^3.0.2"
+			}
+		},
+		"is-date-object": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+			"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+			"dev": true
+		},
+		"is-decimal": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
+			"integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==",
+			"dev": true
+		},
+		"is-descriptor": {
+			"version": "0.1.6",
+			"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+			"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+			"dev": true,
+			"requires": {
+				"is-accessor-descriptor": "^0.1.6",
+				"is-data-descriptor": "^0.1.4",
+				"kind-of": "^5.0.0"
+			},
+			"dependencies": {
+				"kind-of": {
+					"version": "5.1.0",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+					"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+					"dev": true
+				}
+			}
+		},
+		"is-directory": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+			"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
+		},
+		"is-extendable": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+			"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+			"dev": true
+		},
+		"is-extglob": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+			"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+			"dev": true
+		},
+		"is-finite": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+			"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+			"dev": true,
+			"requires": {
+				"number-is-nan": "^1.0.0"
+			}
+		},
+		"is-fullwidth-code-point": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+			"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+			"dev": true
+		},
+		"is-generator-fn": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.0.0.tgz",
+			"integrity": "sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g==",
+			"dev": true
+		},
+		"is-glob": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+			"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+			"dev": true,
+			"requires": {
+				"is-extglob": "^2.1.1"
+			}
+		},
+		"is-hexadecimal": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
+			"integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==",
+			"dev": true
+		},
+		"is-number": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+			"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+			"dev": true,
+			"requires": {
+				"kind-of": "^3.0.2"
+			}
+		},
+		"is-number-object": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz",
+			"integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=",
+			"dev": true
+		},
+		"is-obj": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+			"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+			"dev": true
+		},
+		"is-path-inside": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.0.0.tgz",
+			"integrity": "sha512-OmUXvSq+P7aI/aRbl1dzwdlyLn8vW7Nr2/11S7y/dcLLgnQ89hgYJp7tfc+A5SRid3rNCLpruOp2CAV68/iOcA==",
+			"dev": true,
+			"requires": {
+				"path-is-inside": "^1.0.2"
+			}
+		},
+		"is-plain-obj": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+			"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+			"dev": true
+		},
+		"is-plain-object": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+			"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+			"dev": true,
+			"requires": {
+				"isobject": "^3.0.1"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
+			}
+		},
+		"is-promise": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+			"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+			"dev": true
+		},
+		"is-regex": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+			"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+			"dev": true,
+			"requires": {
+				"has": "^1.0.1"
+			}
+		},
+		"is-regexp": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+			"integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+			"dev": true
+		},
+		"is-resolvable": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+			"integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+			"dev": true
+		},
+		"is-stream": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+			"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+			"dev": true
+		},
+		"is-string": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz",
+			"integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=",
+			"dev": true
+		},
+		"is-subset": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
+			"integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
+			"dev": true
+		},
+		"is-supported-regexp-flag": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz",
+			"integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==",
+			"dev": true
+		},
+		"is-symbol": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+			"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+			"dev": true,
+			"requires": {
+				"has-symbols": "^1.0.0"
+			}
+		},
+		"is-typedarray": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+			"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+			"dev": true
+		},
+		"is-utf8": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+			"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+			"dev": true
+		},
+		"is-whitespace-character": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz",
+			"integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==",
+			"dev": true
+		},
+		"is-windows": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+			"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+			"dev": true
+		},
+		"is-word-character": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz",
+			"integrity": "sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==",
+			"dev": true
+		},
+		"is-wsl": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+			"integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+			"dev": true
+		},
+		"isarray": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+			"dev": true
+		},
+		"isexe": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+			"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+			"dev": true
+		},
+		"isobject": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+			"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+			"dev": true
+		},
+		"isstream": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+			"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+			"dev": true
+		},
+		"istanbul-api": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.1.tgz",
+			"integrity": "sha512-kVmYrehiwyeBAk/wE71tW6emzLiHGjYIiDrc8sfyty4F8M02/lrgXSm+R1kXysmF20zArvmZXjlE/mg24TVPJw==",
+			"dev": true,
+			"requires": {
+				"async": "^2.6.1",
+				"compare-versions": "^3.2.1",
+				"fileset": "^2.0.3",
+				"istanbul-lib-coverage": "^2.0.3",
+				"istanbul-lib-hook": "^2.0.3",
+				"istanbul-lib-instrument": "^3.1.0",
+				"istanbul-lib-report": "^2.0.4",
+				"istanbul-lib-source-maps": "^3.0.2",
+				"istanbul-reports": "^2.1.1",
+				"js-yaml": "^3.12.0",
+				"make-dir": "^1.3.0",
+				"minimatch": "^3.0.4",
+				"once": "^1.4.0"
+			}
+		},
+		"istanbul-lib-coverage": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
+			"integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==",
+			"dev": true
+		},
+		"istanbul-lib-hook": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz",
+			"integrity": "sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA==",
+			"dev": true,
+			"requires": {
+				"append-transform": "^1.0.0"
+			}
+		},
+		"istanbul-lib-instrument": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz",
+			"integrity": "sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==",
+			"dev": true,
+			"requires": {
+				"@babel/generator": "^7.0.0",
+				"@babel/parser": "^7.0.0",
+				"@babel/template": "^7.0.0",
+				"@babel/traverse": "^7.0.0",
+				"@babel/types": "^7.0.0",
+				"istanbul-lib-coverage": "^2.0.3",
+				"semver": "^5.5.0"
+			}
+		},
+		"istanbul-lib-report": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz",
+			"integrity": "sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA==",
+			"dev": true,
+			"requires": {
+				"istanbul-lib-coverage": "^2.0.3",
+				"make-dir": "^1.3.0",
+				"supports-color": "^6.0.0"
+			},
+			"dependencies": {
+				"supports-color": {
+					"version": "6.1.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+					"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+					"dev": true,
+					"requires": {
+						"has-flag": "^3.0.0"
+					}
+				}
+			}
+		},
+		"istanbul-lib-source-maps": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz",
+			"integrity": "sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ==",
+			"dev": true,
+			"requires": {
+				"debug": "^4.1.1",
+				"istanbul-lib-coverage": "^2.0.3",
+				"make-dir": "^1.3.0",
+				"rimraf": "^2.6.2",
+				"source-map": "^0.6.1"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"istanbul-reports": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.1.1.tgz",
+			"integrity": "sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw==",
+			"dev": true,
+			"requires": {
+				"handlebars": "^4.1.0"
+			}
+		},
+		"jed": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/jed/-/jed-1.1.1.tgz",
+			"integrity": "sha1-elSbvZ/+FYWwzQoZHiAwVb7ldLQ=",
+			"dev": true
+		},
+		"jest": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest/-/jest-24.5.0.tgz",
+			"integrity": "sha512-lxL+Fq5/RH7inxxmfS2aZLCf8MsS+YCUBfeiNO6BWz/MmjhDGaIEA/2bzEf9q4Q0X+mtFHiinHFvQ0u+RvW/qQ==",
+			"dev": true,
+			"requires": {
+				"import-local": "^2.0.0",
+				"jest-cli": "^24.5.0"
+			},
+			"dependencies": {
+				"jest-cli": {
+					"version": "24.5.0",
+					"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.5.0.tgz",
+					"integrity": "sha512-P+Jp0SLO4KWN0cGlNtC7JV0dW1eSFR7eRpoOucP2UM0sqlzp/bVHeo71Omonvigrj9AvCKy7NtQANtqJ7FXz8g==",
+					"dev": true,
+					"requires": {
+						"@jest/core": "^24.5.0",
+						"@jest/test-result": "^24.5.0",
+						"@jest/types": "^24.5.0",
+						"chalk": "^2.0.1",
+						"exit": "^0.1.2",
+						"import-local": "^2.0.0",
+						"is-ci": "^2.0.0",
+						"jest-config": "^24.5.0",
+						"jest-util": "^24.5.0",
+						"jest-validate": "^24.5.0",
+						"prompts": "^2.0.1",
+						"realpath-native": "^1.1.0",
+						"yargs": "^12.0.2"
+					}
+				}
+			}
+		},
+		"jest-changed-files": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.5.0.tgz",
+			"integrity": "sha512-Ikl29dosYnTsH9pYa1Tv9POkILBhN/TLZ37xbzgNsZ1D2+2n+8oEZS2yP1BrHn/T4Rs4Ggwwbp/x8CKOS5YJOg==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"execa": "^1.0.0",
+				"throat": "^4.0.0"
+			}
+		},
+		"jest-config": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.5.0.tgz",
+			"integrity": "sha512-t2UTh0Z2uZhGBNVseF8wA2DS2SuBiLOL6qpLq18+OZGfFUxTM7BzUVKyHFN/vuN+s/aslY1COW95j1Rw81huOQ==",
+			"dev": true,
+			"requires": {
+				"@babel/core": "^7.1.0",
+				"@jest/types": "^24.5.0",
+				"babel-jest": "^24.5.0",
+				"chalk": "^2.0.1",
+				"glob": "^7.1.1",
+				"jest-environment-jsdom": "^24.5.0",
+				"jest-environment-node": "^24.5.0",
+				"jest-get-type": "^24.3.0",
+				"jest-jasmine2": "^24.5.0",
+				"jest-regex-util": "^24.3.0",
+				"jest-resolve": "^24.5.0",
+				"jest-util": "^24.5.0",
+				"jest-validate": "^24.5.0",
+				"micromatch": "^3.1.10",
+				"pretty-format": "^24.5.0",
+				"realpath-native": "^1.1.0"
+			}
+		},
+		"jest-dev-server": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-4.0.0.tgz",
+			"integrity": "sha512-tq3fHPM8BDbu/71yIxgGgZW62s1Em6rLNDce0/ff/4No093OyjUEPM8yIUaoBt4pxwwRGkaS1EZB5PzCmRLGkg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.4.2",
+				"cwd": "^0.10.0",
+				"find-process": "^1.2.1",
+				"inquirer": "^6.2.2",
+				"spawnd": "^4.0.0",
+				"tree-kill": "^1.2.1",
+				"wait-port": "^0.2.2"
+			}
+		},
+		"jest-diff": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.5.0.tgz",
+			"integrity": "sha512-mCILZd9r7zqL9Uh6yNoXjwGQx0/J43OD2vvWVKwOEOLZliQOsojXwqboubAQ+Tszrb6DHGmNU7m4whGeB9YOqw==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.0.1",
+				"diff-sequences": "^24.3.0",
+				"jest-get-type": "^24.3.0",
+				"pretty-format": "^24.5.0"
+			}
+		},
+		"jest-docblock": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.3.0.tgz",
+			"integrity": "sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg==",
+			"dev": true,
+			"requires": {
+				"detect-newline": "^2.1.0"
+			}
+		},
+		"jest-each": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.5.0.tgz",
+			"integrity": "sha512-6gy3Kh37PwIT5sNvNY2VchtIFOOBh8UCYnBlxXMb5sr5wpJUDPTUATX2Axq1Vfk+HWTMpsYPeVYp4TXx5uqUBw==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"chalk": "^2.0.1",
+				"jest-get-type": "^24.3.0",
+				"jest-util": "^24.5.0",
+				"pretty-format": "^24.5.0"
+			}
+		},
+		"jest-environment-jsdom": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.5.0.tgz",
+			"integrity": "sha512-62Ih5HbdAWcsqBx2ktUnor/mABBo1U111AvZWcLKeWN/n/gc5ZvDBKe4Og44fQdHKiXClrNGC6G0mBo6wrPeGQ==",
+			"dev": true,
+			"requires": {
+				"@jest/environment": "^24.5.0",
+				"@jest/fake-timers": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"jest-mock": "^24.5.0",
+				"jest-util": "^24.5.0",
+				"jsdom": "^11.5.1"
+			}
+		},
+		"jest-environment-node": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.5.0.tgz",
+			"integrity": "sha512-du6FuyWr/GbKLsmAbzNF9mpr2Iu2zWSaq/BNHzX+vgOcts9f2ayXBweS7RAhr+6bLp6qRpMB6utAMF5Ygktxnw==",
+			"dev": true,
+			"requires": {
+				"@jest/environment": "^24.5.0",
+				"@jest/fake-timers": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"jest-mock": "^24.5.0",
+				"jest-util": "^24.5.0"
+			}
+		},
+		"jest-environment-puppeteer": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-4.1.0.tgz",
+			"integrity": "sha512-Usq/T0W+BcnWZ59Hyrs7KA2917NDJt+navI9hTv96CspEkyLef3TaWtmL84EXmY14C0fBa+r2efwLgtrRwPAcg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.4.2",
+				"cwd": "^0.10.0",
+				"jest-dev-server": "^4.0.0",
+				"merge-deep": "^3.0.2"
+			}
+		},
+		"jest-get-type": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.3.0.tgz",
+			"integrity": "sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow==",
+			"dev": true
+		},
+		"jest-haste-map": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.5.0.tgz",
+			"integrity": "sha512-mb4Yrcjw9vBgSvobDwH8QUovxApdimGcOkp+V1ucGGw4Uvr3VzZQBJhNm1UY3dXYm4XXyTW2G7IBEZ9pM2ggRQ==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"fb-watchman": "^2.0.0",
+				"graceful-fs": "^4.1.15",
+				"invariant": "^2.2.4",
+				"jest-serializer": "^24.4.0",
+				"jest-util": "^24.5.0",
+				"jest-worker": "^24.4.0",
+				"micromatch": "^3.1.10",
+				"sane": "^4.0.3"
+			}
+		},
+		"jest-jasmine2": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.5.0.tgz",
+			"integrity": "sha512-sfVrxVcx1rNUbBeyIyhkqZ4q+seNKyAG6iM0S2TYBdQsXjoFDdqWFfsUxb6uXSsbimbXX/NMkJIwUZ1uT9+/Aw==",
+			"dev": true,
+			"requires": {
+				"@babel/traverse": "^7.1.0",
+				"@jest/environment": "^24.5.0",
+				"@jest/test-result": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"chalk": "^2.0.1",
+				"co": "^4.6.0",
+				"expect": "^24.5.0",
+				"is-generator-fn": "^2.0.0",
+				"jest-each": "^24.5.0",
+				"jest-matcher-utils": "^24.5.0",
+				"jest-message-util": "^24.5.0",
+				"jest-runtime": "^24.5.0",
+				"jest-snapshot": "^24.5.0",
+				"jest-util": "^24.5.0",
+				"pretty-format": "^24.5.0",
+				"throat": "^4.0.0"
+			}
+		},
+		"jest-leak-detector": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.5.0.tgz",
+			"integrity": "sha512-LZKBjGovFRx3cRBkqmIg+BZnxbrLqhQl09IziMk3oeh1OV81Hg30RUIx885mq8qBv1PA0comB9bjKcuyNO1bCQ==",
+			"dev": true,
+			"requires": {
+				"pretty-format": "^24.5.0"
+			}
+		},
+		"jest-matcher-utils": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.5.0.tgz",
+			"integrity": "sha512-QM1nmLROjLj8GMGzg5VBra3I9hLpjMPtF1YqzQS3rvWn2ltGZLrGAO1KQ9zUCVi5aCvrkbS5Ndm2evIP9yZg1Q==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.0.1",
+				"jest-diff": "^24.5.0",
+				"jest-get-type": "^24.3.0",
+				"pretty-format": "^24.5.0"
+			}
+		},
+		"jest-message-util": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.5.0.tgz",
+			"integrity": "sha512-6ZYgdOojowCGiV0D8WdgctZEAe+EcFU+KrVds+0ZjvpZurUW2/oKJGltJ6FWY2joZwYXN5VL36GPV6pNVRqRnQ==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "^7.0.0",
+				"@jest/test-result": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"@types/stack-utils": "^1.0.1",
+				"chalk": "^2.0.1",
+				"micromatch": "^3.1.10",
+				"slash": "^2.0.0",
+				"stack-utils": "^1.0.1"
+			}
+		},
+		"jest-mock": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.5.0.tgz",
+			"integrity": "sha512-ZnAtkWrKf48eERgAOiUxVoFavVBziO2pAi2MfZ1+bGXVkDfxWLxU0//oJBkgwbsv6OAmuLBz4XFFqvCFMqnGUw==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0"
+			}
+		},
+		"jest-pnp-resolver": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
+			"integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+			"dev": true
+		},
+		"jest-puppeteer": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-4.1.0.tgz",
+			"integrity": "sha512-dCHU2XbrxuykPa38x5fixN/KS/zO2OIYZeORtuf0SvuIAPPbCfj/RBfVV55FCuPkp+PmAEJJjnIF0rVBe5B2qg==",
+			"dev": true,
+			"requires": {
+				"expect-puppeteer": "^4.1.0",
+				"jest-environment-puppeteer": "^4.1.0"
+			}
+		},
+		"jest-regex-util": {
+			"version": "24.3.0",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.3.0.tgz",
+			"integrity": "sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg==",
+			"dev": true
+		},
+		"jest-resolve": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.5.0.tgz",
+			"integrity": "sha512-ZIfGqLX1Rg8xJpQqNjdoO8MuxHV1q/i2OO1hLXjgCWFWs5bsedS8UrOdgjUqqNae6DXA+pCyRmdcB7lQEEbXew==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"browser-resolve": "^1.11.3",
+				"chalk": "^2.0.1",
+				"jest-pnp-resolver": "^1.2.1",
+				"realpath-native": "^1.1.0"
+			}
+		},
+		"jest-resolve-dependencies": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.5.0.tgz",
+			"integrity": "sha512-dRVM1D+gWrFfrq2vlL5P9P/i8kB4BOYqYf3S7xczZ+A6PC3SgXYSErX/ScW/469pWMboM1uAhgLF+39nXlirCQ==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"jest-regex-util": "^24.3.0",
+				"jest-snapshot": "^24.5.0"
+			}
+		},
+		"jest-runner": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.5.0.tgz",
+			"integrity": "sha512-oqsiS9TkIZV5dVkD+GmbNfWBRPIvxqmlTQ+AQUJUQ07n+4xTSDc40r+aKBynHw9/tLzafC00DIbJjB2cOZdvMA==",
+			"dev": true,
+			"requires": {
+				"@jest/console": "^24.3.0",
+				"@jest/environment": "^24.5.0",
+				"@jest/test-result": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"chalk": "^2.4.2",
+				"exit": "^0.1.2",
+				"graceful-fs": "^4.1.15",
+				"jest-config": "^24.5.0",
+				"jest-docblock": "^24.3.0",
+				"jest-haste-map": "^24.5.0",
+				"jest-jasmine2": "^24.5.0",
+				"jest-leak-detector": "^24.5.0",
+				"jest-message-util": "^24.5.0",
+				"jest-resolve": "^24.5.0",
+				"jest-runtime": "^24.5.0",
+				"jest-util": "^24.5.0",
+				"jest-worker": "^24.4.0",
+				"source-map-support": "^0.5.6",
+				"throat": "^4.0.0"
+			}
+		},
+		"jest-runtime": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.5.0.tgz",
+			"integrity": "sha512-GTFHzfLdwpaeoDPilNpBrorlPoNZuZrwKKzKJs09vWwHo+9TOsIIuszK8cWOuKC7ss07aN1922Ge8fsGdsqCuw==",
+			"dev": true,
+			"requires": {
+				"@jest/console": "^24.3.0",
+				"@jest/environment": "^24.5.0",
+				"@jest/source-map": "^24.3.0",
+				"@jest/transform": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"@types/yargs": "^12.0.2",
+				"chalk": "^2.0.1",
+				"exit": "^0.1.2",
+				"glob": "^7.1.3",
+				"graceful-fs": "^4.1.15",
+				"jest-config": "^24.5.0",
+				"jest-haste-map": "^24.5.0",
+				"jest-message-util": "^24.5.0",
+				"jest-mock": "^24.5.0",
+				"jest-regex-util": "^24.3.0",
+				"jest-resolve": "^24.5.0",
+				"jest-snapshot": "^24.5.0",
+				"jest-util": "^24.5.0",
+				"jest-validate": "^24.5.0",
+				"realpath-native": "^1.1.0",
+				"slash": "^2.0.0",
+				"strip-bom": "^3.0.0",
+				"yargs": "^12.0.2"
+			},
+			"dependencies": {
+				"strip-bom": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+					"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+					"dev": true
+				}
+			}
+		},
+		"jest-serializer": {
+			"version": "24.4.0",
+			"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.4.0.tgz",
+			"integrity": "sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==",
+			"dev": true
+		},
+		"jest-snapshot": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.5.0.tgz",
+			"integrity": "sha512-eBEeJb5ROk0NcpodmSKnCVgMOo+Qsu5z9EDl3tGffwPzK1yV37mjGWF2YeIz1NkntgTzP+fUL4s09a0+0dpVWA==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.0.0",
+				"@jest/types": "^24.5.0",
+				"chalk": "^2.0.1",
+				"expect": "^24.5.0",
+				"jest-diff": "^24.5.0",
+				"jest-matcher-utils": "^24.5.0",
+				"jest-message-util": "^24.5.0",
+				"jest-resolve": "^24.5.0",
+				"mkdirp": "^0.5.1",
+				"natural-compare": "^1.4.0",
+				"pretty-format": "^24.5.0",
+				"semver": "^5.5.0"
+			}
+		},
+		"jest-util": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.5.0.tgz",
+			"integrity": "sha512-Xy8JsD0jvBz85K7VsTIQDuY44s+hYJyppAhcsHsOsGisVtdhar6fajf2UOf2mEVEgh15ZSdA0zkCuheN8cbr1Q==",
+			"dev": true,
+			"requires": {
+				"@jest/console": "^24.3.0",
+				"@jest/fake-timers": "^24.5.0",
+				"@jest/source-map": "^24.3.0",
+				"@jest/test-result": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"@types/node": "*",
+				"callsites": "^3.0.0",
+				"chalk": "^2.0.1",
+				"graceful-fs": "^4.1.15",
+				"is-ci": "^2.0.0",
+				"mkdirp": "^0.5.1",
+				"slash": "^2.0.0",
+				"source-map": "^0.6.0"
+			},
+			"dependencies": {
+				"callsites": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz",
+					"integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==",
+					"dev": true
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"jest-validate": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.5.0.tgz",
+			"integrity": "sha512-gg0dYszxjgK2o11unSIJhkOFZqNRQbWOAB2/LOUdsd2LfD9oXiMeuee8XsT0iRy5EvSccBgB4h/9HRbIo3MHgQ==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"camelcase": "^5.0.0",
+				"chalk": "^2.0.1",
+				"jest-get-type": "^24.3.0",
+				"leven": "^2.1.0",
+				"pretty-format": "^24.5.0"
+			}
+		},
+		"jest-watcher": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.5.0.tgz",
+			"integrity": "sha512-/hCpgR6bg0nKvD3nv4KasdTxuhwfViVMHUATJlnGCD0r1QrmIssimPbmc5KfAQblAVxkD8xrzuij9vfPUk1/rA==",
+			"dev": true,
+			"requires": {
+				"@jest/test-result": "^24.5.0",
+				"@jest/types": "^24.5.0",
+				"@types/node": "*",
+				"@types/yargs": "^12.0.9",
+				"ansi-escapes": "^3.0.0",
+				"chalk": "^2.0.1",
+				"jest-util": "^24.5.0",
+				"string-length": "^2.0.0"
+			}
+		},
+		"jest-worker": {
+			"version": "24.4.0",
+			"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.4.0.tgz",
+			"integrity": "sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ==",
+			"dev": true,
+			"requires": {
+				"@types/node": "*",
+				"merge-stream": "^1.0.1",
+				"supports-color": "^6.1.0"
+			},
+			"dependencies": {
+				"supports-color": {
+					"version": "6.1.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+					"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+					"dev": true,
+					"requires": {
+						"has-flag": "^3.0.0"
+					}
+				}
+			}
+		},
+		"js-base64": {
+			"version": "2.5.1",
+			"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
+			"integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
+			"dev": true
+		},
+		"js-levenshtein": {
+			"version": "1.1.6",
+			"resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+			"integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+			"dev": true
+		},
+		"js-tokens": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+			"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+		},
+		"js-yaml": {
+			"version": "3.13.0",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz",
+			"integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==",
+			"requires": {
+				"argparse": "^1.0.7",
+				"esprima": "^4.0.0"
+			}
+		},
+		"jsbn": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+			"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+			"dev": true
+		},
+		"jsdom": {
+			"version": "11.12.0",
+			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
+			"integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
+			"dev": true,
+			"requires": {
+				"abab": "^2.0.0",
+				"acorn": "^5.5.3",
+				"acorn-globals": "^4.1.0",
+				"array-equal": "^1.0.0",
+				"cssom": ">= 0.3.2 < 0.4.0",
+				"cssstyle": "^1.0.0",
+				"data-urls": "^1.0.0",
+				"domexception": "^1.0.1",
+				"escodegen": "^1.9.1",
+				"html-encoding-sniffer": "^1.0.2",
+				"left-pad": "^1.3.0",
+				"nwsapi": "^2.0.7",
+				"parse5": "4.0.0",
+				"pn": "^1.1.0",
+				"request": "^2.87.0",
+				"request-promise-native": "^1.0.5",
+				"sax": "^1.2.4",
+				"symbol-tree": "^3.2.2",
+				"tough-cookie": "^2.3.4",
+				"w3c-hr-time": "^1.0.1",
+				"webidl-conversions": "^4.0.2",
+				"whatwg-encoding": "^1.0.3",
+				"whatwg-mimetype": "^2.1.0",
+				"whatwg-url": "^6.4.1",
+				"ws": "^5.2.0",
+				"xml-name-validator": "^3.0.0"
+			},
+			"dependencies": {
+				"acorn": {
+					"version": "5.7.3",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
+					"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+					"dev": true
+				},
+				"parse5": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
+					"integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
+					"dev": true
+				}
+			}
+		},
+		"jsesc": {
+			"version": "2.5.2",
+			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+			"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+			"dev": true
+		},
+		"json-parse-better-errors": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+			"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+		},
+		"json-schema": {
+			"version": "0.2.3",
+			"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+			"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+			"dev": true
+		},
+		"json-schema-traverse": {
+			"version": "0.4.1",
+			"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+			"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+			"dev": true
+		},
+		"json-stable-stringify-without-jsonify": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+			"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+			"dev": true
+		},
+		"json-stringify-safe": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+			"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+			"dev": true
+		},
+		"json5": {
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+			"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+			"dev": true
+		},
+		"jsprim": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+			"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "1.0.0",
+				"extsprintf": "1.3.0",
+				"json-schema": "0.2.3",
+				"verror": "1.10.0"
+			}
+		},
+		"jsx-ast-utils": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
+			"integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
+			"dev": true,
+			"requires": {
+				"array-includes": "^3.0.3"
+			}
+		},
+		"kind-of": {
+			"version": "3.2.2",
+			"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+			"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+			"dev": true,
+			"requires": {
+				"is-buffer": "^1.1.5"
+			}
+		},
+		"kleur": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.2.tgz",
+			"integrity": "sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q==",
+			"dev": true
+		},
+		"known-css-properties": {
+			"version": "0.11.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz",
+			"integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==",
+			"dev": true
+		},
+		"lazy-cache": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+			"integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+			"dev": true
+		},
+		"lcid": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+			"integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+			"dev": true,
+			"requires": {
+				"invert-kv": "^2.0.0"
+			}
+		},
+		"leb": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/leb/-/leb-0.3.0.tgz",
+			"integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM=",
+			"dev": true
+		},
+		"left-pad": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
+			"integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
+			"dev": true
+		},
+		"leven": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
+			"integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+			"dev": true
+		},
+		"levn": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+			"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+			"dev": true,
+			"requires": {
+				"prelude-ls": "~1.1.2",
+				"type-check": "~0.3.2"
+			}
+		},
+		"livereload-js": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
+			"integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==",
+			"dev": true
+		},
+		"load-json-file": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+			"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.2",
+				"parse-json": "^2.2.0",
+				"pify": "^2.0.0",
+				"pinkie-promise": "^2.0.0",
+				"strip-bom": "^2.0.0"
+			},
+			"dependencies": {
+				"parse-json": {
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+					"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+					"dev": true,
+					"requires": {
+						"error-ex": "^1.2.0"
+					}
+				}
+			}
+		},
+		"loader-runner": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
+			"integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+			"dev": true
+		},
+		"loader-utils": {
+			"version": "1.2.3",
+			"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+			"integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+			"dev": true,
+			"requires": {
+				"big.js": "^5.2.2",
+				"emojis-list": "^2.0.0",
+				"json5": "^1.0.1"
+			},
+			"dependencies": {
+				"json5": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+					"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+					"dev": true,
+					"requires": {
+						"minimist": "^1.2.0"
+					}
+				},
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				}
+			}
+		},
+		"locate-path": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+			"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+			"dev": true,
+			"requires": {
+				"p-locate": "^3.0.0",
+				"path-exists": "^3.0.0"
+			}
+		},
+		"lodash": {
+			"version": "4.17.11",
+			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+			"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
+		},
+		"lodash.assign": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+			"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+			"dev": true
+		},
+		"lodash.clonedeep": {
+			"version": "4.5.0",
+			"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+			"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+			"dev": true
+		},
+		"lodash.escape": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
+			"integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=",
+			"dev": true
+		},
+		"lodash.flattendeep": {
+			"version": "4.4.0",
+			"resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+			"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
+			"dev": true
+		},
+		"lodash.isequal": {
+			"version": "4.5.0",
+			"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+			"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+			"dev": true
+		},
+		"lodash.mergewith": {
+			"version": "4.6.1",
+			"resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+			"integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
+			"dev": true
+		},
+		"lodash.sortby": {
+			"version": "4.7.0",
+			"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+			"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+			"dev": true
+		},
+		"lodash.tail": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
+			"integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
+			"dev": true
+		},
+		"log-symbols": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+			"integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.0.1"
+			}
+		},
+		"long": {
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
+			"integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=",
+			"dev": true
+		},
+		"longest-streak": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
+			"integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==",
+			"dev": true
+		},
+		"loose-envify": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+			"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+			"requires": {
+				"js-tokens": "^3.0.0 || ^4.0.0"
+			}
+		},
+		"loud-rejection": {
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+			"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+			"dev": true,
+			"requires": {
+				"currently-unhandled": "^0.4.1",
+				"signal-exit": "^3.0.0"
+			}
+		},
+		"lru-cache": {
+			"version": "4.1.5",
+			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+			"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+			"dev": true,
+			"requires": {
+				"pseudomap": "^1.0.2",
+				"yallist": "^2.1.2"
+			}
+		},
+		"make-dir": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+			"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+			"dev": true,
+			"requires": {
+				"pify": "^3.0.0"
+			},
+			"dependencies": {
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				}
+			}
+		},
+		"makeerror": {
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+			"integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+			"dev": true,
+			"requires": {
+				"tmpl": "1.0.x"
+			}
+		},
+		"map-age-cleaner": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+			"integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+			"dev": true,
+			"requires": {
+				"p-defer": "^1.0.0"
+			}
+		},
+		"map-cache": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+			"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+			"dev": true
+		},
+		"map-obj": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
+			"integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+			"dev": true
+		},
+		"map-values": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz",
+			"integrity": "sha1-douOecAJvytk/ugG4ip7HEGQyZA=",
+			"dev": true
+		},
+		"map-visit": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+			"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+			"dev": true,
+			"requires": {
+				"object-visit": "^1.0.0"
+			}
+		},
+		"markdown-escapes": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz",
+			"integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==",
+			"dev": true
+		},
+		"markdown-table": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.2.tgz",
+			"integrity": "sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==",
+			"dev": true
+		},
+		"mathml-tag-names": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.0.tgz",
+			"integrity": "sha512-3Zs9P/0zzwTob2pdgT0CHZuMbnSUSp8MB1bddfm+HDmnFWHGT4jvEZRf+2RuPoa+cjdn/z25SEt5gFTqdhvJAg==",
+			"dev": true
+		},
+		"md5.js": {
+			"version": "1.3.5",
+			"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+			"integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+			"dev": true,
+			"requires": {
+				"hash-base": "^3.0.0",
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.1.2"
+			}
+		},
+		"mdast-util-compact": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.2.tgz",
+			"integrity": "sha512-d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg==",
+			"dev": true,
+			"requires": {
+				"unist-util-visit": "^1.1.0"
+			}
+		},
+		"media-typer": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+			"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+			"dev": true
+		},
+		"mem": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz",
+			"integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==",
+			"dev": true,
+			"requires": {
+				"map-age-cleaner": "^0.1.1",
+				"mimic-fn": "^1.0.0",
+				"p-is-promise": "^2.0.0"
+			}
+		},
+		"memize": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/memize/-/memize-1.0.5.tgz",
+			"integrity": "sha512-Dm8Jhb5kiC4+ynYsVR4QDXKt+o2dfqGuY4hE2x+XlXZkdndlT80bJxfcMv5QGp/FCy6MhG7f5ElpmKPFKOSEpg==",
+			"dev": true
+		},
+		"memoize-one": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.0.0.tgz",
+			"integrity": "sha512-7g0+ejkOaI9w5x6LvQwmj68kUj6rxROywPSCqmclG/HBacmFnZqhVscQ8kovkn9FBCNJmOz6SY42+jnvZzDWdw=="
+		},
+		"memory-fs": {
+			"version": "0.4.1",
+			"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+			"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+			"dev": true,
+			"requires": {
+				"errno": "^0.1.3",
+				"readable-stream": "^2.0.1"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"meow": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
+			"integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+			"dev": true,
+			"requires": {
+				"camelcase-keys": "^4.0.0",
+				"decamelize-keys": "^1.0.0",
+				"loud-rejection": "^1.0.0",
+				"minimist-options": "^3.0.1",
+				"normalize-package-data": "^2.3.4",
+				"read-pkg-up": "^3.0.0",
+				"redent": "^2.0.0",
+				"trim-newlines": "^2.0.0",
+				"yargs-parser": "^10.0.0"
+			},
+			"dependencies": {
+				"camelcase": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+					"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+					"dev": true
+				},
+				"find-up": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+					"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+					"dev": true,
+					"requires": {
+						"locate-path": "^2.0.0"
+					}
+				},
+				"load-json-file": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+					"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+					"dev": true,
+					"requires": {
+						"graceful-fs": "^4.1.2",
+						"parse-json": "^4.0.0",
+						"pify": "^3.0.0",
+						"strip-bom": "^3.0.0"
+					}
+				},
+				"locate-path": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+					"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+					"dev": true,
+					"requires": {
+						"p-locate": "^2.0.0",
+						"path-exists": "^3.0.0"
+					}
+				},
+				"p-limit": {
+					"version": "1.3.0",
+					"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+					"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+					"dev": true,
+					"requires": {
+						"p-try": "^1.0.0"
+					}
+				},
+				"p-locate": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+					"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+					"dev": true,
+					"requires": {
+						"p-limit": "^1.1.0"
+					}
+				},
+				"p-try": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+					"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+					"dev": true
+				},
+				"path-type": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+					"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+					"dev": true,
+					"requires": {
+						"pify": "^3.0.0"
+					}
+				},
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				},
+				"read-pkg": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+					"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+					"dev": true,
+					"requires": {
+						"load-json-file": "^4.0.0",
+						"normalize-package-data": "^2.3.2",
+						"path-type": "^3.0.0"
+					}
+				},
+				"read-pkg-up": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+					"integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+					"dev": true,
+					"requires": {
+						"find-up": "^2.0.0",
+						"read-pkg": "^3.0.0"
+					}
+				},
+				"strip-bom": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+					"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+					"dev": true
+				},
+				"yargs-parser": {
+					"version": "10.1.0",
+					"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+					"integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+					"dev": true,
+					"requires": {
+						"camelcase": "^4.1.0"
+					}
+				}
+			}
+		},
+		"merge-deep": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz",
+			"integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==",
+			"dev": true,
+			"requires": {
+				"arr-union": "^3.1.0",
+				"clone-deep": "^0.2.4",
+				"kind-of": "^3.0.2"
+			}
+		},
+		"merge-descriptors": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+			"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+			"dev": true
+		},
+		"merge-stream": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+			"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+			"dev": true,
+			"requires": {
+				"readable-stream": "^2.0.1"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"merge2": {
+			"version": "1.2.3",
+			"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz",
+			"integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==",
+			"dev": true
+		},
+		"methods": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+			"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+			"dev": true
+		},
+		"micromatch": {
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+			"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+			"dev": true,
+			"requires": {
+				"arr-diff": "^4.0.0",
+				"array-unique": "^0.3.2",
+				"braces": "^2.3.1",
+				"define-property": "^2.0.2",
+				"extend-shallow": "^3.0.2",
+				"extglob": "^2.0.4",
+				"fragment-cache": "^0.2.1",
+				"kind-of": "^6.0.2",
+				"nanomatch": "^1.2.9",
+				"object.pick": "^1.3.0",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.2"
+			},
+			"dependencies": {
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				}
+			}
+		},
+		"miller-rabin": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+			"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.0.0",
+				"brorand": "^1.0.1"
+			}
+		},
+		"mime": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
+			"integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
+			"dev": true
+		},
+		"mime-db": {
+			"version": "1.37.0",
+			"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+			"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
+			"dev": true
+		},
+		"mime-types": {
+			"version": "2.1.21",
+			"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+			"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+			"dev": true,
+			"requires": {
+				"mime-db": "~1.37.0"
+			}
+		},
+		"mimic-fn": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+			"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+			"dev": true
+		},
+		"mini-css-extract-plugin": {
+			"version": "0.4.4",
+			"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.4.tgz",
+			"integrity": "sha512-o+Jm+ocb0asEngdM6FsZWtZsRzA8koFUudIDwYUfl94M3PejPHG7Vopw5hN9V8WsMkSFpm3tZP3Fesz89EyrfQ==",
+			"dev": true,
+			"requires": {
+				"loader-utils": "^1.1.0",
+				"schema-utils": "^1.0.0",
+				"webpack-sources": "^1.1.0"
+			}
+		},
+		"minimalistic-assert": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+			"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+			"dev": true
+		},
+		"minimalistic-crypto-utils": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+			"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+			"dev": true
+		},
+		"minimatch": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+			"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+			"dev": true,
+			"requires": {
+				"brace-expansion": "^1.1.7"
+			}
+		},
+		"minimist": {
+			"version": "0.0.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+			"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+		},
+		"minimist-options": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
+			"integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+			"dev": true,
+			"requires": {
+				"arrify": "^1.0.1",
+				"is-plain-obj": "^1.1.0"
+			}
+		},
+		"mississippi": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
+			"integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
+			"dev": true,
+			"requires": {
+				"concat-stream": "^1.5.0",
+				"duplexify": "^3.4.2",
+				"end-of-stream": "^1.1.0",
+				"flush-write-stream": "^1.0.0",
+				"from2": "^2.1.0",
+				"parallel-transform": "^1.1.0",
+				"pump": "^2.0.1",
+				"pumpify": "^1.3.3",
+				"stream-each": "^1.1.0",
+				"through2": "^2.0.0"
+			},
+			"dependencies": {
+				"pump": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+					"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+					"dev": true,
+					"requires": {
+						"end-of-stream": "^1.1.0",
+						"once": "^1.3.1"
+					}
+				}
+			}
+		},
+		"mixin-deep": {
+			"version": "1.3.1",
+			"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+			"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+			"dev": true,
+			"requires": {
+				"for-in": "^1.0.2",
+				"is-extendable": "^1.0.1"
+			},
+			"dependencies": {
+				"is-extendable": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+					"dev": true,
+					"requires": {
+						"is-plain-object": "^2.0.4"
+					}
+				}
+			}
+		},
+		"mixin-object": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
+			"integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
+			"dev": true,
+			"requires": {
+				"for-in": "^0.1.3",
+				"is-extendable": "^0.1.1"
+			},
+			"dependencies": {
+				"for-in": {
+					"version": "0.1.8",
+					"resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
+					"integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
+					"dev": true
+				}
+			}
+		},
+		"mkdirp": {
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+			"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+			"requires": {
+				"minimist": "0.0.8"
+			}
+		},
+		"moo": {
+			"version": "0.4.3",
+			"resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz",
+			"integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==",
+			"dev": true
+		},
+		"move-concurrently": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+			"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+			"dev": true,
+			"requires": {
+				"aproba": "^1.1.1",
+				"copy-concurrently": "^1.0.0",
+				"fs-write-stream-atomic": "^1.0.8",
+				"mkdirp": "^0.5.1",
+				"rimraf": "^2.5.4",
+				"run-queue": "^1.0.3"
+			}
+		},
+		"ms": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+			"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+			"dev": true
+		},
+		"mute-stream": {
+			"version": "0.0.7",
+			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+			"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+			"dev": true
+		},
+		"nan": {
+			"version": "2.12.1",
+			"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
+			"integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
+			"dev": true
+		},
+		"nanomatch": {
+			"version": "1.2.13",
+			"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+			"integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+			"dev": true,
+			"requires": {
+				"arr-diff": "^4.0.0",
+				"array-unique": "^0.3.2",
+				"define-property": "^2.0.2",
+				"extend-shallow": "^3.0.2",
+				"fragment-cache": "^0.2.1",
+				"is-windows": "^1.0.2",
+				"kind-of": "^6.0.2",
+				"object.pick": "^1.3.0",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.1"
+			},
+			"dependencies": {
+				"arr-diff": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+					"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+					"dev": true
+				},
+				"array-unique": {
+					"version": "0.3.2",
+					"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+					"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				}
+			}
+		},
+		"natural-compare": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+			"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+			"dev": true
+		},
+		"nearley": {
+			"version": "2.16.0",
+			"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.16.0.tgz",
+			"integrity": "sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg==",
+			"dev": true,
+			"requires": {
+				"commander": "^2.19.0",
+				"moo": "^0.4.3",
+				"railroad-diagrams": "^1.0.0",
+				"randexp": "0.4.6",
+				"semver": "^5.4.1"
+			}
+		},
+		"negotiator": {
+			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+			"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+			"dev": true
+		},
+		"neo-async": {
+			"version": "2.6.0",
+			"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
+			"integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==",
+			"dev": true
+		},
+		"nice-try": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+			"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+			"dev": true
+		},
+		"node-gyp": {
+			"version": "3.8.0",
+			"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+			"integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+			"dev": true,
+			"requires": {
+				"fstream": "^1.0.0",
+				"glob": "^7.0.3",
+				"graceful-fs": "^4.1.2",
+				"mkdirp": "^0.5.0",
+				"nopt": "2 || 3",
+				"npmlog": "0 || 1 || 2 || 3 || 4",
+				"osenv": "0",
+				"request": "^2.87.0",
+				"rimraf": "2",
+				"semver": "~5.3.0",
+				"tar": "^2.0.0",
+				"which": "1"
+			},
+			"dependencies": {
+				"nopt": {
+					"version": "3.0.6",
+					"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+					"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+					"dev": true,
+					"requires": {
+						"abbrev": "1"
+					}
+				},
+				"semver": {
+					"version": "5.3.0",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+					"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+					"dev": true
+				}
+			}
+		},
+		"node-int64": {
+			"version": "0.4.0",
+			"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+			"integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+			"dev": true
+		},
+		"node-libs-browser": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz",
+			"integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==",
+			"dev": true,
+			"requires": {
+				"assert": "^1.1.1",
+				"browserify-zlib": "^0.2.0",
+				"buffer": "^4.3.0",
+				"console-browserify": "^1.1.0",
+				"constants-browserify": "^1.0.0",
+				"crypto-browserify": "^3.11.0",
+				"domain-browser": "^1.1.1",
+				"events": "^3.0.0",
+				"https-browserify": "^1.0.0",
+				"os-browserify": "^0.3.0",
+				"path-browserify": "0.0.0",
+				"process": "^0.11.10",
+				"punycode": "^1.2.4",
+				"querystring-es3": "^0.2.0",
+				"readable-stream": "^2.3.3",
+				"stream-browserify": "^2.0.1",
+				"stream-http": "^2.7.2",
+				"string_decoder": "^1.0.0",
+				"timers-browserify": "^2.0.4",
+				"tty-browserify": "0.0.0",
+				"url": "^0.11.0",
+				"util": "^0.11.0",
+				"vm-browserify": "0.0.4"
+			},
+			"dependencies": {
+				"punycode": {
+					"version": "1.4.1",
+					"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+					"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+					"dev": true
+				},
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					},
+					"dependencies": {
+						"string_decoder": {
+							"version": "1.1.1",
+							"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+							"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+							"dev": true,
+							"requires": {
+								"safe-buffer": "~5.1.0"
+							}
+						}
+					}
+				}
+			}
+		},
+		"node-modules-regexp": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+			"integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+			"dev": true
+		},
+		"node-notifier": {
+			"version": "5.4.0",
+			"resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz",
+			"integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==",
+			"dev": true,
+			"requires": {
+				"growly": "^1.3.0",
+				"is-wsl": "^1.1.0",
+				"semver": "^5.5.0",
+				"shellwords": "^0.1.1",
+				"which": "^1.3.0"
+			}
+		},
+		"node-releases": {
+			"version": "1.1.7",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.7.tgz",
+			"integrity": "sha512-bKdrwaqJUPHqlCzDD7so/R+Nk0jGv9a11ZhLrD9f6i947qGLrGAhU3OxRENa19QQmwzGy/g6zCDEuLGDO8HPvA==",
+			"dev": true,
+			"requires": {
+				"semver": "^5.3.0"
+			}
+		},
+		"node-sass": {
+			"version": "4.9.4",
+			"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.4.tgz",
+			"integrity": "sha512-MXyurANsUoE4/6KmfMkwGcBzAnJQ5xJBGW7Ei6ea8KnUKuzHr/SguVBIi3uaUAHtZCPUYkvlJ3Ef5T5VAwVpaA==",
+			"dev": true,
+			"requires": {
+				"async-foreach": "^0.1.3",
+				"chalk": "^1.1.1",
+				"cross-spawn": "^3.0.0",
+				"gaze": "^1.0.0",
+				"get-stdin": "^4.0.1",
+				"glob": "^7.0.3",
+				"in-publish": "^2.0.0",
+				"lodash.assign": "^4.2.0",
+				"lodash.clonedeep": "^4.3.2",
+				"lodash.mergewith": "^4.6.0",
+				"meow": "^3.7.0",
+				"mkdirp": "^0.5.1",
+				"nan": "^2.10.0",
+				"node-gyp": "^3.8.0",
+				"npmlog": "^4.0.0",
+				"request": "^2.88.0",
+				"sass-graph": "^2.2.4",
+				"stdout-stream": "^1.4.0",
+				"true-case-path": "^1.0.2"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				},
+				"ansi-styles": {
+					"version": "2.2.1",
+					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+					"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+					"dev": true
+				},
+				"camelcase": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+					"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+					"dev": true
+				},
+				"camelcase-keys": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+					"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+					"dev": true,
+					"requires": {
+						"camelcase": "^2.0.0",
+						"map-obj": "^1.0.0"
+					}
+				},
+				"chalk": {
+					"version": "1.1.3",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+					"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+					"dev": true,
+					"requires": {
+						"ansi-styles": "^2.2.1",
+						"escape-string-regexp": "^1.0.2",
+						"has-ansi": "^2.0.0",
+						"strip-ansi": "^3.0.0",
+						"supports-color": "^2.0.0"
+					}
+				},
+				"cross-spawn": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+					"integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+					"dev": true,
+					"requires": {
+						"lru-cache": "^4.0.1",
+						"which": "^1.2.9"
+					}
+				},
+				"get-stdin": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+					"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+					"dev": true
+				},
+				"indent-string": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+					"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+					"dev": true,
+					"requires": {
+						"repeating": "^2.0.0"
+					}
+				},
+				"map-obj": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+					"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+					"dev": true
+				},
+				"meow": {
+					"version": "3.7.0",
+					"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+					"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+					"dev": true,
+					"requires": {
+						"camelcase-keys": "^2.0.0",
+						"decamelize": "^1.1.2",
+						"loud-rejection": "^1.0.0",
+						"map-obj": "^1.0.1",
+						"minimist": "^1.1.3",
+						"normalize-package-data": "^2.3.4",
+						"object-assign": "^4.0.1",
+						"read-pkg-up": "^1.0.1",
+						"redent": "^1.0.0",
+						"trim-newlines": "^1.0.0"
+					}
+				},
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				},
+				"redent": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+					"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+					"dev": true,
+					"requires": {
+						"indent-string": "^2.1.0",
+						"strip-indent": "^1.0.1"
+					}
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				},
+				"strip-indent": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+					"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+					"dev": true,
+					"requires": {
+						"get-stdin": "^4.0.1"
+					}
+				},
+				"supports-color": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+					"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+					"dev": true
+				},
+				"trim-newlines": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+					"integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+					"dev": true
+				}
+			}
+		},
+		"nopt": {
+			"version": "1.0.10",
+			"resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+			"integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+			"requires": {
+				"abbrev": "1"
+			}
+		},
+		"normalize-package-data": {
+			"version": "2.5.0",
+			"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+			"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+			"dev": true,
+			"requires": {
+				"hosted-git-info": "^2.1.4",
+				"resolve": "^1.10.0",
+				"semver": "2 || 3 || 4 || 5",
+				"validate-npm-package-license": "^3.0.1"
+			}
+		},
+		"normalize-path": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+			"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+			"dev": true,
+			"requires": {
+				"remove-trailing-separator": "^1.0.1"
+			}
+		},
+		"normalize-range": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+			"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+			"dev": true
+		},
+		"normalize-selector": {
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
+			"integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
+			"dev": true
+		},
+		"npm-package-json-lint": {
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-3.6.0.tgz",
+			"integrity": "sha512-N1y3r0l0oN7mYnMfRzZvYF8+NvjIx+zkskRn3J7ofipJKGH4RDDKdEGP/mV1Crf5W8uUo3201VhJe04Q+v9erw==",
+			"dev": true,
+			"requires": {
+				"ajv": "^6.9.2",
+				"chalk": "^2.4.2",
+				"glob": "^7.1.3",
+				"ignore": "^5.0.5",
+				"is-path-inside": "^2.0.0",
+				"is-plain-obj": "^1.1.0",
+				"is-resolvable": "^1.1.0",
+				"log-symbols": "^2.2.0",
+				"meow": "^5.0.0",
+				"plur": "^3.0.1",
+				"semver": "^5.6.0",
+				"strip-json-comments": "^2.0.1",
+				"validator": "^10.11.0"
+			},
+			"dependencies": {
+				"ajv": {
+					"version": "6.10.0",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
+					"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
+					"dev": true,
+					"requires": {
+						"fast-deep-equal": "^2.0.1",
+						"fast-json-stable-stringify": "^2.0.0",
+						"json-schema-traverse": "^0.4.1",
+						"uri-js": "^4.2.2"
+					}
+				},
+				"ignore": {
+					"version": "5.0.6",
+					"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.6.tgz",
+					"integrity": "sha512-/+hp3kUf/Csa32ktIaj0OlRqQxrgs30n62M90UBpNd9k+ENEch5S+hmbW3DtcJGz3sYFTh4F3A6fQ0q7KWsp4w==",
+					"dev": true
+				}
+			}
+		},
+		"npm-run-path": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+			"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+			"dev": true,
+			"requires": {
+				"path-key": "^2.0.0"
+			}
+		},
+		"npmlog": {
+			"version": "4.1.2",
+			"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+			"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+			"dev": true,
+			"requires": {
+				"are-we-there-yet": "~1.1.2",
+				"console-control-strings": "~1.1.0",
+				"gauge": "~2.7.3",
+				"set-blocking": "~2.0.0"
+			}
+		},
+		"nth-check": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
+			"integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+			"dev": true,
+			"requires": {
+				"boolbase": "~1.0.0"
+			}
+		},
+		"num2fraction": {
+			"version": "1.2.2",
+			"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+			"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+			"dev": true
+		},
+		"number-is-nan": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+			"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+			"dev": true
+		},
+		"nwsapi": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz",
+			"integrity": "sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg==",
+			"dev": true
+		},
+		"oauth-sign": {
+			"version": "0.9.0",
+			"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+			"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+			"dev": true
+		},
+		"object-assign": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+			"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+		},
+		"object-copy": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+			"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+			"dev": true,
+			"requires": {
+				"copy-descriptor": "^0.1.0",
+				"define-property": "^0.2.5",
+				"kind-of": "^3.0.3"
+			},
+			"dependencies": {
+				"define-property": {
+					"version": "0.2.5",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^0.1.0"
+					}
+				}
+			}
+		},
+		"object-filter": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz",
+			"integrity": "sha1-rwt5f/6+r4pSxmN87b6IFs/sG8g=",
+			"dev": true
+		},
+		"object-inspect": {
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
+			"integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
+			"dev": true
+		},
+		"object-is": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
+			"integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
+			"dev": true
+		},
+		"object-keys": {
+			"version": "1.0.12",
+			"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+			"integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
+			"dev": true
+		},
+		"object-visit": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+			"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+			"dev": true,
+			"requires": {
+				"isobject": "^3.0.0"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
+			}
+		},
+		"object.assign": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+			"integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"function-bind": "^1.1.1",
+				"has-symbols": "^1.0.0",
+				"object-keys": "^1.0.11"
+			}
+		},
+		"object.entries": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
+			"integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.3",
+				"es-abstract": "^1.12.0",
+				"function-bind": "^1.1.1",
+				"has": "^1.0.3"
+			}
+		},
+		"object.fromentries": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz",
+			"integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.11.0",
+				"function-bind": "^1.1.1",
+				"has": "^1.0.1"
+			}
+		},
+		"object.getownpropertydescriptors": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+			"integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.5.1"
+			}
+		},
+		"object.pick": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+			"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+			"dev": true,
+			"requires": {
+				"isobject": "^3.0.1"
+			},
+			"dependencies": {
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
+			}
+		},
+		"object.values": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
+			"integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.3",
+				"es-abstract": "^1.12.0",
+				"function-bind": "^1.1.1",
+				"has": "^1.0.3"
+			}
+		},
+		"on-finished": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+			"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+			"dev": true,
+			"requires": {
+				"ee-first": "1.1.1"
+			}
+		},
+		"once": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+			"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+			"dev": true,
+			"requires": {
+				"wrappy": "1"
+			}
+		},
+		"onetime": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+			"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+			"dev": true,
+			"requires": {
+				"mimic-fn": "^1.0.0"
+			}
+		},
+		"opener": {
+			"version": "1.5.1",
+			"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
+			"integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==",
+			"dev": true
+		},
+		"optimist": {
+			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+			"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+			"dev": true,
+			"requires": {
+				"minimist": "~0.0.1",
+				"wordwrap": "~0.0.2"
+			},
+			"dependencies": {
+				"wordwrap": {
+					"version": "0.0.3",
+					"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+					"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+					"dev": true
+				}
+			}
+		},
+		"optionator": {
+			"version": "0.8.2",
+			"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+			"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+			"dev": true,
+			"requires": {
+				"deep-is": "~0.1.3",
+				"fast-levenshtein": "~2.0.4",
+				"levn": "~0.3.0",
+				"prelude-ls": "~1.1.2",
+				"type-check": "~0.3.2",
+				"wordwrap": "~1.0.0"
+			}
+		},
+		"os-browserify": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+			"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+			"dev": true
+		},
+		"os-homedir": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+			"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+			"dev": true
+		},
+		"os-locale": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+			"integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+			"dev": true,
+			"requires": {
+				"execa": "^1.0.0",
+				"lcid": "^2.0.0",
+				"mem": "^4.0.0"
+			}
+		},
+		"os-tmpdir": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+			"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+			"dev": true
+		},
+		"osenv": {
+			"version": "0.1.5",
+			"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+			"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+			"dev": true,
+			"requires": {
+				"os-homedir": "^1.0.0",
+				"os-tmpdir": "^1.0.0"
+			}
+		},
+		"p-defer": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+			"integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+			"dev": true
+		},
+		"p-each-series": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz",
+			"integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=",
+			"dev": true,
+			"requires": {
+				"p-reduce": "^1.0.0"
+			}
+		},
+		"p-finally": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+			"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+			"dev": true
+		},
+		"p-is-promise": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz",
+			"integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==",
+			"dev": true
+		},
+		"p-limit": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
+			"integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
+			"dev": true,
+			"requires": {
+				"p-try": "^2.0.0"
+			}
+		},
+		"p-locate": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+			"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+			"dev": true,
+			"requires": {
+				"p-limit": "^2.0.0"
+			}
+		},
+		"p-reduce": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
+			"integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
+			"dev": true
+		},
+		"p-try": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
+			"integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+			"dev": true
+		},
+		"pako": {
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.8.tgz",
+			"integrity": "sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA==",
+			"dev": true
+		},
+		"parallel-transform": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
+			"integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
+			"dev": true,
+			"requires": {
+				"cyclist": "~0.2.2",
+				"inherits": "^2.0.3",
+				"readable-stream": "^2.1.5"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"parent-module": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz",
+			"integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==",
+			"dev": true,
+			"requires": {
+				"callsites": "^3.0.0"
+			},
+			"dependencies": {
+				"callsites": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz",
+					"integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==",
+					"dev": true
+				}
+			}
+		},
+		"parse-asn1": {
+			"version": "5.1.3",
+			"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz",
+			"integrity": "sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==",
+			"dev": true,
+			"requires": {
+				"asn1.js": "^4.0.0",
+				"browserify-aes": "^1.0.0",
+				"create-hash": "^1.1.0",
+				"evp_bytestokey": "^1.0.0",
+				"pbkdf2": "^3.0.3",
+				"safe-buffer": "^5.1.1"
+			}
+		},
+		"parse-entities": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.1.tgz",
+			"integrity": "sha512-NBWYLQm1KSoDKk7GAHyioLTvCZ5QjdH/ASBBQTD3iLiAWJXS5bg1jEWI8nIJ+vgVvsceBVBcDGRWSo0KVQBvvg==",
+			"dev": true,
+			"requires": {
+				"character-entities": "^1.0.0",
+				"character-entities-legacy": "^1.0.0",
+				"character-reference-invalid": "^1.0.0",
+				"is-alphanumerical": "^1.0.0",
+				"is-decimal": "^1.0.0",
+				"is-hexadecimal": "^1.0.0"
+			}
+		},
+		"parse-json": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+			"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+			"requires": {
+				"error-ex": "^1.3.1",
+				"json-parse-better-errors": "^1.0.1"
+			}
+		},
+		"parse-passwd": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+			"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+			"dev": true
+		},
+		"parse5": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
+			"integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
+			"dev": true,
+			"requires": {
+				"@types/node": "*"
+			}
+		},
+		"parseurl": {
+			"version": "1.3.2",
+			"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+			"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
+			"dev": true
+		},
+		"pascalcase": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+			"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+			"dev": true
+		},
+		"path-browserify": {
+			"version": "0.0.0",
+			"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+			"integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+			"dev": true
+		},
+		"path-dirname": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+			"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+			"dev": true
+		},
+		"path-exists": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+			"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+			"dev": true
+		},
+		"path-is-absolute": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+			"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+			"dev": true
+		},
+		"path-is-inside": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+			"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+			"dev": true
+		},
+		"path-key": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+			"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+			"dev": true
+		},
+		"path-parse": {
+			"version": "1.0.6",
+			"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+			"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+		},
+		"path-to-regexp": {
+			"version": "0.1.7",
+			"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+			"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+			"dev": true
+		},
+		"path-type": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+			"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.2",
+				"pify": "^2.0.0",
+				"pinkie-promise": "^2.0.0"
+			}
+		},
+		"pbkdf2": {
+			"version": "3.0.17",
+			"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+			"integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+			"dev": true,
+			"requires": {
+				"create-hash": "^1.1.2",
+				"create-hmac": "^1.1.4",
+				"ripemd160": "^2.0.1",
+				"safe-buffer": "^5.0.1",
+				"sha.js": "^2.4.8"
+			}
+		},
+		"pend": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+			"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+			"dev": true
+		},
+		"performance-now": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+			"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+		},
+		"pify": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+			"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+			"dev": true
+		},
+		"pinkie": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+			"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+			"dev": true
+		},
+		"pinkie-promise": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+			"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+			"dev": true,
+			"requires": {
+				"pinkie": "^2.0.0"
+			}
+		},
+		"pirates": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+			"integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+			"dev": true,
+			"requires": {
+				"node-modules-regexp": "^1.0.0"
+			}
+		},
+		"pkg-dir": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+			"integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+			"dev": true,
+			"requires": {
+				"find-up": "^2.1.0"
+			},
+			"dependencies": {
+				"find-up": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+					"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+					"dev": true,
+					"requires": {
+						"locate-path": "^2.0.0"
+					}
+				},
+				"locate-path": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+					"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+					"dev": true,
+					"requires": {
+						"p-locate": "^2.0.0",
+						"path-exists": "^3.0.0"
+					}
+				},
+				"p-limit": {
+					"version": "1.3.0",
+					"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+					"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+					"dev": true,
+					"requires": {
+						"p-try": "^1.0.0"
+					}
+				},
+				"p-locate": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+					"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+					"dev": true,
+					"requires": {
+						"p-limit": "^1.1.0"
+					}
+				},
+				"p-try": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+					"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+					"dev": true
+				}
+			}
+		},
+		"plur": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/plur/-/plur-3.0.1.tgz",
+			"integrity": "sha512-lJl0ojUynAM1BZn58Pas2WT/TXeC1+bS+UqShl0x9+49AtOn7DixRXVzaC8qrDOIxNDmepKnLuMTH7NQmkX0PA==",
+			"dev": true,
+			"requires": {
+				"irregular-plurals": "^2.0.0"
+			}
+		},
+		"pn": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+			"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+			"dev": true
+		},
+		"portfinder": {
+			"version": "1.0.20",
+			"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz",
+			"integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==",
+			"dev": true,
+			"requires": {
+				"async": "^1.5.2",
+				"debug": "^2.2.0",
+				"mkdirp": "0.5.x"
+			},
+			"dependencies": {
+				"async": {
+					"version": "1.5.2",
+					"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+					"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+					"dev": true
+				},
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"posix-character-classes": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+			"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+			"dev": true
+		},
+		"postcss": {
+			"version": "7.0.14",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
+			"integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.4.2",
+				"source-map": "^0.6.1",
+				"supports-color": "^6.1.0"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				},
+				"supports-color": {
+					"version": "6.1.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+					"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+					"dev": true,
+					"requires": {
+						"has-flag": "^3.0.0"
+					}
+				}
+			}
+		},
+		"postcss-html": {
+			"version": "0.36.0",
+			"resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
+			"integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
+			"dev": true,
+			"requires": {
+				"htmlparser2": "^3.10.0"
+			}
+		},
+		"postcss-jsx": {
+			"version": "0.36.0",
+			"resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.0.tgz",
+			"integrity": "sha512-/lWOSXSX5jlITCKFkuYU2WLFdrncZmjSVyNpHAunEgirZXLwI8RjU556e3Uz4mv0WVHnJA9d3JWb36lK9Yx99g==",
+			"dev": true,
+			"requires": {
+				"@babel/core": ">=7.1.0"
+			}
+		},
+		"postcss-less": {
+			"version": "3.1.4",
+			"resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
+			"integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
+			"dev": true,
+			"requires": {
+				"postcss": "^7.0.14"
+			}
+		},
+		"postcss-markdown": {
+			"version": "0.36.0",
+			"resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
+			"integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
+			"dev": true,
+			"requires": {
+				"remark": "^10.0.1",
+				"unist-util-find-all-after": "^1.0.2"
+			}
+		},
+		"postcss-media-query-parser": {
+			"version": "0.2.3",
+			"resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+			"integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
+			"dev": true
+		},
+		"postcss-modules-extract-imports": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
+			"integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
+			"dev": true,
+			"requires": {
+				"postcss": "^6.0.1"
+			},
+			"dependencies": {
+				"postcss": {
+					"version": "6.0.23",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+					"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"postcss-modules-local-by-default": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+			"integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+			"dev": true,
+			"requires": {
+				"css-selector-tokenizer": "^0.7.0",
+				"postcss": "^6.0.1"
+			},
+			"dependencies": {
+				"postcss": {
+					"version": "6.0.23",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+					"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"postcss-modules-scope": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+			"integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+			"dev": true,
+			"requires": {
+				"css-selector-tokenizer": "^0.7.0",
+				"postcss": "^6.0.1"
+			},
+			"dependencies": {
+				"postcss": {
+					"version": "6.0.23",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+					"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"postcss-modules-values": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+			"integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+			"dev": true,
+			"requires": {
+				"icss-replace-symbols": "^1.1.0",
+				"postcss": "^6.0.1"
+			},
+			"dependencies": {
+				"postcss": {
+					"version": "6.0.23",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+					"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"postcss-reporter": {
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz",
+			"integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.4.1",
+				"lodash": "^4.17.11",
+				"log-symbols": "^2.2.0",
+				"postcss": "^7.0.7"
+			}
+		},
+		"postcss-resolve-nested-selector": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+			"integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+			"dev": true
+		},
+		"postcss-safe-parser": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
+			"integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
+			"dev": true,
+			"requires": {
+				"postcss": "^7.0.0"
+			}
+		},
+		"postcss-sass": {
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz",
+			"integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
+			"dev": true,
+			"requires": {
+				"gonzales-pe": "^4.2.3",
+				"postcss": "^7.0.1"
+			}
+		},
+		"postcss-scss": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
+			"integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
+			"dev": true,
+			"requires": {
+				"postcss": "^7.0.0"
+			}
+		},
+		"postcss-selector-parser": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+			"integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+			"dev": true,
+			"requires": {
+				"dot-prop": "^4.1.1",
+				"indexes-of": "^1.0.1",
+				"uniq": "^1.0.1"
+			}
+		},
+		"postcss-syntax": {
+			"version": "0.36.2",
+			"resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
+			"integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
+			"dev": true
+		},
+		"postcss-value-parser": {
+			"version": "3.3.1",
+			"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+			"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
+			"dev": true
+		},
+		"prelude-ls": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+			"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+			"dev": true
+		},
+		"pretty-format": {
+			"version": "24.5.0",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.5.0.tgz",
+			"integrity": "sha512-/3RuSghukCf8Riu5Ncve0iI+BzVkbRU5EeUoArKARZobREycuH5O4waxvaNIloEXdb0qwgmEAed5vTpX1HNROQ==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "^24.5.0",
+				"ansi-regex": "^4.0.0",
+				"ansi-styles": "^3.2.0",
+				"react-is": "^16.8.4"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+					"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+					"dev": true
+				}
+			}
+		},
+		"private": {
+			"version": "0.1.8",
+			"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+			"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+			"dev": true
+		},
+		"process": {
+			"version": "0.11.10",
+			"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+			"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+			"dev": true
+		},
+		"process-nextick-args": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+			"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+			"dev": true
+		},
+		"progress": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+			"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+			"dev": true
+		},
+		"promise-inflight": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+			"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+			"dev": true
+		},
+		"prompts": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.0.4.tgz",
+			"integrity": "sha512-HTzM3UWp/99A0gk51gAegwo1QRYA7xjcZufMNe33rCclFszUYAuHe1fIN/3ZmiHeGPkUsNaRyQm1hHOfM0PKxA==",
+			"dev": true,
+			"requires": {
+				"kleur": "^3.0.2",
+				"sisteransi": "^1.0.0"
+			}
+		},
+		"prop-types": {
+			"version": "15.6.2",
+			"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
+			"integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
+			"requires": {
+				"loose-envify": "^1.3.1",
+				"object-assign": "^4.1.1"
+			}
+		},
+		"proxy-addr": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
+			"integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
+			"dev": true,
+			"requires": {
+				"forwarded": "~0.1.2",
+				"ipaddr.js": "1.8.0"
+			}
+		},
+		"proxy-from-env": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
+			"integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
+			"dev": true
+		},
+		"prr": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+			"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+			"dev": true
+		},
+		"pseudomap": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+			"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+			"dev": true
+		},
+		"psl": {
+			"version": "1.1.31",
+			"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
+			"integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
+			"dev": true
+		},
+		"public-encrypt": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+			"integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+			"dev": true,
+			"requires": {
+				"bn.js": "^4.1.0",
+				"browserify-rsa": "^4.0.0",
+				"create-hash": "^1.1.0",
+				"parse-asn1": "^5.0.0",
+				"randombytes": "^2.0.1",
+				"safe-buffer": "^5.1.2"
+			}
+		},
+		"pump": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+			"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+			"dev": true,
+			"requires": {
+				"end-of-stream": "^1.1.0",
+				"once": "^1.3.1"
+			}
+		},
+		"pumpify": {
+			"version": "1.5.1",
+			"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+			"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+			"dev": true,
+			"requires": {
+				"duplexify": "^3.6.0",
+				"inherits": "^2.0.3",
+				"pump": "^2.0.0"
+			},
+			"dependencies": {
+				"pump": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+					"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+					"dev": true,
+					"requires": {
+						"end-of-stream": "^1.1.0",
+						"once": "^1.3.1"
+					}
+				}
+			}
+		},
+		"punycode": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+			"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+			"dev": true
+		},
+		"puppeteer": {
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.6.1.tgz",
+			"integrity": "sha512-qz6DLwK+PhlBMjJZOMOsgVCnweYLtmiqnmJYUDPT++ElMz+cQgbsCNKPw4YDVpg3RTbsRX/pqQqr20zrp0cuKw==",
+			"dev": true,
+			"requires": {
+				"debug": "^3.1.0",
+				"extract-zip": "^1.6.6",
+				"https-proxy-agent": "^2.2.1",
+				"mime": "^2.0.3",
+				"progress": "^2.0.0",
+				"proxy-from-env": "^1.0.0",
+				"rimraf": "^2.6.1",
+				"ws": "^5.1.1"
+			}
+		},
+		"qs": {
+			"version": "6.5.2",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+			"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+			"dev": true
+		},
+		"querystring": {
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+			"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+			"dev": true
+		},
+		"querystring-es3": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+			"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+			"dev": true
+		},
+		"quick-lru": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
+			"integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+			"dev": true
+		},
+		"raf": {
+			"version": "3.4.1",
+			"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
+			"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+			"requires": {
+				"performance-now": "^2.1.0"
+			}
+		},
+		"railroad-diagrams": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
+			"integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=",
+			"dev": true
+		},
+		"randexp": {
+			"version": "0.4.6",
+			"resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
+			"integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
+			"dev": true,
+			"requires": {
+				"discontinuous-range": "1.0.0",
+				"ret": "~0.1.10"
+			}
+		},
+		"randombytes": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+			"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+			"dev": true,
+			"requires": {
+				"safe-buffer": "^5.1.0"
+			}
+		},
+		"randomfill": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+			"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+			"dev": true,
+			"requires": {
+				"randombytes": "^2.0.5",
+				"safe-buffer": "^5.1.0"
+			}
+		},
+		"range-parser": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+			"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+			"dev": true
+		},
+		"raw-body": {
+			"version": "2.3.3",
+			"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
+			"integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
+			"dev": true,
+			"requires": {
+				"bytes": "3.0.0",
+				"http-errors": "1.6.3",
+				"iconv-lite": "0.4.23",
+				"unpipe": "1.0.0"
+			},
+			"dependencies": {
+				"iconv-lite": {
+					"version": "0.4.23",
+					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+					"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+					"dev": true,
+					"requires": {
+						"safer-buffer": ">= 2.1.2 < 3"
+					}
+				}
+			}
+		},
+		"react": {
+			"version": "16.7.0",
+			"resolved": "https://registry.npmjs.org/react/-/react-16.7.0.tgz",
+			"integrity": "sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A==",
+			"dev": true,
+			"requires": {
+				"loose-envify": "^1.1.0",
+				"object-assign": "^4.1.1",
+				"prop-types": "^15.6.2",
+				"scheduler": "^0.12.0"
+			}
+		},
+		"react-dom": {
+			"version": "16.7.0",
+			"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.7.0.tgz",
+			"integrity": "sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg==",
+			"dev": true,
+			"requires": {
+				"loose-envify": "^1.1.0",
+				"object-assign": "^4.1.1",
+				"prop-types": "^15.6.2",
+				"scheduler": "^0.12.0"
+			}
+		},
+		"react-input-autosize": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz",
+			"integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==",
+			"requires": {
+				"prop-types": "^15.5.8"
+			}
+		},
+		"react-is": {
+			"version": "16.8.5",
+			"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.5.tgz",
+			"integrity": "sha512-sudt2uq5P/2TznPV4Wtdi+Lnq3yaYW8LfvPKLM9BKD8jJNBkxMVyB0C9/GmVhLw7Jbdmndk/73n7XQGeN9A3QQ==",
+			"dev": true
+		},
+		"react-lifecycles-compat": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+			"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+		},
+		"react-select": {
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/react-select/-/react-select-2.4.2.tgz",
+			"integrity": "sha512-5xFOQ6JJktkY5NTaHrc6x9mKwIjhNIiBkGic1j71uyY+ulFpRFra6f4WKLd9fuCylk4WjLpO5zDhdF4CAcwFzA==",
+			"requires": {
+				"classnames": "^2.2.5",
+				"emotion": "^9.1.2",
+				"memoize-one": "^5.0.0",
+				"prop-types": "^15.6.0",
+				"raf": "^3.4.0",
+				"react-input-autosize": "^2.2.1",
+				"react-transition-group": "^2.2.1"
+			}
+		},
+		"react-test-renderer": {
+			"version": "16.8.5",
+			"resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.8.5.tgz",
+			"integrity": "sha512-/pFpHYQH4f35OqOae/DgOCXJDxBqD3K3akVfDhLgR0qYHoHjnICI/XS9QDwIhbrOFHWL7okVW9kKMaHuKvt2ng==",
+			"dev": true,
+			"requires": {
+				"object-assign": "^4.1.1",
+				"prop-types": "^15.6.2",
+				"react-is": "^16.8.5",
+				"scheduler": "^0.13.5"
+			},
+			"dependencies": {
+				"scheduler": {
+					"version": "0.13.5",
+					"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.5.tgz",
+					"integrity": "sha512-K98vjkQX9OIt/riLhp6F+XtDPtMQhqNcf045vsh+pcuvHq+PHy1xCrH3pq1P40m6yR46lpVvVhKdEOtnimuUJw==",
+					"dev": true,
+					"requires": {
+						"loose-envify": "^1.1.0",
+						"object-assign": "^4.1.1"
+					}
+				}
+			}
+		},
+		"react-transition-group": {
+			"version": "2.7.1",
+			"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.7.1.tgz",
+			"integrity": "sha512-b0VJTzNRnXxRpCuxng6QJbAzmmrhBn1BZJfPPnHbH2PIo8msdkajqwtfdyGm/OypPXZNfAHKEqeN15wjMXrRJQ==",
+			"requires": {
+				"dom-helpers": "^3.3.1",
+				"loose-envify": "^1.4.0",
+				"prop-types": "^15.6.2",
+				"react-lifecycles-compat": "^3.0.4"
+			}
+		},
+		"read-pkg": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+			"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+			"dev": true,
+			"requires": {
+				"load-json-file": "^1.0.0",
+				"normalize-package-data": "^2.3.2",
+				"path-type": "^1.0.0"
+			}
+		},
+		"read-pkg-up": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+			"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+			"dev": true,
+			"requires": {
+				"find-up": "^1.0.0",
+				"read-pkg": "^1.0.0"
+			},
+			"dependencies": {
+				"find-up": {
+					"version": "1.1.2",
+					"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+					"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+					"dev": true,
+					"requires": {
+						"path-exists": "^2.0.0",
+						"pinkie-promise": "^2.0.0"
+					}
+				},
+				"path-exists": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+					"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+					"dev": true,
+					"requires": {
+						"pinkie-promise": "^2.0.0"
+					}
+				}
+			}
+		},
+		"readable-stream": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
+			"integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.3",
+				"string_decoder": "^1.1.1",
+				"util-deprecate": "^1.0.1"
+			}
+		},
+		"readdirp": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+			"integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.11",
+				"micromatch": "^3.1.10",
+				"readable-stream": "^2.0.2"
+			},
+			"dependencies": {
+				"arr-diff": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+					"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+					"dev": true
+				},
+				"array-unique": {
+					"version": "0.3.2",
+					"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+					"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+					"dev": true
+				},
+				"braces": {
+					"version": "2.3.2",
+					"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+					"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+					"dev": true,
+					"requires": {
+						"arr-flatten": "^1.1.0",
+						"array-unique": "^0.3.2",
+						"extend-shallow": "^2.0.1",
+						"fill-range": "^4.0.0",
+						"isobject": "^3.0.1",
+						"repeat-element": "^1.1.2",
+						"snapdragon": "^0.8.1",
+						"snapdragon-node": "^2.0.1",
+						"split-string": "^3.0.2",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"expand-brackets": {
+					"version": "2.1.4",
+					"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+					"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+					"dev": true,
+					"requires": {
+						"debug": "^2.3.3",
+						"define-property": "^0.2.5",
+						"extend-shallow": "^2.0.1",
+						"posix-character-classes": "^0.1.0",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"define-property": {
+							"version": "0.2.5",
+							"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+							"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+							"dev": true,
+							"requires": {
+								"is-descriptor": "^0.1.0"
+							}
+						},
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						},
+						"is-accessor-descriptor": {
+							"version": "0.1.6",
+							"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+							"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+							"dev": true,
+							"requires": {
+								"kind-of": "^3.0.2"
+							},
+							"dependencies": {
+								"kind-of": {
+									"version": "3.2.2",
+									"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+									"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+									"dev": true,
+									"requires": {
+										"is-buffer": "^1.1.5"
+									}
+								}
+							}
+						},
+						"is-data-descriptor": {
+							"version": "0.1.4",
+							"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+							"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+							"dev": true,
+							"requires": {
+								"kind-of": "^3.0.2"
+							},
+							"dependencies": {
+								"kind-of": {
+									"version": "3.2.2",
+									"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+									"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+									"dev": true,
+									"requires": {
+										"is-buffer": "^1.1.5"
+									}
+								}
+							}
+						},
+						"is-descriptor": {
+							"version": "0.1.6",
+							"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+							"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+							"dev": true,
+							"requires": {
+								"is-accessor-descriptor": "^0.1.6",
+								"is-data-descriptor": "^0.1.4",
+								"kind-of": "^5.0.0"
+							}
+						},
+						"kind-of": {
+							"version": "5.1.0",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+							"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+							"dev": true
+						}
+					}
+				},
+				"extglob": {
+					"version": "2.0.4",
+					"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+					"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+					"dev": true,
+					"requires": {
+						"array-unique": "^0.3.2",
+						"define-property": "^1.0.0",
+						"expand-brackets": "^2.1.4",
+						"extend-shallow": "^2.0.1",
+						"fragment-cache": "^0.2.1",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"define-property": {
+							"version": "1.0.0",
+							"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+							"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+							"dev": true,
+							"requires": {
+								"is-descriptor": "^1.0.0"
+							}
+						},
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"fill-range": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+					"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+					"dev": true,
+					"requires": {
+						"extend-shallow": "^2.0.1",
+						"is-number": "^3.0.0",
+						"repeat-string": "^1.6.1",
+						"to-regex-range": "^2.1.0"
+					},
+					"dependencies": {
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"is-accessor-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-data-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-descriptor": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+					"dev": true,
+					"requires": {
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
+					}
+				},
+				"is-number": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+					"dev": true,
+					"requires": {
+						"kind-of": "^3.0.2"
+					},
+					"dependencies": {
+						"kind-of": {
+							"version": "3.2.2",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+							"dev": true,
+							"requires": {
+								"is-buffer": "^1.1.5"
+							}
+						}
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				},
+				"micromatch": {
+					"version": "3.1.10",
+					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+					"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+					"dev": true,
+					"requires": {
+						"arr-diff": "^4.0.0",
+						"array-unique": "^0.3.2",
+						"braces": "^2.3.1",
+						"define-property": "^2.0.2",
+						"extend-shallow": "^3.0.2",
+						"extglob": "^2.0.4",
+						"fragment-cache": "^0.2.1",
+						"kind-of": "^6.0.2",
+						"nanomatch": "^1.2.9",
+						"object.pick": "^1.3.0",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.2"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				},
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"realpath-native": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
+			"integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==",
+			"dev": true,
+			"requires": {
+				"util.promisify": "^1.0.0"
+			}
+		},
+		"redent": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
+			"integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+			"dev": true,
+			"requires": {
+				"indent-string": "^3.0.0",
+				"strip-indent": "^2.0.0"
+			}
+		},
+		"regenerate": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+			"integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+			"dev": true
+		},
+		"regenerate-unicode-properties": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
+			"integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
+			"dev": true,
+			"requires": {
+				"regenerate": "^1.4.0"
+			}
+		},
+		"regenerator-runtime": {
+			"version": "0.12.1",
+			"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
+			"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+		},
+		"regenerator-transform": {
+			"version": "0.13.3",
+			"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz",
+			"integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==",
+			"dev": true,
+			"requires": {
+				"private": "^0.1.6"
+			}
+		},
+		"regex-not": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+			"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+			"dev": true,
+			"requires": {
+				"extend-shallow": "^3.0.2",
+				"safe-regex": "^1.1.0"
+			}
+		},
+		"regexp-tree": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.1.tgz",
+			"integrity": "sha512-HwRjOquc9QOwKTgbxvZTcddS5mlNlwePMQ3NFL8broajMLD5CXDAqas8Y5yxJH5QtZp5iRor3YCILd5pz71Cgw==",
+			"dev": true,
+			"requires": {
+				"cli-table3": "^0.5.0",
+				"colors": "^1.1.2",
+				"yargs": "^12.0.5"
+			}
+		},
+		"regexpp": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+			"integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+			"dev": true
+		},
+		"regexpu-core": {
+			"version": "4.4.0",
+			"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz",
+			"integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==",
+			"dev": true,
+			"requires": {
+				"regenerate": "^1.4.0",
+				"regenerate-unicode-properties": "^7.0.0",
+				"regjsgen": "^0.5.0",
+				"regjsparser": "^0.6.0",
+				"unicode-match-property-ecmascript": "^1.0.4",
+				"unicode-match-property-value-ecmascript": "^1.0.2"
+			}
+		},
+		"regjsgen": {
+			"version": "0.5.0",
+			"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+			"integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+			"dev": true
+		},
+		"regjsparser": {
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+			"integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+			"dev": true,
+			"requires": {
+				"jsesc": "~0.5.0"
+			},
+			"dependencies": {
+				"jsesc": {
+					"version": "0.5.0",
+					"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+					"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+					"dev": true
+				}
+			}
+		},
+		"remark": {
+			"version": "10.0.1",
+			"resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
+			"integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
+			"dev": true,
+			"requires": {
+				"remark-parse": "^6.0.0",
+				"remark-stringify": "^6.0.0",
+				"unified": "^7.0.0"
+			}
+		},
+		"remark-parse": {
+			"version": "6.0.3",
+			"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
+			"integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
+			"dev": true,
+			"requires": {
+				"collapse-white-space": "^1.0.2",
+				"is-alphabetical": "^1.0.0",
+				"is-decimal": "^1.0.0",
+				"is-whitespace-character": "^1.0.0",
+				"is-word-character": "^1.0.0",
+				"markdown-escapes": "^1.0.0",
+				"parse-entities": "^1.1.0",
+				"repeat-string": "^1.5.4",
+				"state-toggle": "^1.0.0",
+				"trim": "0.0.1",
+				"trim-trailing-lines": "^1.0.0",
+				"unherit": "^1.0.4",
+				"unist-util-remove-position": "^1.0.0",
+				"vfile-location": "^2.0.0",
+				"xtend": "^4.0.1"
+			}
+		},
+		"remark-stringify": {
+			"version": "6.0.4",
+			"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
+			"integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
+			"dev": true,
+			"requires": {
+				"ccount": "^1.0.0",
+				"is-alphanumeric": "^1.0.0",
+				"is-decimal": "^1.0.0",
+				"is-whitespace-character": "^1.0.0",
+				"longest-streak": "^2.0.1",
+				"markdown-escapes": "^1.0.0",
+				"markdown-table": "^1.1.0",
+				"mdast-util-compact": "^1.0.0",
+				"parse-entities": "^1.0.2",
+				"repeat-string": "^1.5.4",
+				"state-toggle": "^1.0.0",
+				"stringify-entities": "^1.0.1",
+				"unherit": "^1.0.4",
+				"xtend": "^4.0.1"
+			}
+		},
+		"remove-trailing-separator": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+			"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+			"dev": true
+		},
+		"repeat-element": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+			"integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+			"dev": true
+		},
+		"repeat-string": {
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+			"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+			"dev": true
+		},
+		"repeating": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+			"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+			"dev": true,
+			"requires": {
+				"is-finite": "^1.0.0"
+			}
+		},
+		"replace-ext": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+			"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+			"dev": true
+		},
+		"request": {
+			"version": "2.88.0",
+			"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+			"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+			"dev": true,
+			"requires": {
+				"aws-sign2": "~0.7.0",
+				"aws4": "^1.8.0",
+				"caseless": "~0.12.0",
+				"combined-stream": "~1.0.6",
+				"extend": "~3.0.2",
+				"forever-agent": "~0.6.1",
+				"form-data": "~2.3.2",
+				"har-validator": "~5.1.0",
+				"http-signature": "~1.2.0",
+				"is-typedarray": "~1.0.0",
+				"isstream": "~0.1.2",
+				"json-stringify-safe": "~5.0.1",
+				"mime-types": "~2.1.19",
+				"oauth-sign": "~0.9.0",
+				"performance-now": "^2.1.0",
+				"qs": "~6.5.2",
+				"safe-buffer": "^5.1.2",
+				"tough-cookie": "~2.4.3",
+				"tunnel-agent": "^0.6.0",
+				"uuid": "^3.3.2"
+			},
+			"dependencies": {
+				"punycode": {
+					"version": "1.4.1",
+					"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+					"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+					"dev": true
+				},
+				"tough-cookie": {
+					"version": "2.4.3",
+					"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+					"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+					"dev": true,
+					"requires": {
+						"psl": "^1.1.24",
+						"punycode": "^1.4.1"
+					}
+				}
+			}
+		},
+		"request-promise-core": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
+			"integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
+			"dev": true,
+			"requires": {
+				"lodash": "^4.17.11"
+			}
+		},
+		"request-promise-native": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz",
+			"integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==",
+			"dev": true,
+			"requires": {
+				"request-promise-core": "1.1.2",
+				"stealthy-require": "^1.1.1",
+				"tough-cookie": "^2.3.3"
+			}
+		},
+		"require-directory": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+			"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+			"dev": true
+		},
+		"require-main-filename": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+			"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+			"dev": true
+		},
+		"requireindex": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
+			"integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
+			"dev": true
+		},
+		"resolve": {
+			"version": "1.10.0",
+			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
+			"integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==",
+			"requires": {
+				"path-parse": "^1.0.6"
+			}
+		},
+		"resolve-bin": {
+			"version": "0.4.0",
+			"resolved": "https://registry.npmjs.org/resolve-bin/-/resolve-bin-0.4.0.tgz",
+			"integrity": "sha1-RxMiSYkRAa+xmZH+k3ywpfBy5dk=",
+			"dev": true,
+			"requires": {
+				"find-parent-dir": "~0.3.0"
+			}
+		},
+		"resolve-cwd": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+			"integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+			"dev": true,
+			"requires": {
+				"resolve-from": "^3.0.0"
+			}
+		},
+		"resolve-dir": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
+			"integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
+			"dev": true,
+			"requires": {
+				"expand-tilde": "^1.2.2",
+				"global-modules": "^0.2.3"
+			}
+		},
+		"resolve-from": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+			"integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
+		},
+		"resolve-url": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+			"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+			"dev": true
+		},
+		"restore-cursor": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+			"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+			"dev": true,
+			"requires": {
+				"onetime": "^2.0.0",
+				"signal-exit": "^3.0.2"
+			}
+		},
+		"ret": {
+			"version": "0.1.15",
+			"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+			"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+			"dev": true
+		},
+		"rimraf": {
+			"version": "2.6.3",
+			"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+			"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+			"dev": true,
+			"requires": {
+				"glob": "^7.1.3"
+			}
+		},
+		"ripemd160": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+			"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+			"dev": true,
+			"requires": {
+				"hash-base": "^3.0.0",
+				"inherits": "^2.0.1"
+			}
+		},
+		"rst-selector-parser": {
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz",
+			"integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=",
+			"dev": true,
+			"requires": {
+				"lodash.flattendeep": "^4.4.0",
+				"nearley": "^2.7.10"
+			}
+		},
+		"rsvp": {
+			"version": "4.8.4",
+			"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz",
+			"integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==",
+			"dev": true
+		},
+		"run-async": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+			"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+			"dev": true,
+			"requires": {
+				"is-promise": "^2.1.0"
+			}
+		},
+		"run-parallel": {
+			"version": "1.1.9",
+			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+			"integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+			"dev": true
+		},
+		"run-queue": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+			"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+			"dev": true,
+			"requires": {
+				"aproba": "^1.1.1"
+			}
+		},
+		"rxjs": {
+			"version": "6.4.0",
+			"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
+			"integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
+			"dev": true,
+			"requires": {
+				"tslib": "^1.9.0"
+			}
+		},
+		"safe-buffer": {
+			"version": "5.1.2",
+			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+			"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+		},
+		"safe-json-parse": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
+			"integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
+			"dev": true
+		},
+		"safe-regex": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+			"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+			"dev": true,
+			"requires": {
+				"ret": "~0.1.10"
+			}
+		},
+		"safer-buffer": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+			"dev": true
+		},
+		"sane": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
+			"integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
+			"dev": true,
+			"requires": {
+				"@cnakazawa/watch": "^1.0.3",
+				"anymatch": "^2.0.0",
+				"capture-exit": "^2.0.0",
+				"exec-sh": "^0.3.2",
+				"execa": "^1.0.0",
+				"fb-watchman": "^2.0.0",
+				"micromatch": "^3.1.4",
+				"minimist": "^1.1.1",
+				"walker": "~1.0.5"
+			},
+			"dependencies": {
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				}
+			}
+		},
+		"sass-graph": {
+			"version": "2.2.4",
+			"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
+			"integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+			"dev": true,
+			"requires": {
+				"glob": "^7.0.0",
+				"lodash": "^4.0.0",
+				"scss-tokenizer": "^0.2.3",
+				"yargs": "^7.0.0"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				},
+				"camelcase": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+					"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+					"dev": true
+				},
+				"cliui": {
+					"version": "3.2.0",
+					"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+					"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+					"dev": true,
+					"requires": {
+						"string-width": "^1.0.1",
+						"strip-ansi": "^3.0.1",
+						"wrap-ansi": "^2.0.0"
+					}
+				},
+				"invert-kv": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+					"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+					"dev": true
+				},
+				"is-fullwidth-code-point": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+					"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+					"dev": true,
+					"requires": {
+						"number-is-nan": "^1.0.0"
+					}
+				},
+				"lcid": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+					"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+					"dev": true,
+					"requires": {
+						"invert-kv": "^1.0.0"
+					}
+				},
+				"os-locale": {
+					"version": "1.4.0",
+					"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+					"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+					"dev": true,
+					"requires": {
+						"lcid": "^1.0.0"
+					}
+				},
+				"string-width": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+					"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+					"dev": true,
+					"requires": {
+						"code-point-at": "^1.0.0",
+						"is-fullwidth-code-point": "^1.0.0",
+						"strip-ansi": "^3.0.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				},
+				"which-module": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+					"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+					"dev": true
+				},
+				"y18n": {
+					"version": "3.2.1",
+					"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+					"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+					"dev": true
+				},
+				"yargs": {
+					"version": "7.1.0",
+					"resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+					"integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+					"dev": true,
+					"requires": {
+						"camelcase": "^3.0.0",
+						"cliui": "^3.2.0",
+						"decamelize": "^1.1.1",
+						"get-caller-file": "^1.0.1",
+						"os-locale": "^1.4.0",
+						"read-pkg-up": "^1.0.1",
+						"require-directory": "^2.1.1",
+						"require-main-filename": "^1.0.1",
+						"set-blocking": "^2.0.0",
+						"string-width": "^1.0.2",
+						"which-module": "^1.0.0",
+						"y18n": "^3.2.1",
+						"yargs-parser": "^5.0.0"
+					}
+				},
+				"yargs-parser": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+					"integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+					"dev": true,
+					"requires": {
+						"camelcase": "^3.0.0"
+					}
+				}
+			}
+		},
+		"sass-loader": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
+			"integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
+			"dev": true,
+			"requires": {
+				"clone-deep": "^2.0.1",
+				"loader-utils": "^1.0.1",
+				"lodash.tail": "^4.1.1",
+				"neo-async": "^2.5.0",
+				"pify": "^3.0.0",
+				"semver": "^5.5.0"
+			},
+			"dependencies": {
+				"clone-deep": {
+					"version": "2.0.2",
+					"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
+					"integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
+					"dev": true,
+					"requires": {
+						"for-own": "^1.0.0",
+						"is-plain-object": "^2.0.4",
+						"kind-of": "^6.0.0",
+						"shallow-clone": "^1.0.0"
+					}
+				},
+				"for-own": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+					"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+					"dev": true,
+					"requires": {
+						"for-in": "^1.0.1"
+					}
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				},
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				},
+				"shallow-clone": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
+					"integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.1",
+						"kind-of": "^5.0.0",
+						"mixin-object": "^2.0.1"
+					},
+					"dependencies": {
+						"kind-of": {
+							"version": "5.1.0",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+							"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+							"dev": true
+						}
+					}
+				}
+			}
+		},
+		"sax": {
+			"version": "1.2.4",
+			"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+			"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+			"dev": true
+		},
+		"scheduler": {
+			"version": "0.12.0",
+			"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz",
+			"integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==",
+			"dev": true,
+			"requires": {
+				"loose-envify": "^1.1.0",
+				"object-assign": "^4.1.1"
+			}
+		},
+		"schema-utils": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+			"integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+			"dev": true,
+			"requires": {
+				"ajv": "^6.1.0",
+				"ajv-errors": "^1.0.0",
+				"ajv-keywords": "^3.1.0"
+			},
+			"dependencies": {
+				"ajv-keywords": {
+					"version": "3.3.0",
+					"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.3.0.tgz",
+					"integrity": "sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==",
+					"dev": true
+				}
+			}
+		},
+		"scss-tokenizer": {
+			"version": "0.2.3",
+			"resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+			"integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+			"dev": true,
+			"requires": {
+				"js-base64": "^2.1.8",
+				"source-map": "^0.4.2"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.4.4",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+					"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+					"dev": true,
+					"requires": {
+						"amdefine": ">=0.0.4"
+					}
+				}
+			}
+		},
+		"semver": {
+			"version": "5.6.0",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+			"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+			"dev": true
+		},
+		"send": {
+			"version": "0.16.2",
+			"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
+			"integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+			"dev": true,
+			"requires": {
+				"debug": "2.6.9",
+				"depd": "~1.1.2",
+				"destroy": "~1.0.4",
+				"encodeurl": "~1.0.2",
+				"escape-html": "~1.0.3",
+				"etag": "~1.8.1",
+				"fresh": "0.5.2",
+				"http-errors": "~1.6.2",
+				"mime": "1.4.1",
+				"ms": "2.0.0",
+				"on-finished": "~2.3.0",
+				"range-parser": "~1.2.0",
+				"statuses": "~1.4.0"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"mime": {
+					"version": "1.4.1",
+					"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
+					"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
+					"dev": true
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"serialize-javascript": {
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz",
+			"integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==",
+			"dev": true
+		},
+		"serve-static": {
+			"version": "1.13.2",
+			"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
+			"integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+			"dev": true,
+			"requires": {
+				"encodeurl": "~1.0.2",
+				"escape-html": "~1.0.3",
+				"parseurl": "~1.3.2",
+				"send": "0.16.2"
+			}
+		},
+		"set-blocking": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+			"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+			"dev": true
+		},
+		"set-value": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+			"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+			"dev": true,
+			"requires": {
+				"extend-shallow": "^2.0.1",
+				"is-extendable": "^0.1.1",
+				"is-plain-object": "^2.0.3",
+				"split-string": "^3.0.1"
+			},
+			"dependencies": {
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				}
+			}
+		},
+		"setimmediate": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+			"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+			"dev": true
+		},
+		"setprototypeof": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+			"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+			"dev": true
+		},
+		"sha.js": {
+			"version": "2.4.11",
+			"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+			"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.0.1"
+			}
+		},
+		"shallow-clone": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
+			"integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
+			"dev": true,
+			"requires": {
+				"is-extendable": "^0.1.1",
+				"kind-of": "^2.0.1",
+				"lazy-cache": "^0.2.3",
+				"mixin-object": "^2.0.1"
+			},
+			"dependencies": {
+				"kind-of": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
+					"integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
+					"dev": true,
+					"requires": {
+						"is-buffer": "^1.0.2"
+					}
+				},
+				"lazy-cache": {
+					"version": "0.2.7",
+					"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
+					"integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=",
+					"dev": true
+				}
+			}
+		},
+		"shebang-command": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+			"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+			"dev": true,
+			"requires": {
+				"shebang-regex": "^1.0.0"
+			}
+		},
+		"shebang-regex": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+			"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+			"dev": true
+		},
+		"shellwords": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+			"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+			"dev": true
+		},
+		"signal-exit": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+			"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+			"dev": true
+		},
+		"sisteransi": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.0.tgz",
+			"integrity": "sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==",
+			"dev": true
+		},
+		"slash": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+			"integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+			"dev": true
+		},
+		"slice-ansi": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+			"integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+			"dev": true,
+			"requires": {
+				"ansi-styles": "^3.2.0",
+				"astral-regex": "^1.0.0",
+				"is-fullwidth-code-point": "^2.0.0"
+			}
+		},
+		"snapdragon": {
+			"version": "0.8.2",
+			"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+			"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+			"dev": true,
+			"requires": {
+				"base": "^0.11.1",
+				"debug": "^2.2.0",
+				"define-property": "^0.2.5",
+				"extend-shallow": "^2.0.1",
+				"map-cache": "^0.2.2",
+				"source-map": "^0.5.6",
+				"source-map-resolve": "^0.5.0",
+				"use": "^3.1.0"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"define-property": {
+					"version": "0.2.5",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^0.1.0"
+					}
+				},
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				}
+			}
+		},
+		"snapdragon-node": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+			"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+			"dev": true,
+			"requires": {
+				"define-property": "^1.0.0",
+				"isobject": "^3.0.0",
+				"snapdragon-util": "^3.0.1"
+			},
+			"dependencies": {
+				"define-property": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^1.0.0"
+					}
+				},
+				"is-accessor-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-data-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-descriptor": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+					"dev": true,
+					"requires": {
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				}
+			}
+		},
+		"snapdragon-util": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+			"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+			"dev": true,
+			"requires": {
+				"kind-of": "^3.2.0"
+			}
+		},
+		"source-list-map": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+			"integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+			"dev": true
+		},
+		"source-map": {
+			"version": "0.5.7",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+			"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+		},
+		"source-map-loader": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz",
+			"integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==",
+			"dev": true,
+			"requires": {
+				"async": "^2.5.0",
+				"loader-utils": "^1.1.0"
+			}
+		},
+		"source-map-resolve": {
+			"version": "0.5.2",
+			"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+			"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+			"dev": true,
+			"requires": {
+				"atob": "^2.1.1",
+				"decode-uri-component": "^0.2.0",
+				"resolve-url": "^0.2.1",
+				"source-map-url": "^0.4.0",
+				"urix": "^0.1.0"
+			}
+		},
+		"source-map-support": {
+			"version": "0.5.11",
+			"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz",
+			"integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==",
+			"dev": true,
+			"requires": {
+				"buffer-from": "^1.0.0",
+				"source-map": "^0.6.0"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"source-map-url": {
+			"version": "0.4.0",
+			"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+			"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+			"dev": true
+		},
+		"spawnd": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/spawnd/-/spawnd-4.0.0.tgz",
+			"integrity": "sha512-ql3qhJnhAkvXpaqKBWOqou1rUTSQhFRaZkyOT+MTFB4xY3X+brgw6LTWV2wHuE9A6YPhrNe1cbg7S+jAYnbC0Q==",
+			"dev": true,
+			"requires": {
+				"exit": "^0.1.2",
+				"signal-exit": "^3.0.2",
+				"tree-kill": "^1.2.1",
+				"wait-port": "^0.2.2"
+			}
+		},
+		"spdx-correct": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+			"integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+			"dev": true,
+			"requires": {
+				"spdx-expression-parse": "^3.0.0",
+				"spdx-license-ids": "^3.0.0"
+			}
+		},
+		"spdx-exceptions": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+			"integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+			"dev": true
+		},
+		"spdx-expression-parse": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+			"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+			"dev": true,
+			"requires": {
+				"spdx-exceptions": "^2.1.0",
+				"spdx-license-ids": "^3.0.0"
+			}
+		},
+		"spdx-license-ids": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz",
+			"integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==",
+			"dev": true
+		},
+		"specificity": {
+			"version": "0.4.1",
+			"resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
+			"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
+			"dev": true
+		},
+		"split-string": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+			"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+			"dev": true,
+			"requires": {
+				"extend-shallow": "^3.0.0"
+			}
+		},
+		"sprintf-js": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+			"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+		},
+		"sshpk": {
+			"version": "1.16.1",
+			"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+			"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+			"dev": true,
+			"requires": {
+				"asn1": "~0.2.3",
+				"assert-plus": "^1.0.0",
+				"bcrypt-pbkdf": "^1.0.0",
+				"dashdash": "^1.12.0",
+				"ecc-jsbn": "~0.1.1",
+				"getpass": "^0.1.1",
+				"jsbn": "~0.1.0",
+				"safer-buffer": "^2.0.2",
+				"tweetnacl": "~0.14.0"
+			}
+		},
+		"ssri": {
+			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
+			"integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
+			"dev": true,
+			"requires": {
+				"safe-buffer": "^5.1.1"
+			}
+		},
+		"stack-utils": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
+			"integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
+			"dev": true
+		},
+		"state-toggle": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz",
+			"integrity": "sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==",
+			"dev": true
+		},
+		"static-extend": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+			"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+			"dev": true,
+			"requires": {
+				"define-property": "^0.2.5",
+				"object-copy": "^0.1.0"
+			},
+			"dependencies": {
+				"define-property": {
+					"version": "0.2.5",
+					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+					"dev": true,
+					"requires": {
+						"is-descriptor": "^0.1.0"
+					}
+				}
+			}
+		},
+		"statuses": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+			"integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+			"dev": true
+		},
+		"stdout-stream": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
+			"integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+			"dev": true,
+			"requires": {
+				"readable-stream": "^2.0.1"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"stealthy-require": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+			"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+			"dev": true
+		},
+		"stream-browserify": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+			"integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+			"dev": true,
+			"requires": {
+				"inherits": "~2.0.1",
+				"readable-stream": "^2.0.2"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"stream-each": {
+			"version": "1.2.3",
+			"resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+			"integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+			"dev": true,
+			"requires": {
+				"end-of-stream": "^1.1.0",
+				"stream-shift": "^1.0.0"
+			}
+		},
+		"stream-http": {
+			"version": "2.8.3",
+			"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+			"integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+			"dev": true,
+			"requires": {
+				"builtin-status-codes": "^3.0.0",
+				"inherits": "^2.0.1",
+				"readable-stream": "^2.3.6",
+				"to-arraybuffer": "^1.0.0",
+				"xtend": "^4.0.0"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"stream-shift": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+			"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+			"dev": true
+		},
+		"string-length": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
+			"integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
+			"dev": true,
+			"requires": {
+				"astral-regex": "^1.0.0",
+				"strip-ansi": "^4.0.0"
+			}
+		},
+		"string-template": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+			"integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
+			"dev": true
+		},
+		"string-width": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+			"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+			"dev": true,
+			"requires": {
+				"is-fullwidth-code-point": "^2.0.0",
+				"strip-ansi": "^4.0.0"
+			}
+		},
+		"string.prototype.trim": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
+			"integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.5.0",
+				"function-bind": "^1.0.2"
+			}
+		},
+		"string_decoder": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
+			"integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
+			"dev": true,
+			"requires": {
+				"safe-buffer": "~5.1.0"
+			}
+		},
+		"stringify-entities": {
+			"version": "1.3.2",
+			"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
+			"integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
+			"dev": true,
+			"requires": {
+				"character-entities-html4": "^1.0.0",
+				"character-entities-legacy": "^1.0.0",
+				"is-alphanumerical": "^1.0.0",
+				"is-hexadecimal": "^1.0.0"
+			}
+		},
+		"strip-ansi": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+			"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+			"dev": true,
+			"requires": {
+				"ansi-regex": "^3.0.0"
+			}
+		},
+		"strip-bom": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+			"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+			"dev": true,
+			"requires": {
+				"is-utf8": "^0.2.0"
+			}
+		},
+		"strip-eof": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+			"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+			"dev": true
+		},
+		"strip-indent": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
+			"integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+			"dev": true
+		},
+		"strip-json-comments": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+			"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+			"dev": true
+		},
+		"style-search": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+			"integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
+			"dev": true
+		},
+		"stylelint": {
+			"version": "9.10.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz",
+			"integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==",
+			"dev": true,
+			"requires": {
+				"autoprefixer": "^9.0.0",
+				"balanced-match": "^1.0.0",
+				"chalk": "^2.4.1",
+				"cosmiconfig": "^5.0.0",
+				"debug": "^4.0.0",
+				"execall": "^1.0.0",
+				"file-entry-cache": "^4.0.0",
+				"get-stdin": "^6.0.0",
+				"global-modules": "^2.0.0",
+				"globby": "^9.0.0",
+				"globjoin": "^0.1.4",
+				"html-tags": "^2.0.0",
+				"ignore": "^5.0.4",
+				"import-lazy": "^3.1.0",
+				"imurmurhash": "^0.1.4",
+				"known-css-properties": "^0.11.0",
+				"leven": "^2.1.0",
+				"lodash": "^4.17.4",
+				"log-symbols": "^2.0.0",
+				"mathml-tag-names": "^2.0.1",
+				"meow": "^5.0.0",
+				"micromatch": "^3.1.10",
+				"normalize-selector": "^0.2.0",
+				"pify": "^4.0.0",
+				"postcss": "^7.0.13",
+				"postcss-html": "^0.36.0",
+				"postcss-jsx": "^0.36.0",
+				"postcss-less": "^3.1.0",
+				"postcss-markdown": "^0.36.0",
+				"postcss-media-query-parser": "^0.2.3",
+				"postcss-reporter": "^6.0.0",
+				"postcss-resolve-nested-selector": "^0.1.1",
+				"postcss-safe-parser": "^4.0.0",
+				"postcss-sass": "^0.3.5",
+				"postcss-scss": "^2.0.0",
+				"postcss-selector-parser": "^3.1.0",
+				"postcss-syntax": "^0.36.2",
+				"postcss-value-parser": "^3.3.0",
+				"resolve-from": "^4.0.0",
+				"signal-exit": "^3.0.2",
+				"slash": "^2.0.0",
+				"specificity": "^0.4.1",
+				"string-width": "^3.0.0",
+				"style-search": "^0.1.0",
+				"sugarss": "^2.0.0",
+				"svg-tags": "^1.0.0",
+				"table": "^5.0.0"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+					"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+					"dev": true
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"emoji-regex": {
+					"version": "7.0.3",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+					"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+					"dev": true
+				},
+				"file-entry-cache": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz",
+					"integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==",
+					"dev": true,
+					"requires": {
+						"flat-cache": "^2.0.1"
+					}
+				},
+				"global-modules": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+					"integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+					"dev": true,
+					"requires": {
+						"global-prefix": "^3.0.0"
+					}
+				},
+				"global-prefix": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+					"integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+					"dev": true,
+					"requires": {
+						"ini": "^1.3.5",
+						"kind-of": "^6.0.2",
+						"which": "^1.3.1"
+					}
+				},
+				"ignore": {
+					"version": "5.0.6",
+					"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.6.tgz",
+					"integrity": "sha512-/+hp3kUf/Csa32ktIaj0OlRqQxrgs30n62M90UBpNd9k+ENEch5S+hmbW3DtcJGz3sYFTh4F3A6fQ0q7KWsp4w==",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				},
+				"pify": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+					"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+					"dev": true
+				},
+				"resolve-from": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+					"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+					"dev": true
+				},
+				"string-width": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+					"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+					"dev": true,
+					"requires": {
+						"emoji-regex": "^7.0.1",
+						"is-fullwidth-code-point": "^2.0.0",
+						"strip-ansi": "^5.1.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+					"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^4.1.0"
+					}
+				}
+			}
+		},
+		"stylelint-config-recommended": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.1.0.tgz",
+			"integrity": "sha512-ajMbivOD7JxdsnlS5945KYhvt7L/HwN6YeYF2BH6kE4UCLJR0YvXMf+2j7nQpJyYLZx9uZzU5G1ZOSBiWAc6yA==",
+			"dev": true
+		},
+		"stylelint-config-recommended-scss": {
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-3.2.0.tgz",
+			"integrity": "sha512-M8BFHMRf8KNz5EQPKJd8nMCGmBd2o5coDEObfHVbEkyLDgjIf1V+U5dHjaGgvhm0zToUxshxN+Gc5wpbOOew4g==",
+			"dev": true,
+			"requires": {
+				"stylelint-config-recommended": "^2.0.0"
+			}
+		},
+		"stylelint-config-wordpress": {
+			"version": "13.1.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-13.1.0.tgz",
+			"integrity": "sha512-dpKj2/d3/XjDVoOvQzd54GoM8Rj5zldluOZKkVhBCc4JYMc6r1VYL5hpcgIjqy/i2Hyqg4Rh7zTafE/2AWq//w==",
+			"dev": true,
+			"requires": {
+				"stylelint-config-recommended": "^2.1.0",
+				"stylelint-config-recommended-scss": "^3.2.0",
+				"stylelint-scss": "^3.3.0"
+			}
+		},
+		"stylelint-scss": {
+			"version": "3.5.4",
+			"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.5.4.tgz",
+			"integrity": "sha512-hEdEOfFXVqxWcUbenBONW/cAw5cJcEDasY8tGwKNAAn1GDHoZO1ATdWpr+iIk325mPGIQqVb1sUxsRxuL70trw==",
+			"dev": true,
+			"requires": {
+				"lodash": "^4.17.11",
+				"postcss-media-query-parser": "^0.2.3",
+				"postcss-resolve-nested-selector": "^0.1.1",
+				"postcss-selector-parser": "^5.0.0",
+				"postcss-value-parser": "^3.3.1"
+			},
+			"dependencies": {
+				"postcss-selector-parser": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+					"integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+					"dev": true,
+					"requires": {
+						"cssesc": "^2.0.0",
+						"indexes-of": "^1.0.1",
+						"uniq": "^1.0.1"
+					}
+				}
+			}
+		},
+		"stylis": {
+			"version": "3.5.4",
+			"resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz",
+			"integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q=="
+		},
+		"stylis-rule-sheet": {
+			"version": "0.0.10",
+			"resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
+			"integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw=="
+		},
+		"sugarss": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
+			"integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
+			"dev": true,
+			"requires": {
+				"postcss": "^7.0.2"
+			}
+		},
+		"supports-color": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+			"dev": true,
+			"requires": {
+				"has-flag": "^3.0.0"
+			}
+		},
+		"svg-tags": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+			"integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
+			"dev": true
+		},
+		"symbol-tree": {
+			"version": "3.2.2",
+			"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
+			"integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=",
+			"dev": true
+		},
+		"table": {
+			"version": "5.2.3",
+			"resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz",
+			"integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==",
+			"dev": true,
+			"requires": {
+				"ajv": "^6.9.1",
+				"lodash": "^4.17.11",
+				"slice-ansi": "^2.1.0",
+				"string-width": "^3.0.0"
+			},
+			"dependencies": {
+				"ajv": {
+					"version": "6.10.0",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
+					"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
+					"dev": true,
+					"requires": {
+						"fast-deep-equal": "^2.0.1",
+						"fast-json-stable-stringify": "^2.0.0",
+						"json-schema-traverse": "^0.4.1",
+						"uri-js": "^4.2.2"
+					}
+				},
+				"ansi-regex": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+					"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+					"dev": true
+				},
+				"emoji-regex": {
+					"version": "7.0.3",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+					"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+					"dev": true
+				},
+				"string-width": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+					"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+					"dev": true,
+					"requires": {
+						"emoji-regex": "^7.0.1",
+						"is-fullwidth-code-point": "^2.0.0",
+						"strip-ansi": "^5.1.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+					"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^4.1.0"
+					}
+				}
+			}
+		},
+		"tapable": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz",
+			"integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==",
+			"dev": true
+		},
+		"tar": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+			"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+			"dev": true,
+			"requires": {
+				"block-stream": "*",
+				"fstream": "^1.0.2",
+				"inherits": "2"
+			}
+		},
+		"test-exclude": {
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.1.0.tgz",
+			"integrity": "sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA==",
+			"dev": true,
+			"requires": {
+				"arrify": "^1.0.1",
+				"minimatch": "^3.0.4",
+				"read-pkg-up": "^4.0.0",
+				"require-main-filename": "^1.0.1"
+			},
+			"dependencies": {
+				"load-json-file": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+					"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+					"dev": true,
+					"requires": {
+						"graceful-fs": "^4.1.2",
+						"parse-json": "^4.0.0",
+						"pify": "^3.0.0",
+						"strip-bom": "^3.0.0"
+					}
+				},
+				"path-type": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+					"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+					"dev": true,
+					"requires": {
+						"pify": "^3.0.0"
+					}
+				},
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				},
+				"read-pkg": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+					"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+					"dev": true,
+					"requires": {
+						"load-json-file": "^4.0.0",
+						"normalize-package-data": "^2.3.2",
+						"path-type": "^3.0.0"
+					}
+				},
+				"read-pkg-up": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
+					"integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
+					"dev": true,
+					"requires": {
+						"find-up": "^3.0.0",
+						"read-pkg": "^3.0.0"
+					}
+				},
+				"strip-bom": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+					"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+					"dev": true
+				}
+			}
+		},
+		"text-table": {
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+			"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+			"dev": true
+		},
+		"throat": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
+			"integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
+			"dev": true
+		},
+		"through": {
+			"version": "2.3.8",
+			"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+			"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+			"dev": true
+		},
+		"through2": {
+			"version": "2.0.5",
+			"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+			"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+			"dev": true,
+			"requires": {
+				"readable-stream": "~2.3.6",
+				"xtend": "~4.0.1"
+			},
+			"dependencies": {
+				"readable-stream": {
+					"version": "2.3.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+					"dev": true,
+					"requires": {
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.1",
+						"util-deprecate": "~1.0.1"
+					}
+				},
+				"string_decoder": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+					"dev": true,
+					"requires": {
+						"safe-buffer": "~5.1.0"
+					}
+				}
+			}
+		},
+		"timers-browserify": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
+			"integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+			"dev": true,
+			"requires": {
+				"setimmediate": "^1.0.4"
+			}
+		},
+		"tiny-lr": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
+			"integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
+			"dev": true,
+			"requires": {
+				"body": "^5.1.0",
+				"debug": "^3.1.0",
+				"faye-websocket": "~0.10.0",
+				"livereload-js": "^2.3.0",
+				"object-assign": "^4.1.0",
+				"qs": "^6.4.0"
+			}
+		},
+		"tmp": {
+			"version": "0.0.33",
+			"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+			"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+			"dev": true,
+			"requires": {
+				"os-tmpdir": "~1.0.2"
+			}
+		},
+		"tmpl": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+			"integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+			"dev": true
+		},
+		"to-arraybuffer": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+			"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+			"dev": true
+		},
+		"to-fast-properties": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+			"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+		},
+		"to-object-path": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+			"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+			"dev": true,
+			"requires": {
+				"kind-of": "^3.0.2"
+			}
+		},
+		"to-regex": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+			"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+			"dev": true,
+			"requires": {
+				"define-property": "^2.0.2",
+				"extend-shallow": "^3.0.2",
+				"regex-not": "^1.0.2",
+				"safe-regex": "^1.1.0"
+			}
+		},
+		"to-regex-range": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+			"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+			"dev": true,
+			"requires": {
+				"is-number": "^3.0.0",
+				"repeat-string": "^1.6.1"
+			},
+			"dependencies": {
+				"is-number": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+					"dev": true,
+					"requires": {
+						"kind-of": "^3.0.2"
+					}
+				}
+			}
+		},
+		"touch": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz",
+			"integrity": "sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==",
+			"requires": {
+				"nopt": "~1.0.10"
+			}
+		},
+		"tough-cookie": {
+			"version": "2.5.0",
+			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+			"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+			"dev": true,
+			"requires": {
+				"psl": "^1.1.28",
+				"punycode": "^2.1.1"
+			}
+		},
+		"tr46": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+			"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+			"dev": true,
+			"requires": {
+				"punycode": "^2.1.0"
+			}
+		},
+		"tree-kill": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz",
+			"integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==",
+			"dev": true
+		},
+		"trim": {
+			"version": "0.0.1",
+			"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+			"integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
+			"dev": true
+		},
+		"trim-newlines": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
+			"integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+			"dev": true
+		},
+		"trim-right": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+			"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+			"dev": true
+		},
+		"trim-trailing-lines": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz",
+			"integrity": "sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==",
+			"dev": true
+		},
+		"trough": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/trough/-/trough-1.0.3.tgz",
+			"integrity": "sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw==",
+			"dev": true
+		},
+		"true-case-path": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
+			"integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
+			"dev": true,
+			"requires": {
+				"glob": "^7.1.2"
+			}
+		},
+		"tryer": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
+			"integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==",
+			"dev": true
+		},
+		"tslib": {
+			"version": "1.9.3",
+			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+			"integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
+			"dev": true
+		},
+		"tty-browserify": {
+			"version": "0.0.0",
+			"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+			"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+			"dev": true
+		},
+		"tunnel-agent": {
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+			"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+			"dev": true,
+			"requires": {
+				"safe-buffer": "^5.0.1"
+			}
+		},
+		"tweetnacl": {
+			"version": "0.14.5",
+			"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+			"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+			"dev": true
+		},
+		"type-check": {
+			"version": "0.3.2",
+			"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+			"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+			"dev": true,
+			"requires": {
+				"prelude-ls": "~1.1.2"
+			}
+		},
+		"type-is": {
+			"version": "1.6.16",
+			"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+			"integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+			"dev": true,
+			"requires": {
+				"media-typer": "0.3.0",
+				"mime-types": "~2.1.18"
+			}
+		},
+		"typedarray": {
+			"version": "0.0.6",
+			"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+			"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+			"dev": true
+		},
+		"uglify-js": {
+			"version": "3.5.2",
+			"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.2.tgz",
+			"integrity": "sha512-imog1WIsi9Yb56yRt5TfYVxGmnWs3WSGU73ieSOlMVFwhJCA9W8fqFFMMj4kgDqiS/80LGdsYnWL7O9UcjEBlg==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"commander": "~2.19.0",
+				"source-map": "~0.6.1"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true,
+					"optional": true
+				}
+			}
+		},
+		"uglifyjs-webpack-plugin": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz",
+			"integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
+			"dev": true,
+			"requires": {
+				"cacache": "^10.0.4",
+				"find-cache-dir": "^1.0.0",
+				"schema-utils": "^0.4.5",
+				"serialize-javascript": "^1.4.0",
+				"source-map": "^0.6.1",
+				"uglify-es": "^3.3.4",
+				"webpack-sources": "^1.1.0",
+				"worker-farm": "^1.5.2"
+			},
+			"dependencies": {
+				"ajv-keywords": {
+					"version": "3.3.0",
+					"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.3.0.tgz",
+					"integrity": "sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==",
+					"dev": true
+				},
+				"commander": {
+					"version": "2.13.0",
+					"resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
+					"integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
+					"dev": true
+				},
+				"schema-utils": {
+					"version": "0.4.7",
+					"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
+					"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.1.0",
+						"ajv-keywords": "^3.1.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				},
+				"uglify-es": {
+					"version": "3.3.9",
+					"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
+					"integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
+					"dev": true,
+					"requires": {
+						"commander": "~2.13.0",
+						"source-map": "~0.6.1"
+					}
+				}
+			}
+		},
+		"unherit": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz",
+			"integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
+			"dev": true,
+			"requires": {
+				"inherits": "^2.0.1",
+				"xtend": "^4.0.1"
+			}
+		},
+		"unicode-canonical-property-names-ecmascript": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+			"integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+			"dev": true
+		},
+		"unicode-match-property-ecmascript": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+			"integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+			"dev": true,
+			"requires": {
+				"unicode-canonical-property-names-ecmascript": "^1.0.4",
+				"unicode-property-aliases-ecmascript": "^1.0.4"
+			}
+		},
+		"unicode-match-property-value-ecmascript": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
+			"integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==",
+			"dev": true
+		},
+		"unicode-property-aliases-ecmascript": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
+			"integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==",
+			"dev": true
+		},
+		"unified": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
+			"integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
+			"dev": true,
+			"requires": {
+				"@types/unist": "^2.0.0",
+				"@types/vfile": "^3.0.0",
+				"bail": "^1.0.0",
+				"extend": "^3.0.0",
+				"is-plain-obj": "^1.1.0",
+				"trough": "^1.0.0",
+				"vfile": "^3.0.0",
+				"x-is-string": "^0.1.0"
+			}
+		},
+		"union-value": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+			"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+			"dev": true,
+			"requires": {
+				"arr-union": "^3.1.0",
+				"get-value": "^2.0.6",
+				"is-extendable": "^0.1.1",
+				"set-value": "^0.4.3"
+			},
+			"dependencies": {
+				"extend-shallow": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+					"dev": true,
+					"requires": {
+						"is-extendable": "^0.1.0"
+					}
+				},
+				"set-value": {
+					"version": "0.4.3",
+					"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+					"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+					"dev": true,
+					"requires": {
+						"extend-shallow": "^2.0.1",
+						"is-extendable": "^0.1.1",
+						"is-plain-object": "^2.0.1",
+						"to-object-path": "^0.3.0"
+					}
+				}
+			}
+		},
+		"uniq": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+			"integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+			"dev": true
+		},
+		"unique-filename": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+			"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+			"dev": true,
+			"requires": {
+				"unique-slug": "^2.0.0"
+			}
+		},
+		"unique-slug": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
+			"integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
+			"dev": true,
+			"requires": {
+				"imurmurhash": "^0.1.4"
+			}
+		},
+		"unist-util-find-all-after": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz",
+			"integrity": "sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==",
+			"dev": true,
+			"requires": {
+				"unist-util-is": "^2.0.0"
+			}
+		},
+		"unist-util-is": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz",
+			"integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==",
+			"dev": true
+		},
+		"unist-util-remove-position": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz",
+			"integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==",
+			"dev": true,
+			"requires": {
+				"unist-util-visit": "^1.1.0"
+			}
+		},
+		"unist-util-stringify-position": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
+			"integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
+			"dev": true
+		},
+		"unist-util-visit": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.0.tgz",
+			"integrity": "sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==",
+			"dev": true,
+			"requires": {
+				"unist-util-visit-parents": "^2.0.0"
+			}
+		},
+		"unist-util-visit-parents": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz",
+			"integrity": "sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==",
+			"dev": true,
+			"requires": {
+				"unist-util-is": "^2.1.2"
+			}
+		},
+		"unpipe": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+			"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+			"dev": true
+		},
+		"unset-value": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+			"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+			"dev": true,
+			"requires": {
+				"has-value": "^0.3.1",
+				"isobject": "^3.0.0"
+			},
+			"dependencies": {
+				"has-value": {
+					"version": "0.3.1",
+					"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+					"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+					"dev": true,
+					"requires": {
+						"get-value": "^2.0.3",
+						"has-values": "^0.1.4",
+						"isobject": "^2.0.0"
+					},
+					"dependencies": {
+						"isobject": {
+							"version": "2.1.0",
+							"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+							"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+							"dev": true,
+							"requires": {
+								"isarray": "1.0.0"
+							}
+						}
+					}
+				},
+				"has-values": {
+					"version": "0.1.4",
+					"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+					"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+					"dev": true
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				}
+			}
+		},
+		"upath": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
+			"integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+			"dev": true
+		},
+		"uri-js": {
+			"version": "4.2.2",
+			"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+			"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+			"dev": true,
+			"requires": {
+				"punycode": "^2.1.0"
+			}
+		},
+		"urix": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+			"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+			"dev": true
+		},
+		"url": {
+			"version": "0.11.0",
+			"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+			"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+			"dev": true,
+			"requires": {
+				"punycode": "1.3.2",
+				"querystring": "0.2.0"
+			},
+			"dependencies": {
+				"punycode": {
+					"version": "1.3.2",
+					"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+					"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+					"dev": true
+				}
+			}
+		},
+		"use": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+			"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+			"dev": true
+		},
+		"util": {
+			"version": "0.11.1",
+			"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+			"integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+			"dev": true,
+			"requires": {
+				"inherits": "2.0.3"
+			}
+		},
+		"util-deprecate": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+			"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+			"dev": true
+		},
+		"util.promisify": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+			"integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.2",
+				"object.getownpropertydescriptors": "^2.0.3"
+			}
+		},
+		"utils-merge": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+			"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+			"dev": true
+		},
+		"uuid": {
+			"version": "3.3.2",
+			"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+			"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+			"dev": true
+		},
+		"v8-compile-cache": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
+			"integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
+			"dev": true
+		},
+		"validate-npm-package-license": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+			"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+			"dev": true,
+			"requires": {
+				"spdx-correct": "^3.0.0",
+				"spdx-expression-parse": "^3.0.0"
+			}
+		},
+		"validator": {
+			"version": "10.11.0",
+			"resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
+			"integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==",
+			"dev": true
+		},
+		"vary": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+			"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+			"dev": true
+		},
+		"verror": {
+			"version": "1.10.0",
+			"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+			"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0",
+				"core-util-is": "1.0.2",
+				"extsprintf": "^1.2.0"
+			}
+		},
+		"vfile": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
+			"integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
+			"dev": true,
+			"requires": {
+				"is-buffer": "^2.0.0",
+				"replace-ext": "1.0.0",
+				"unist-util-stringify-position": "^1.0.0",
+				"vfile-message": "^1.0.0"
+			},
+			"dependencies": {
+				"is-buffer": {
+					"version": "2.0.3",
+					"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
+					"integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
+					"dev": true
+				}
+			}
+		},
+		"vfile-location": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.4.tgz",
+			"integrity": "sha512-KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w==",
+			"dev": true
+		},
+		"vfile-message": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
+			"integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
+			"dev": true,
+			"requires": {
+				"unist-util-stringify-position": "^1.1.1"
+			}
+		},
+		"vm-browserify": {
+			"version": "0.0.4",
+			"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+			"integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+			"dev": true,
+			"requires": {
+				"indexof": "0.0.1"
+			}
+		},
+		"w3c-hr-time": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
+			"integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
+			"dev": true,
+			"requires": {
+				"browser-process-hrtime": "^0.1.2"
+			}
+		},
+		"wait-port": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.2.tgz",
+			"integrity": "sha1-1RpJHkhKF791qUfnEaLwErTm8uM=",
+			"dev": true,
+			"requires": {
+				"chalk": "^1.1.3",
+				"commander": "^2.9.0",
+				"debug": "^2.6.6"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				},
+				"ansi-styles": {
+					"version": "2.2.1",
+					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+					"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+					"dev": true
+				},
+				"chalk": {
+					"version": "1.1.3",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+					"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+					"dev": true,
+					"requires": {
+						"ansi-styles": "^2.2.1",
+						"escape-string-regexp": "^1.0.2",
+						"has-ansi": "^2.0.0",
+						"strip-ansi": "^3.0.0",
+						"supports-color": "^2.0.0"
+					}
+				},
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				},
+				"supports-color": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+					"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+					"dev": true
+				}
+			}
+		},
+		"walker": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+			"integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+			"dev": true,
+			"requires": {
+				"makeerror": "1.0.x"
+			}
+		},
+		"watchpack": {
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
+			"integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+			"dev": true,
+			"requires": {
+				"chokidar": "^2.0.2",
+				"graceful-fs": "^4.1.2",
+				"neo-async": "^2.5.0"
+			}
+		},
+		"webassemblyjs": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.4.3.tgz",
+			"integrity": "sha512-4lOV1Lv6olz0PJkDGQEp82HempAn147e6BXijWDzz9g7/2nSebVP9GVg62Fz5ZAs55mxq13GA0XLyvY8XkyDjg==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.4.3",
+				"@webassemblyjs/validation": "1.4.3",
+				"@webassemblyjs/wasm-parser": "1.4.3",
+				"@webassemblyjs/wast-parser": "1.4.3",
+				"long": "^3.2.0"
+			},
+			"dependencies": {
+				"@webassemblyjs/ast": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz",
+					"integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/wast-parser": "1.4.3",
+						"debug": "^3.1.0",
+						"webassemblyjs": "1.4.3"
+					}
+				},
+				"@webassemblyjs/floating-point-hex-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz",
+					"integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==",
+					"dev": true
+				},
+				"@webassemblyjs/helper-code-frame": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz",
+					"integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/wast-printer": "1.4.3"
+					}
+				},
+				"@webassemblyjs/helper-fsm": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz",
+					"integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==",
+					"dev": true
+				},
+				"@webassemblyjs/helper-wasm-bytecode": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz",
+					"integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==",
+					"dev": true
+				},
+				"@webassemblyjs/leb128": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.4.3.tgz",
+					"integrity": "sha512-4u0LJLSPzuRDWHwdqsrThYn+WqMFVqbI2ltNrHvZZkzFPO8XOZ0HFQ5eVc4jY/TNHgXcnwrHjONhPGYuuf//KQ==",
+					"dev": true,
+					"requires": {
+						"leb": "^0.3.0"
+					}
+				},
+				"@webassemblyjs/wasm-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz",
+					"integrity": "sha512-KXBjtlwA3BVukR/yWHC9GF+SCzBcgj0a7lm92kTOaa4cbjaTaa47bCjXw6cX4SGQpkncB9PU2hHGYVyyI7wFRg==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+						"@webassemblyjs/leb128": "1.4.3",
+						"@webassemblyjs/wasm-parser": "1.4.3",
+						"webassemblyjs": "1.4.3"
+					}
+				},
+				"@webassemblyjs/wast-parser": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz",
+					"integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/floating-point-hex-parser": "1.4.3",
+						"@webassemblyjs/helper-code-frame": "1.4.3",
+						"@webassemblyjs/helper-fsm": "1.4.3",
+						"long": "^3.2.0",
+						"webassemblyjs": "1.4.3"
+					}
+				},
+				"@webassemblyjs/wast-printer": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz",
+					"integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==",
+					"dev": true,
+					"requires": {
+						"@webassemblyjs/ast": "1.4.3",
+						"@webassemblyjs/wast-parser": "1.4.3",
+						"long": "^3.2.0"
+					}
+				}
+			}
+		},
+		"webidl-conversions": {
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+			"integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+			"dev": true
+		},
+		"webpack": {
+			"version": "4.23.1",
+			"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz",
+			"integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==",
+			"dev": true,
+			"requires": {
+				"@webassemblyjs/ast": "1.7.10",
+				"@webassemblyjs/helper-module-context": "1.7.10",
+				"@webassemblyjs/wasm-edit": "1.7.10",
+				"@webassemblyjs/wasm-parser": "1.7.10",
+				"acorn": "^5.6.2",
+				"acorn-dynamic-import": "^3.0.0",
+				"ajv": "^6.1.0",
+				"ajv-keywords": "^3.1.0",
+				"chrome-trace-event": "^1.0.0",
+				"enhanced-resolve": "^4.1.0",
+				"eslint-scope": "^4.0.0",
+				"json-parse-better-errors": "^1.0.2",
+				"loader-runner": "^2.3.0",
+				"loader-utils": "^1.1.0",
+				"memory-fs": "~0.4.1",
+				"micromatch": "^3.1.8",
+				"mkdirp": "~0.5.0",
+				"neo-async": "^2.5.0",
+				"node-libs-browser": "^2.0.0",
+				"schema-utils": "^0.4.4",
+				"tapable": "^1.1.0",
+				"uglifyjs-webpack-plugin": "^1.2.4",
+				"watchpack": "^1.5.0",
+				"webpack-sources": "^1.3.0"
+			},
+			"dependencies": {
+				"acorn": {
+					"version": "5.7.3",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
+					"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+					"dev": true
+				},
+				"ajv-keywords": {
+					"version": "3.3.0",
+					"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.3.0.tgz",
+					"integrity": "sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==",
+					"dev": true
+				},
+				"arr-diff": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+					"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+					"dev": true
+				},
+				"array-unique": {
+					"version": "0.3.2",
+					"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+					"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+					"dev": true
+				},
+				"braces": {
+					"version": "2.3.2",
+					"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+					"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+					"dev": true,
+					"requires": {
+						"arr-flatten": "^1.1.0",
+						"array-unique": "^0.3.2",
+						"extend-shallow": "^2.0.1",
+						"fill-range": "^4.0.0",
+						"isobject": "^3.0.1",
+						"repeat-element": "^1.1.2",
+						"snapdragon": "^0.8.1",
+						"snapdragon-node": "^2.0.1",
+						"split-string": "^3.0.2",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"dev": true,
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"eslint-scope": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
+					"integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
+					"dev": true,
+					"requires": {
+						"esrecurse": "^4.1.0",
+						"estraverse": "^4.1.1"
+					}
+				},
+				"expand-brackets": {
+					"version": "2.1.4",
+					"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+					"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+					"dev": true,
+					"requires": {
+						"debug": "^2.3.3",
+						"define-property": "^0.2.5",
+						"extend-shallow": "^2.0.1",
+						"posix-character-classes": "^0.1.0",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"define-property": {
+							"version": "0.2.5",
+							"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+							"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+							"dev": true,
+							"requires": {
+								"is-descriptor": "^0.1.0"
+							}
+						},
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						},
+						"is-accessor-descriptor": {
+							"version": "0.1.6",
+							"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+							"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+							"dev": true,
+							"requires": {
+								"kind-of": "^3.0.2"
+							},
+							"dependencies": {
+								"kind-of": {
+									"version": "3.2.2",
+									"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+									"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+									"dev": true,
+									"requires": {
+										"is-buffer": "^1.1.5"
+									}
+								}
+							}
+						},
+						"is-data-descriptor": {
+							"version": "0.1.4",
+							"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+							"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+							"dev": true,
+							"requires": {
+								"kind-of": "^3.0.2"
+							},
+							"dependencies": {
+								"kind-of": {
+									"version": "3.2.2",
+									"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+									"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+									"dev": true,
+									"requires": {
+										"is-buffer": "^1.1.5"
+									}
+								}
+							}
+						},
+						"is-descriptor": {
+							"version": "0.1.6",
+							"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+							"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+							"dev": true,
+							"requires": {
+								"is-accessor-descriptor": "^0.1.6",
+								"is-data-descriptor": "^0.1.4",
+								"kind-of": "^5.0.0"
+							}
+						},
+						"kind-of": {
+							"version": "5.1.0",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+							"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+							"dev": true
+						}
+					}
+				},
+				"extglob": {
+					"version": "2.0.4",
+					"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+					"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+					"dev": true,
+					"requires": {
+						"array-unique": "^0.3.2",
+						"define-property": "^1.0.0",
+						"expand-brackets": "^2.1.4",
+						"extend-shallow": "^2.0.1",
+						"fragment-cache": "^0.2.1",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.1"
+					},
+					"dependencies": {
+						"define-property": {
+							"version": "1.0.0",
+							"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+							"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+							"dev": true,
+							"requires": {
+								"is-descriptor": "^1.0.0"
+							}
+						},
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"fill-range": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+					"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+					"dev": true,
+					"requires": {
+						"extend-shallow": "^2.0.1",
+						"is-number": "^3.0.0",
+						"repeat-string": "^1.6.1",
+						"to-regex-range": "^2.1.0"
+					},
+					"dependencies": {
+						"extend-shallow": {
+							"version": "2.0.1",
+							"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+							"dev": true,
+							"requires": {
+								"is-extendable": "^0.1.0"
+							}
+						}
+					}
+				},
+				"is-accessor-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-data-descriptor": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+					"dev": true,
+					"requires": {
+						"kind-of": "^6.0.0"
+					}
+				},
+				"is-descriptor": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+					"dev": true,
+					"requires": {
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
+					}
+				},
+				"is-number": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+					"dev": true,
+					"requires": {
+						"kind-of": "^3.0.2"
+					},
+					"dependencies": {
+						"kind-of": {
+							"version": "3.2.2",
+							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+							"dev": true,
+							"requires": {
+								"is-buffer": "^1.1.5"
+							}
+						}
+					}
+				},
+				"isobject": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+					"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+					"dev": true
+				},
+				"kind-of": {
+					"version": "6.0.2",
+					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+					"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+					"dev": true
+				},
+				"micromatch": {
+					"version": "3.1.10",
+					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+					"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+					"dev": true,
+					"requires": {
+						"arr-diff": "^4.0.0",
+						"array-unique": "^0.3.2",
+						"braces": "^2.3.1",
+						"define-property": "^2.0.2",
+						"extend-shallow": "^3.0.2",
+						"extglob": "^2.0.4",
+						"fragment-cache": "^0.2.1",
+						"kind-of": "^6.0.2",
+						"nanomatch": "^1.2.9",
+						"object.pick": "^1.3.0",
+						"regex-not": "^1.0.0",
+						"snapdragon": "^0.8.1",
+						"to-regex": "^3.0.2"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+					"dev": true
+				},
+				"schema-utils": {
+					"version": "0.4.7",
+					"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
+					"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.1.0",
+						"ajv-keywords": "^3.1.0"
+					}
+				}
+			}
+		},
+		"webpack-bundle-analyzer": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.1.0.tgz",
+			"integrity": "sha512-nyDyWEs7C6DZlgvu1pR1zzJfIWSiGPbtaByZr8q+Fd2xp70FuM/8ngCJzj3Er1TYRLSFmp1F1OInbEm4DZH8NA==",
+			"dev": true,
+			"requires": {
+				"acorn": "^6.0.7",
+				"acorn-walk": "^6.1.1",
+				"bfj": "^6.1.1",
+				"chalk": "^2.4.1",
+				"commander": "^2.18.0",
+				"ejs": "^2.6.1",
+				"express": "^4.16.3",
+				"filesize": "^3.6.1",
+				"gzip-size": "^5.0.0",
+				"lodash": "^4.17.10",
+				"mkdirp": "^0.5.1",
+				"opener": "^1.5.1",
+				"ws": "^6.0.0"
+			},
+			"dependencies": {
+				"acorn": {
+					"version": "6.1.1",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz",
+					"integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==",
+					"dev": true
+				},
+				"ws": {
+					"version": "6.2.0",
+					"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz",
+					"integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==",
+					"dev": true,
+					"requires": {
+						"async-limiter": "~1.0.0"
+					}
+				}
+			}
+		},
+		"webpack-cli": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.1.tgz",
+			"integrity": "sha512-th5EUyVeGcAAVlFOcJg11fapD/xoLRE4j/eSfrmMAo3olPjvB7lgEPUtCbRP0OGmstvnQBl4VZP+zluXWDiBxg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^2.4.1",
+				"cross-spawn": "^6.0.5",
+				"enhanced-resolve": "^4.1.0",
+				"global-modules-path": "^2.3.0",
+				"import-local": "^2.0.0",
+				"interpret": "^1.1.0",
+				"loader-utils": "^1.1.0",
+				"supports-color": "^5.5.0",
+				"v8-compile-cache": "^2.0.2",
+				"yargs": "^12.0.2"
+			},
+			"dependencies": {
+				"import-local": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
+					"integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+					"dev": true,
+					"requires": {
+						"pkg-dir": "^3.0.0",
+						"resolve-cwd": "^2.0.0"
+					}
+				},
+				"pkg-dir": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+					"integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+					"dev": true,
+					"requires": {
+						"find-up": "^3.0.0"
+					}
+				}
+			}
+		},
+		"webpack-livereload-plugin": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/webpack-livereload-plugin/-/webpack-livereload-plugin-2.2.0.tgz",
+			"integrity": "sha512-sx9xA5mHoNOUgLQI0PmXT3KV9ecsVmUaTgr+fsoL69qAOHw/7VzkL1+ZMDQ8n0dPbWounswK6cBRSgMod7Nhgg==",
+			"dev": true,
+			"requires": {
+				"portfinder": "^1.0.17",
+				"tiny-lr": "^1.1.1"
+			}
+		},
+		"webpack-sources": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
+			"integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
+			"dev": true,
+			"requires": {
+				"source-list-map": "^2.0.0",
+				"source-map": "~0.6.1"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
+			}
+		},
+		"websocket-driver": {
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+			"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+			"dev": true,
+			"requires": {
+				"http-parser-js": ">=0.4.0",
+				"websocket-extensions": ">=0.1.1"
+			}
+		},
+		"websocket-extensions": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+			"integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+			"dev": true
+		},
+		"whatwg-encoding": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+			"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+			"dev": true,
+			"requires": {
+				"iconv-lite": "0.4.24"
+			}
+		},
+		"whatwg-mimetype": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+			"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+			"dev": true
+		},
+		"whatwg-url": {
+			"version": "6.5.0",
+			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
+			"integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
+			"dev": true,
+			"requires": {
+				"lodash.sortby": "^4.7.0",
+				"tr46": "^1.0.1",
+				"webidl-conversions": "^4.0.2"
+			}
+		},
+		"which": {
+			"version": "1.3.1",
+			"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+			"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+			"dev": true,
+			"requires": {
+				"isexe": "^2.0.0"
+			}
+		},
+		"which-module": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+			"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+			"dev": true
+		},
+		"wide-align": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+			"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+			"dev": true,
+			"requires": {
+				"string-width": "^1.0.2 || 2"
+			}
+		},
+		"wordwrap": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+			"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+			"dev": true
+		},
+		"worker-farm": {
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
+			"integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
+			"dev": true,
+			"requires": {
+				"errno": "~0.1.7"
+			}
+		},
+		"wrap-ansi": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+			"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+			"dev": true,
+			"requires": {
+				"string-width": "^1.0.1",
+				"strip-ansi": "^3.0.1"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+					"dev": true
+				},
+				"is-fullwidth-code-point": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+					"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+					"dev": true,
+					"requires": {
+						"number-is-nan": "^1.0.0"
+					}
+				},
+				"string-width": {
+					"version": "1.0.2",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+					"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+					"dev": true,
+					"requires": {
+						"code-point-at": "^1.0.0",
+						"is-fullwidth-code-point": "^1.0.0",
+						"strip-ansi": "^3.0.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "3.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^2.0.0"
+					}
+				}
+			}
+		},
+		"wrappy": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+			"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+			"dev": true
+		},
+		"write": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+			"integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+			"dev": true,
+			"requires": {
+				"mkdirp": "^0.5.1"
+			}
+		},
+		"write-file-atomic": {
+			"version": "2.4.1",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz",
+			"integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.11",
+				"imurmurhash": "^0.1.4",
+				"signal-exit": "^3.0.2"
+			}
+		},
+		"ws": {
+			"version": "5.2.2",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
+			"integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
+			"dev": true,
+			"requires": {
+				"async-limiter": "~1.0.0"
+			}
+		},
+		"x-is-string": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
+			"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
+			"dev": true
+		},
+		"xml-name-validator": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+			"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+			"dev": true
+		},
+		"xtend": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+			"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+			"dev": true
+		},
+		"y18n": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+			"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+			"dev": true
+		},
+		"yallist": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+			"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+			"dev": true
+		},
+		"yargs": {
+			"version": "12.0.5",
+			"resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+			"integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+			"dev": true,
+			"requires": {
+				"cliui": "^4.0.0",
+				"decamelize": "^1.2.0",
+				"find-up": "^3.0.0",
+				"get-caller-file": "^1.0.1",
+				"os-locale": "^3.0.0",
+				"require-directory": "^2.1.1",
+				"require-main-filename": "^1.0.1",
+				"set-blocking": "^2.0.0",
+				"string-width": "^2.0.0",
+				"which-module": "^2.0.0",
+				"y18n": "^3.2.1 || ^4.0.0",
+				"yargs-parser": "^11.1.1"
+			}
+		},
+		"yargs-parser": {
+			"version": "11.1.1",
+			"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+			"integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+			"dev": true,
+			"requires": {
+				"camelcase": "^5.0.0",
+				"decamelize": "^1.2.0"
+			}
+		},
+		"yauzl": {
+			"version": "2.4.1",
+			"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
+			"integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+			"dev": true,
+			"requires": {
+				"fd-slicer": "~1.0.1"
+			}
+		}
+	}
 }
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/package.json wordcamp.org/public_html/wp-content/mu-plugins/blocks/package.json
index 932eec6a4..eb7248002 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/package.json
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/package.json
@@ -10,7 +10,7 @@
 	},
 	"dependencies": {
 		"classnames": "2.2.6",
-		"react-select": "2.1.1"
+		"react-select": "2.4.2"
 	},
 	"devDependencies": {
 		"@babel/core": "7.1.2",
@@ -20,16 +20,14 @@
 		"@wordpress/browserslist-config": "2.2.2",
 		"@wordpress/compose": "2.1.0",
 		"@wordpress/element": "2.1.4",
+		"@wordpress/eslint-plugin": "2.1.0",
 		"@wordpress/i18n": "3.0.1",
+		"@wordpress/npm-package-json-lint-config": "1.1.6",
+		"@wordpress/scripts": "3.1.0",
 		"acorn": "6.0.4",
-		"babel-eslint": "10.0.1",
 		"babel-loader": "8.0.4",
 		"cross-env": "5.2.0",
 		"css-loader": "1.0.1",
-		"eslint": "5.7.0",
-		"eslint-config-wordpress": "2.0.0",
-		"eslint-plugin-jsx-a11y": "6.1.2",
-		"eslint-plugin-react": "7.11.1",
 		"lodash": "4.17.11",
 		"mini-css-extract-plugin": "0.4.4",
 		"node-sass": "4.9.4",
@@ -41,12 +39,13 @@
 		"extends @wordpress/browserslist-config"
 	],
 	"eslintIgnore": [
-		"*.min.js",
-		"package*.json"
+		"*.min.js"
 	],
 	"scripts": {
 		"start": "cross-env BABEL_ENV=development NODE_ENV=development webpack --watch",
-		"build": "cross-env BABEL_ENV=development NODE_ENV=development webpack",
-		"lint": "eslint $(git diff master --name-only) $(git diff --cached --name-only) --ignore-pattern '!.eslintrc.js' --quiet"
+		"debug": "cross-env BABEL_ENV=development NODE_ENV=development SOURCE_MAPS=1 webpack --watch",
+		"build": "cross-env BABEL_ENV=production NODE_ENV=production webpack",
+		"lint:js": "wp-scripts lint-js .",
+		"lint:css": "wp-scripts lint-style '**/*.scss'"
 	}
 }
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/readme.md wordcamp.org/public_html/wp-content/mu-plugins/blocks/readme.md
index 0f652ffcf..090a117ad 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/readme.md
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/readme.md
@@ -10,4 +10,4 @@
 *Running:* 
 1. `cd` into the project directory.
 2. Run `npm run build` to initialize the build files.
-3. Run `npm start`  while developing to continuously watch the files.
+3. Run `npm start`  while developing to continuously watch the files. Alternatively, you can also run `npm run debug` to enable source maps.
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/organizers.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/organizers.php
new file mode 100644
index 000000000..7d888590f
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/organizers.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace WordCamp\Blocks\Organizers;
+use function WordCamp\Blocks\Shared\Content\{ get_all_the_content };
+
+defined( 'WPINC' ) || die();
+
+/**
+ * @var array  $attributes
+ * @var array  $organizers
+ * @var string $container_classes
+ */
+
+if ( empty( $organizers ) ) {
+	return;
+}
+
+// Note that organizer posts are not 'public', so there are no permalinks.
+?>
+
+<ul class="<?php echo esc_attr( $container_classes ); ?>">
+	<?php foreach ( $organizers as $organizer ) : ?>
+		<?php setup_postdata( $organizer ); ?>
+
+		<li class="wordcamp-block-post-list-item wordcamp-organizer wordcamp-organizer-<?php echo sanitize_html_class( $organizer->post_name ); ?> wordcamp-clearfix">
+			<h3 class="wordcamp-item-title wordcamp-organizer-title">
+				<?php echo wp_kses_post( get_the_title( $organizer ) ); ?>
+			</h3>
+
+			<?php if ( true === $attributes['show_avatars'] ) : ?>
+				<div class="wordcamp-organizer-avatar-container align-<?php echo esc_attr( $attributes['avatar_align'] ); ?>">
+					<?php echo get_avatar(
+						$organizer->_wcpt_user_id,
+						$attributes['avatar_size'],
+						'',
+						sprintf( __( 'Avatar of %s', 'wordcamporg'), get_the_title( $organizer ) ),
+						[
+							'class'         => 'wordcamp-organizer-avatar',
+							'force_display' => true,
+						]
+					); ?>
+				</div>
+			<?php endif; ?>
+
+			<?php if ( 'none' !== $attributes['content'] ) : ?>
+				<div class="wordcamp-item-content wordcamp-organizer-content-<?php echo esc_attr( $attributes['content'] ); ?>">
+					<?php if ( 'full' === $attributes['content'] ) : ?>
+						<?php echo wp_kses_post( wpautop( get_all_the_content( $organizer ) ) ); ?>
+					<?php elseif ( 'excerpt' === $attributes['content'] ) : ?>
+						<?php echo wp_kses_post( wpautop( apply_filters( 'the_excerpt', get_the_excerpt() ) ) ); ?>
+					<?php endif; ?>
+				</div>
+			<?php endif; ?>
+
+		</li>
+	<?php endforeach; ?>
+	<?php wp_reset_postdata(); ?>
+</ul>
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/sessions.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/sessions.php
new file mode 100644
index 000000000..525fef8f3
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/sessions.php
@@ -0,0 +1,131 @@
+<?php
+
+namespace WordCamp\Blocks\Sessions;
+use WP_Post;
+use function WordCamp\Blocks\Shared\Content\{ get_all_the_content, array_to_human_readable_list };
+use function WordCamp\Blocks\Shared\Components\{ render_featured_image };
+
+defined( 'WPINC' ) || die();
+
+/** @var array   $attributes */
+/** @var WP_Post $session */
+/** @var array   $speakers */
+/** @var string  $container_classes */
+
+setup_postdata( $session );
+
+?>
+
+<div class="wordcamp-block-post-list-item wordcamp-session wordcamp-session-<?php echo sanitize_html_class( $session->post_name ); ?> wordcamp-clearfix">
+	<h3 class="wordcamp-item-title wordcamp-session-title">
+		<a href="<?php echo esc_url( get_permalink( $session ) ); ?>">
+			<?php echo wp_kses_post( get_the_title( $session ) ); ?>
+		</a>
+	</h3>
+
+	<?php if ( true === $attributes['show_speaker'] && ! empty( $speakers[ $session->ID ] ) ) :
+		$speaker_linked_names = array_map(
+			function( $speaker ) {
+				return sprintf(
+					'<a href="%s">%s</a>',
+					get_permalink( $speaker ),
+					get_the_title( $speaker )
+				);
+			},
+			$speakers[ $session->ID ]
+		);
+		?>
+
+		<div class="wordcamp-item-meta wordcamp-session-speakers">
+			<?php
+			printf(
+				/* translators: %s is a list of names. */
+				wp_kses_post( __( 'Presented by %s', 'wordcamporg' ) ),
+				wp_kses_post( array_to_human_readable_list( $speaker_linked_names ) )
+			);
+			?>
+		</div>
+	<?php endif; ?>
+
+	<?php if ( true === $attributes['show_images'] ) : ?>
+		<?php
+			echo wp_kses_post( render_featured_image(
+				array( 'wordcamp-session-image-container', 'align-' . esc_attr( $attributes['image_align'] ) ),
+				$session,
+				$attributes['featured_image_width'],
+				get_permalink( $session )
+			) );
+		?>
+	<?php endif; ?>
+
+	<?php if ( 'none' !== $attributes['content'] ) : ?>
+		<div class="wordcamp-item-content wordcamp-session-content-<?php echo esc_attr( $attributes['content'] ); ?>">
+			<?php if ( 'full' === $attributes['content'] ) : ?>
+				<?php echo wp_kses_post( wpautop( get_all_the_content( $session ) ) ); ?>
+			<?php elseif ( 'excerpt' === $attributes['content'] ) : ?>
+				<?php echo wp_kses_post( wpautop( apply_filters( 'the_excerpt', get_the_excerpt() ) ) ); ?>
+			<?php endif; ?>
+		</div>
+	<?php endif; ?>
+
+	<?php if ( $attributes['show_meta'] || $attributes['show_category'] ) : ?>
+		<div class="wordcamp-item-meta wordcamp-session-details">
+			<?php if ( $attributes['show_meta'] ) : ?>
+				<?php $tracks = get_the_terms( $session, 'wcb_track' ); ?>
+
+				<div class="wordcamp-session-time-location">
+					<?php if ( ! is_wp_error( $tracks ) && ! empty( $tracks ) ) :
+						printf(
+							/* translators: 1: A date; 2: A time; 3: A location; */
+							esc_html__( '%1$s at %2$s in %3$s', 'wordcamporg' ),
+							esc_html( date_i18n( get_option( 'date_format' ), $session->_wcpt_session_time ) ),
+							esc_html( date_i18n( get_option( 'time_format' ), $session->_wcpt_session_time ) ),
+							sprintf(
+								'<span class="wordcamp-session-track wordcamp-session-track-%s">%s</span>',
+								esc_attr( $tracks[0]->slug ),
+								esc_html( $tracks[0]->name )
+							)
+						);
+
+					else :
+						printf(
+							/* translators: 1: A date; 2: A time; */
+							esc_html__( '%1$s at %2$s', 'wordcamporg' ),
+							esc_html( date_i18n( get_option( 'date_format' ), $session->_wcpt_session_time ) ),
+							esc_html( date_i18n( get_option( 'time_format' ), $session->_wcpt_session_time ) )
+						);
+					endif; ?>
+				</div>
+			<?php endif; ?>
+
+			<?php if ( $attributes['show_category'] && has_term( null, 'wcb_session_category', $session ) ) :
+				$categories = array_map(
+					function( $category ) {
+						return sprintf(
+							'<span class="wordcamp-session-category wordcamp-session-category-%s">%s</span>',
+							esc_attr( $category->slug ),
+							esc_html( $category->name )
+						);
+					},
+					get_the_terms( $session, 'wcb_session_category' )
+				);
+				?>
+
+				<div class="wordcamp-session-categories">
+					<?php
+					/* translators: used between list items, there is a space after the comma */
+					echo wp_kses_post( implode( __( ', ', 'wordcamporg' ), $categories ) );
+					?>
+				</div>
+			<?php endif; ?>
+		</div>
+	<?php endif; ?>
+
+	<?php if ( 'full' === $attributes['content'] ) : ?>
+		<p class="wordcamp-item-permalink">
+			<a href="<?php echo esc_url( get_permalink( $session ) ); ?>">
+				<?php esc_html_e( 'Visit session page', 'wordcamporg' ); ?>
+			</a>
+		</p>
+	<?php endif; ?>
+</div>
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/speakers.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/speakers.php
index e7ef94a50..b38b48d39 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/speakers.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/speakers.php
@@ -1,96 +1,107 @@
 <?php
-
 namespace WordCamp\Blocks\Speakers;
 defined( 'WPINC' ) || die();
 
-/** @var array $attributes */
-/** @var array $speakers */
-/** @var array $sessions */
+use function WordCamp\Blocks\Shared\Content\{ get_all_the_content };
+
+/** @var array  $attributes */
+/** @var array  $speakers */
+/** @var array  $sessions */
+/** @var string $container_classes */
 
-$container_classes = [
-	'wordcamp-speakers-block',
-	'layout-' . sanitize_html_class( $attributes['layout'] ),
-	( 'grid' === $attributes['layout'] ) ? 'grid-columns-' . absint( $attributes['grid_columns'] ) : '',
-	sanitize_html_class( $attributes['className'] ),
-];
 ?>
 
 <?php if ( ! empty( $speakers ) ) : ?>
-	<ul class="<?php echo implode( ' ', $container_classes ); ?>">
-		<?php foreach ( $speakers as $post ) : setup_postdata( $post ); ?>
-			<li class="wordcamp-speaker wordcamp-speaker-<?php echo sanitize_html_class( $post->post_name ); ?>">
-				<h3 class="wordcamp-speaker-name-heading">
-					<?php echo get_the_title( $post ); ?>
+	<ul class="<?php echo esc_attr( $container_classes ); ?>">
+		<?php foreach ( $speakers as $speaker ) : ?>
+			<?php setup_postdata( $speaker ); ?>
+
+			<li class="wordcamp-block-post-list-item wordcamp-speaker wordcamp-speaker-<?php echo sanitize_html_class( $speaker->post_name ); ?> wordcamp-clearfix">
+				<h3 class="wordcamp-item-title wordcamp-speaker-title">
+					<a href="<?php echo esc_url( get_permalink( $speaker ) ); ?>">
+						<?php echo wp_kses_post( get_the_title( $speaker ) ); ?>
+					</a>
 				</h3>
 
 				<?php if ( true === $attributes['show_avatars'] ) : ?>
-					<?php
-					echo get_avatar(
-						$post->_wcb_speaker_email,
-						$attributes['avatar_size'],
-						'',
-						sprintf( __( 'Avatar of %s', 'wordcamporg'), get_the_title( $post ) ),
-						[
-							'class'         => [
-								'wordcamp-speaker-avatar',
-								'align-' . sanitize_html_class( $attributes['avatar_align'] )
-							],
-							'force_display' => true,
-						]
-					);
-					?>
+					<div class="wordcamp-speaker-avatar-container align-<?php echo esc_attr( $attributes['avatar_align'] ); ?>">
+						<a href="<?php echo esc_url( get_permalink( $speaker ) ); ?>" class="wordcamp-speaker-avatar-link">
+							<?php echo get_avatar(
+								$speaker->_wcb_speaker_email,
+								$attributes['avatar_size'],
+								'',
+								sprintf( __( 'Avatar of %s', 'wordcamporg'), get_the_title( $speaker ) ),
+								[
+									'class'         => 'wordcamp-speaker-avatar',
+									'force_display' => true,
+								]
+							); ?>
+						</a>
+					</div>
 				<?php endif; ?>
 
-				<?php if ( 'none' !== $attributes['content'] || true === $attributes['speaker_link'] ) : ?>
-					<div class="wordcamp-speaker-content">
+				<?php if ( 'none' !== $attributes['content'] ) : ?>
+					<div class="wordcamp-item-content wordcamp-speaker-content-<?php echo esc_attr( $attributes['content'] ); ?>">
 						<?php if ( 'full' === $attributes['content'] ) : ?>
-							<?php echo trim( apply_filters( 'the_content', maybe_add_more_link( get_the_content( '' ), $attributes['speaker_link'], $post ) ) ); ?>
+							<?php echo wp_kses_post( wpautop( get_all_the_content( $speaker ) ) ); ?>
 						<?php elseif ( 'excerpt' === $attributes['content'] ) : ?>
-							<?php echo trim( apply_filters( 'the_excerpt', maybe_add_more_link( get_the_excerpt(), $attributes['speaker_link'], $post ) ) ); ?>
-						<?php elseif ( 'none' === $attributes['content'] ) : ?>
-							<?php echo trim( maybe_add_more_link( '', $attributes['speaker_link'], $post ) ); ?>
+							<?php echo wp_kses_post( wpautop( apply_filters( 'the_excerpt', get_the_excerpt() ) ) ); ?>
 						<?php endif; ?>
 					</div>
 				<?php endif; ?>
 
-				<?php if ( true === $attributes['show_session'] && ! empty( $sessions[ $post->ID ] ) ) : ?>
-					<h4 class="wordcamp-speaker-session-heading">
-						<?php echo esc_html( _n( 'Session', 'Sessions', count( $sessions[ $post->ID ] ), 'wordcamporg' ) ); ?>
-					</h4>
+				<?php if ( true === $attributes['show_session'] && ! empty( $sessions[ $speaker->ID ] ) ) : ?>
+					<div class="wordcamp-item-meta wordcamp-speaker-sessions">
+						<h4 class="wordcamp-speaker-sessions-heading">
+							<?php echo esc_html( _n( 'Session', 'Sessions', count( $sessions[ $speaker->ID ] ), 'wordcamporg' ) ); ?>
+						</h4>
+
+						<ul class="wordcamp-speaker-sessions-list">
+							<?php foreach ( $sessions[ $speaker->ID ] as $session ) : ?>
+								<?php $tracks = get_the_terms( $session, 'wcb_track' ); ?>
+								<li class="wordcamp-speaker-session-content">
+									<a class="wordcamp-speaker-session-link" href="<?php echo esc_url( get_permalink( $session ) ); ?>">
+										<?php echo wp_kses_post( get_the_title( $session ) ); ?>
+									</a>
+
+									<span class="wordcamp-speaker-session-info">
+										<?php if ( ! is_wp_error( $tracks ) && ! empty( $tracks ) ) : ?>
+											<?php
+												printf(
+													/* translators: 1: A date; 2: A time; 3: A location; */
+													esc_html__( '%1$s at %2$s in %3$s', 'wordcamporg' ),
+													esc_html( date_i18n( get_option( 'date_format' ), $session->_wcpt_session_time ) ),
+													esc_html( date_i18n( get_option( 'time_format' ), $session->_wcpt_session_time ) ),
+													esc_html( $tracks[0]->name )
+												);
+											?>
+
+										<?php else : ?>
+											<?php
+												printf(
+													/* translators: 1: A date; 2: A time; */
+													esc_html__( '%1$s at %2$s', 'wordcamporg' ),
+													esc_html( date_i18n( get_option( 'date_format' ), $session->_wcpt_session_time ) ),
+													esc_html( date_i18n( get_option( 'time_format' ), $session->_wcpt_session_time ) )
+												);
+											?>
+										<?php endif; ?>
+									</span>
+								</li>
+							<?php endforeach; ?>
+						</ul>
+					</div>
+				<?php endif; ?>
 
-					<ul class="wordcamp-speaker-session-list">
-						<?php foreach ( $sessions[ $post->ID ] as $session ) : ?>
-							<li class="wordcamp-speaker-session-content">
-								<a class="wordcamp-speaker-session-link" href="<?php echo esc_url( get_permalink( $session ) ); ?>">
-									<?php echo get_the_title( $session ); ?>
-								</a>
-								<span class="wordcamp-speaker-session-info">
-									<?php if ( ! empty( $tracks = get_the_terms( $session, 'wcb_track' ) ) && ! is_wp_error( $tracks ) ) : ?>
-										<?php
-											printf(
-												/* translators: 1: A date; 2: A time; 3: A location; */
-												esc_html__( '%1$s at %2$s in %3$s', 'wordcamporg' ),
-												date_i18n( get_option( 'date_format' ), $session->_wcpt_session_time ),
-												date_i18n( get_option( 'time_format' ), $session->_wcpt_session_time ),
-												esc_html( $tracks[0]->name )
-											);
-										?>
-									<?php else : ?>
-										<?php
-											printf(
-												/* translators: 1: A date; 2: A time; */
-												esc_html__( '%1$s at %2$s', 'wordcamporg' ),
-												date_i18n( get_option( 'date_format' ), $session->_wcpt_session_time ),
-												date_i18n( get_option( 'time_format' ), $session->_wcpt_session_time )
-											);
-										?>
-									<?php endif; ?>
-								</span>
-							</li>
-						<?php endforeach; ?>
-					</ul>
+				<?php if ( 'full' === $attributes['content'] ) : ?>
+					<p class="wordcamp-item-permalink">
+						<a href="<?php echo esc_url( get_permalink( $speaker ) ); ?>">
+							<?php esc_html_e( 'Visit speaker page', 'wordcamporg' ); ?>
+						</a>
+					</p>
 				<?php endif; ?>
 			</li>
-		<?php endforeach; wp_reset_postdata(); ?>
+		<?php endforeach; ?>
+		<?php wp_reset_postdata(); ?>
 	</ul>
 <?php endif; ?>
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/sponsors.php wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/sponsors.php
new file mode 100644
index 000000000..54b4b076c
--- /dev/null
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/sponsors.php
@@ -0,0 +1,49 @@
+<?php
+namespace WordCamp\Blocks\Sponsors;
+defined( 'WPINC' ) || die();
+
+use function WordCamp\Blocks\Shared\Content\{ get_all_the_content };
+use function WordCamp\Blocks\Shared\Components\{ render_featured_image };
+
+/** @var array     $attributes */
+/** @var \WP_Post  $sponsor */
+/** @var array     $sponsor_featured_urls */
+
+setup_postdata( $sponsor );
+
+?>
+<div class="wordcamp-sponsor-details wordcamp-sponsor-details-<?php echo sanitize_html_class( $sponsor->post_name ); ?> ">
+
+	<?php if ( $attributes['show_name'] ) { ?>
+		<h3 class="wordcamp-sponsor-title wordcamp-item-title">
+			<a href="<?php echo esc_attr( get_permalink( $sponsor->ID ) ); ?>"><?php echo esc_html( get_the_title( $sponsor ) ); ?></a>
+		</h3>
+	<?php } ?>
+
+	<?php if ( $attributes['show_logo'] ) { ?>
+		<?php echo wp_kses_post(
+			render_featured_image(
+				array( 'wordcamp-sponsor-featured-image', 'wordcamp-sponsor-logo' ),
+				$sponsor,
+				$attributes['featured_image_width'],
+				get_permalink( $sponsor )
+			)
+		); ?>
+	<?php } ?>
+
+	<?php if ( 'none' !== $attributes['content'] ) { ?>
+		<?php if ( 'full' === $attributes['content'] ) { ?>
+			<?php echo wp_kses_post( wpautop( get_all_the_content( $sponsor ) ) ); ?>
+		<?php } elseif ( 'excerpt' === $attributes['content'] ) { ?>
+			<?php echo wp_kses_post( wpautop( apply_filters( 'the_excerpt', get_the_excerpt() ) ) ); ?>
+		<?php } ?>
+	<?php } ?>
+
+	<?php if ( 'full' === $attributes['content'] ) : ?>
+		<p class="wordcamp-item-permalink">
+			<a href="<?php echo esc_url( get_permalink( $sponsor ) ); ?>">
+				<?php esc_html_e( 'Visit sponsor page', 'wordcamporg' ); ?>
+			</a>
+		</p>
+	<?php endif; ?>
+</div>
diff --git wordcamp.org/public_html/wp-content/mu-plugins/blocks/webpack.config.js wordcamp.org/public_html/wp-content/mu-plugins/blocks/webpack.config.js
index 9f20cd61d..68caefa2f 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/blocks/webpack.config.js
+++ wordcamp.org/public_html/wp-content/mu-plugins/blocks/webpack.config.js
@@ -1,45 +1,48 @@
 const path = require( 'path' );
 const webpack = require( 'webpack' );
-const { exec } = require( 'child_process' );
 const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' );
 
 const NODE_ENV = process.env.NODE_ENV || 'development';
+const SOURCE_MAPS = process.env.SOURCE_MAPS ? true : false;
 
 const externals = {
-	react: 'React',
-	'react-dom': 'ReactDOM',
-	lodash: 'lodash',
+	react       : 'React',
+	'react-dom' : 'ReactDOM',
+	lodash      : 'lodash',
 };
 
 const webpackConfig = {
+	// Must be 'none', 'production', or 'development'.
 	mode: NODE_ENV === 'production' ? 'production' : 'development',
 
 	optimization: {
 		minimize: true,
 	},
 
+	// Disabled by default because they make the re-build process take longer.
+	devtool: SOURCE_MAPS ? 'cheap-module-eval-source-map' : 'none',
+
 	entry: {
 		blocks: path.resolve( __dirname, 'assets/src/blocks.js' ),
 	},
+
 	output: {
-		filename: '[name].min.js',
-		path: path.resolve( __dirname, 'assets' ),
+		filename : '[name].min.js',
+		path     : path.resolve( __dirname, 'assets' ),
 	},
+
 	module: {
 		rules: [
 			{
-				test: /\.jsx?$/,
-				exclude: [
-					/node_modules/,
-				],
-				use: 'babel-loader',
+				test    : /\.jsx?$/,
+				use     : 'babel-loader',
+				exclude : [ /node_modules/ ],
 			},
+
 			{
-				test: /\.(sc|sa|c)ss$/,
-				exclude: [
-					/node_modules/,
-				],
-				use: [
+				test    : /\.(sc|sa|c)ss$/,
+				exclude : [ /node_modules/ ],
+				use     : [
 					MiniCssExtractPlugin.loader,
 					'css-loader',
 					'sass-loader',
@@ -47,15 +50,18 @@ const webpackConfig = {
 			},
 		],
 	},
+
 	plugins: [
 		new MiniCssExtractPlugin( {
 			filename: '[name].min.css',
 		} ),
+
 		new webpack.DefinePlugin( {
-			'process.env.NODE_ENV': JSON.stringify( NODE_ENV )
+			'process.env.NODE_ENV': JSON.stringify( NODE_ENV ),
 		} ),
 	],
-	externals,
+
+	externals: externals,
 };
 
 module.exports = webpackConfig;
diff --git wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/class-payment-options.php wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/class-payment-options.php
index 561adc4ed..74f992869 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/class-payment-options.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/class-payment-options.php
@@ -69,6 +69,7 @@ class Payment_Options extends CampTix_Addon {
 	 * @param string $selected_payment_method Already selected payment method.
 	 */
 	function generate_payment_options( $payment_output, $total, $payment_methods, $selected_payment_method ) {
+		ob_start();
 		?>
 		<div class="tix-submit">
 			<?php if ( $total > 0 ) : ?>
@@ -93,6 +94,7 @@ class Payment_Options extends CampTix_Addon {
 			<br class="tix-clear" />
 		</div>
 		<?php
+		return ob_get_clean();
 	}
 
 	/**
diff --git wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/privacy.php wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/privacy.php
index 3f50a98f7..26bd884b3 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/privacy.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/addons/privacy.php
@@ -49,7 +49,6 @@ class Privacy_Field extends CampTix_Addon {
 		add_filter( 'camptix_checkout_attendee_info', array( $this, 'validate_registration_field' ) );
 		add_filter( 'camptix_form_register_complete_attendee_object', array( $this, 'populate_attendee_object' ), 10, 2 );
 		add_action( 'camptix_checkout_update_post_meta', array( $this, 'save_registration_field' ), 10, 2 );
-		add_action( 'camptix_ticket_emailed', array( $this, 'after_email_receipt' ) );
 
 		// Edit info field
 		add_filter( 'camptix_form_edit_attendee_ticket_info', array( $this, 'populate_ticket_info_array' ), 10, 2 );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/camptix-tweaks.php wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/camptix-tweaks.php
index 521b49bc8..a25c82cde 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/camptix-tweaks.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/camptix-tweaks/camptix-tweaks.php
@@ -3,6 +3,7 @@
 namespace WordCamp\CampTix_Tweaks;
 use CampTix_Plugin;
 use WP_Post;
+use WordCamp\Utilities\Form_Spam_Prevention;
 
 defined( 'WPINC' ) or die();
 
@@ -14,7 +15,9 @@ add_filter( 'camptix_stripe_predefined_accounts',            __NAMESPACE__ . '\s
 add_action( 'init',                                          __NAMESPACE__ . '\hide_empty_tickets'                  );
 add_action( 'wp_print_styles',                               __NAMESPACE__ . '\print_login_message_styles'          );
 add_filter( 'camptix_require_login_please_login_message',    __NAMESPACE__ . '\override_please_login_message'       );
+add_action( 'camptix_checkout_start',                        __NAMESPACE__ . '\check_ip_throttling'                 );
 add_action( 'camptix_form_start_errors',                     __NAMESPACE__ . '\add_form_start_error_messages'       );
+add_filter( 'camptix_form_attendee_info_errors',             __NAMESPACE__ . '\show_throttle_notice'                );
 add_action( 'transition_post_status',                        __NAMESPACE__ . '\ticket_sales_opened',          10, 3 );
 add_action( 'camptix_payment_result',                        __NAMESPACE__ . '\track_payment_results',        10, 3 );
 add_filter( 'camptix_shortcode_contents',                    __NAMESPACE__ . '\modify_shortcode_contents',    10, 2 );
@@ -42,6 +45,8 @@ add_filter( 'camptix_html_message',                          __NAMESPACE__ . '\r
 add_action( 'camptix_tshirt_report_intro',                   __NAMESPACE__ . '\tshirt_report_intro_message',  10, 3 );
 add_filter( 'camptix_stripe_checkout_image_url',             __NAMESPACE__ . '\stripe_default_checkout_image_url'   );
 
+// Prefix for Form_Spam_Prevention class.
+define( 'WC_CAMPTIX_FSP_PREFIX', 'wc-camptix-fsp-prefix' );
 
 /**
  * Warn organizers when CampTix is in sandbox mode
@@ -669,82 +674,36 @@ function switch_email_template( $template_slug ) {
  * @return string
  */
 function get_global_sponsors_string( $sponsor_args = array() ) {
-	$sponsor_message_html = '';
-	$sponsors             = get_global_sponsors( $sponsor_args );
-	$sponsor_count        = count( $sponsors );
+	$sponsors = array( 'Jetpack', 'WooCommerce', 'Bluehost', 'GoDaddy', 'Liquid Web', 'GreenGeeks', 'DreamHost' );
 
-	if ( $sponsor_count > 0 ) {
-		$sponsors = wp_list_pluck( $sponsors, 'name' );
-
-		$sponsors = array_map( function( $string ) {
+	$sponsors = array_map(
+		function ( $string ) {
 			return "<strong>$string</strong>";
-		}, $sponsors );
+		},
+		$sponsors
+	);
 
-		shuffle( $sponsors );
+	$last_sponsor = array_pop( $sponsors );
 
-		switch ( $sponsor_count ) {
-			case 1 :
-				$sponsors_string = array_shift( $sponsors );
-				break;
-			case 2 :
-				$sponsors_string = sprintf(
-					/* translators: The %s placeholders are the names of sponsors. */
-					__( '%s and %s', 'wordcamporg' ),
-					array_shift( $sponsors ),
-					array_shift( $sponsors )
-				);
-				break;
-			default :
-				$last_sponsor = array_pop( $sponsors );
-
-				$sponsors_string = sprintf(
-					'%1$s%2$s %3$s',
-					/* translators: Used between sponsor names in a list, there is a space after the comma. */
-					implode( _x( ', ', 'list item separator', 'wordcamporg' ), $sponsors ),
-					/* translators: List item separator, used before the last sponsor name in the list. */
-					__( ', and', 'wordcamporg' ),
-					$last_sponsor
-				);
-				break;
-		}
+	$sponsors_string = sprintf(
+		'%1$s%2$s %3$s',
+		/* translators: Used between sponsor names in a list, there is a space after the comma. */
+		implode( _x( ', ', 'list item separator', 'wordcamporg' ), $sponsors ),
+		/* translators: List item separator, used before the last sponsor name in the list. */
+		__( ' and', 'wordcamporg' ),
+		$last_sponsor
+	);
 
-		$intro = __( 'WordPress Global Community Sponsors help fund WordCamps and meetups around the world.', 'wordcamporg' );
-
-		$thank_you = sprintf(
-			/* translators: %1$s: list of sponsor names; %2$s: URL; */
-			_n(
-				'Thank you to %1$s for <a href="%2$s">its support</a>!',
-				'Thank you to %1$s for <a href="%2$s">their support</a>!',
-				$sponsor_count,
-				'wordcamporg'
-			),
-			$sponsors_string,
-			'https://central.wordcamp.org/global-community-sponsors/'
-		);
+	$intro = __( 'WordPress Global Community Sponsors help fund WordCamps and meetups around the world.', 'wordcamporg' );
 
-		if ( isset( $sponsor_args['region_id'], $sponsor_args['level_id'] ) ) {
-			$sponsor_level = get_sponsorship_level_name_from_id( $sponsor_args['level_id'] );
-			$sponsor_region = get_sponsorship_region_description_from_id( $sponsor_args['region_id'] );
-
-			if ( $sponsor_level && $sponsor_region ) {
-				$thank_you = sprintf(
-					/* translators: %1$s: sponsorship type; %2$s: list of sponsor names; %3$s: URL; %4$s: sponsorship region; */
-					_n(
-						'Thank you to our %1$s sponsor %2$s for <a href="%3$s">its support</a> in %4$s!',
-						'Thank you to our %1$s sponsors %2$s for <a href="%3$s">their support</a> in %4$s!',
-						$sponsor_count,
-						'wordcamporg'
-					),
-					$sponsor_level,
-					$sponsors_string,
-					'https://central.wordcamp.org/global-community-sponsors/',
-					$sponsor_region
-				);
-			}
-		}
+	$thank_you = sprintf(
+		/* translators: %1$s: list of sponsor names; %2$s: URL; */
+		__( 'Thank you to %1$s for <a href="%2$s">their support</a>!', 'wordcamporg' ),
+		$sponsors_string,
+		'https://central.wordcamp.org/global-community-sponsors/'
+	);
 
-		$sponsor_message_html = sprintf( '%s %s', $intro, $thank_you );
-	}
+	$sponsor_message_html = sprintf( '%s %s', $intro, $thank_you );
 
 	return $sponsor_message_html;
 }
@@ -965,6 +924,42 @@ function modify_shortcode_contents( $shortcode_contents, $tix_action ) {
 	return $shortcode_contents;
 }
 
+/**
+ * Show error message if IP Address has been throttled by `Form_Spam_Prevention`.
+ * We are not using honeypot feature provided by Form_Spam_Prevention because we do not want to be aggressive with blocking requests in ticket purchase page. We only block when we are extremely sure that its a bad actor, and even if it is a bot, we let it go if its not annoying.
+ */
+function show_throttle_notice() {
+	global $camptix;
+
+	$fsp = new Form_Spam_Prevention( [ 'prefix' => WC_CAMPTIX_FSP_PREFIX ] );
+
+	if ( $fsp->is_ip_address_throttled() ) {
+		$camptix->error( __( 'You are purchasing tickets too fast. Your IP address has been throttled for an hour since last ticket purchase.', 'wordcamporg' ) );
+
+		// With some payment methods, payment could have been  deducted in the frontend before making a checkout request.
+		// Therefore its important that we disable payment methods tab if we are going to block the checkout request.
+		add_filter( 'tix_render_payment_options', '__return_empty_string', 20 );
+	}
+
+}
+
+/**
+ * Checks if IP is throttled. If not then increments the score by 0.1. This does not handle any sophisticated attack, but is just there so that we do not have to delete junk tickets if a security researcher runs a test on site.
+ *
+ * Maximum score threshold in Form_Spam_Prevention is 4, so using 0.1 implies an IP address will be able to make 39 purchase request before getting throttled.
+ */
+function check_ip_throttling() {
+	global $camptix;
+
+	$fsp = new Form_Spam_Prevention( [ 'prefix' => WC_CAMPTIX_FSP_PREFIX ] );
+
+	if ( $fsp->is_ip_address_throttled() ) {
+		$camptix->error_flag( 'ip_address_throttled' );
+	} else {
+		$fsp->add_score_to_ip_address( [ 0.1 ] );
+	}
+}
+
 /**
  * Modify the list of personal data eraser callbacks.
  *
diff --git wordcamp.org/public_html/wp-content/mu-plugins/gutenberg-tweaks.php wordcamp.org/public_html/wp-content/mu-plugins/gutenberg-tweaks.php
index b6d6aca69..773a65bca 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/gutenberg-tweaks.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/gutenberg-tweaks.php
@@ -16,3 +16,22 @@ function classic_editor_default_settings( $defaults ) {
 
 	return $defaults;
 }
+
+/**
+ * Disable block editor for WordCamp post types, since its not fully compatible yet.
+ * In block editor flow, when an organizer who do not have permission to change status, but are author of the post, tries to edit a WordCamp post, "Publish" button gets replaced with "Submit for Review" button.
+ * Since we do not support review flow for WordCamp Post Type, this has unintended consequences which includes post status being set to "Needs Vetting", there by accidentally changing WordCamp Status.
+ *
+ * @param string $status
+ * @param string $post_type
+ *
+ * @return bool
+ */
+function disable_block_editor_for_wordcamp( $use_block_editor, $post_type ) {
+	if ( ! defined( 'WCPT_POST_TYPE_ID' ) ) {
+		return $use_block_editor;
+	}
+	return $use_block_editor && WCPT_POST_TYPE_ID !== $post_type;
+}
+
+add_filter( 'use_block_editor_for_post_type', __NAMESPACE__ . '\disable_block_editor_for_wordcamp', 10, 2 );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/helpers-misc.php wordcamp.org/public_html/wp-content/mu-plugins/helpers-misc.php
index 26ad9d72a..9a99098a6 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/helpers-misc.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/helpers-misc.php
@@ -1,7 +1,7 @@
 <?php
 
 defined( 'WPINC' ) or die();
-use WordCamp\Logger;
+use function WordCamp\Logger\log;
 
 /*
  * Miscellaneous helper functions.
@@ -94,10 +94,10 @@ function wcorg_redundant_remote_get( $request_url, $request_args = array() ) {
 		}
 
 		if ( $attempt_count < 3 ) {
-			Logger\log( 'request_failed_temporarily', compact( 'request_url', 'request_args', 'response', 'attempt_count', 'retry_after' ) );
+			log( 'request_failed_temporarily', compact( 'request_url', 'request_args', 'response', 'attempt_count', 'retry_after' ) );
 			sleep( $retry_after );
 		} else {
-			Logger\log( 'request_failed_permenantly', compact( 'request_url', 'request_args', 'response' ) );
+			log( 'request_failed_permenantly', compact( 'request_url', 'request_args', 'response' ) );
 			break;
 		}
 
diff --git wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/css-sanitization.php wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/css-sanitization.php
index 081898dc9..c6a410324 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/css-sanitization.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/css-sanitization.php
@@ -132,7 +132,7 @@ function sanitize_csstidy_subvalues( $safecss ) {
  * @return string
  */
 function sanitize_urls_in_css_properties( $url, $property ) {
-	$allowed_properties = array( 'background', 'background-image', 'border-image', 'content', 'cursor', 'list-style', 'list-style-image' );
+	$allowed_properties = array( 'background', 'background-image', 'border-image', 'border-image-source', 'content', 'cursor', 'list-style', 'list-style-image' );
 	$allowed_protocols  = array( 'http', 'https' );
 	// todo maybe add permenant warning note that `data` shouldn't be allowed, see #1616:comment:4
 
diff --git wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/miscellaneous.php wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/miscellaneous.php
index aa8f9d95c..5cf47e842 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/miscellaneous.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/miscellaneous.php
@@ -56,3 +56,20 @@ function grunion_unique_subject( $subject ) {
 	return sprintf( '[%s] %s', wp_generate_password( 8, false ), $subject );
 }
 add_filter( 'contact_form_subject', __NAMESPACE__ . '\grunion_unique_subject' );
+
+/**
+ * Lower the timeout for requests to the Brute Protect API to avoid unintentional DDoS.
+ *
+ * The default timeout is 30 seconds, but when the API goes down, the long timeouts will occupy php-fpm threads,
+ * which will stack up until there are no more available, and the site will crash.
+ *
+ * @link https://wordpress.slack.com/archives/G02QCEMRY/p1553203877064600
+ *
+ * @param int $timeout
+ *
+ * @return int
+ */
+function lower_brute_protect_api_timeout( $timeout ) {
+	return 8; // seconds
+}
+add_filter( 'jetpack_protect_connect_timeout', __NAMESPACE__ . '\lower_brute_protect_api_timeout' );
diff --git wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/new-sites.php wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/new-sites.php
index de6b61324..0ed1bf4fd 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/new-sites.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/jetpack-tweaks/new-sites.php
@@ -1,12 +1,13 @@
 <?php
 
 namespace WordCamp\Jetpack_Tweaks;
+use WP_Site;
 
 defined( 'WPINC' ) or die();
 
 add_filter( 'jetpack_get_default_modules',                     __NAMESPACE__ . '\default_jetpack_modules'       );
 add_filter( 'pre_update_site_option_jetpack-network-settings', __NAMESPACE__ . '\auto_connect_new_sites', 10, 2 );
-add_action( 'wpmu_new_blog',                                   __NAMESPACE__ . '\schedule_connect_new_site'     );
+add_action( 'wp_initialize_site',                              __NAMESPACE__ . '\schedule_connect_new_site', 11 );
 add_action( 'wcorg_connect_new_site',                          __NAMESPACE__ . '\wcorg_connect_new_site', 10, 2 );
 
 /*
@@ -39,13 +40,13 @@ function auto_connect_new_sites( $new_value, $old_value ) {
 /**
  * Schedule an email asking to connect Jetpack to WordPress.com
  *
- * @param int $blog_id The blog id.
+ * @param WP_Site $new_site
  */
-function schedule_connect_new_site( $blog_id ) {
+function schedule_connect_new_site( $new_site ) {
 	wp_schedule_single_event(
 		time() + 12 * HOUR_IN_SECONDS + 600, // After the the SSL certificate has been installed
 		'wcorg_connect_new_site_email',
-		array( $blog_id, get_current_user_id() )
+		array( $new_site->blog_id, get_current_user_id() )
 	);
 }
 
diff --git wordcamp.org/public_html/wp-content/mu-plugins/utilities/class-meetup-client.php wordcamp.org/public_html/wp-content/mu-plugins/utilities/class-meetup-client.php
index 5cd235e9c..c4eed6f96 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/utilities/class-meetup-client.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/utilities/class-meetup-client.php
@@ -269,6 +269,10 @@ class Meetup_Client {
 		// First try v3.
 		$links = wp_remote_retrieve_header( $response, 'link' );
 		if ( $links ) {
+			// Meetup.com is now returning combined link headers
+			if ( is_string( $links ) ) {
+				$links = preg_split( '!,\s+!', $links );
+			}
 			foreach ( (array) $links as $link ) {
 				if ( false !== strpos( $link, 'rel="next"' ) && preg_match( '/^<([^>]+)>/', $link, $matches ) ) {
 					$url = $matches[1];
diff --git wordcamp.org/public_html/wp-content/mu-plugins/wcorg-global-login.php wordcamp.org/public_html/wp-content/mu-plugins/wcorg-global-login.php
deleted file mode 100644
index 6a1ea416f..000000000
--- wordcamp.org/public_html/wp-content/mu-plugins/wcorg-global-login.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-/**
- * Plugin Name: WordCamp.org Global Login Endpoint
- * Plugin Description: Allows users to only log in on WordCamp.org, and not any of the other sites in the network.
- */
-
-class WordCamp_Global_Login_Endpoint_Plugin {
-
-	function __construct() {
-		add_action( 'login_form_login', array( $this, 'login_form_login' ) );
-		add_action( 'login_url', array( $this, 'login_url' ), 99, 2 );
-		add_filter( 'allowed_redirect_hosts', array( $this, 'allowed_redirect_hosts' ) );
-		add_action( 'muplugins_loaded', array( $this, 'muplugins_loaded' ) );
-	}
-
-	/**
-	 * A subdomain install will set the default auth cookie path to /wp-admin but we're
-	 * running a semi-subdomain install because we have subdirectories too. Explicitly
-	 * define the admin cookie path, otherwise it will get set to /wp-admin from the
-	 * wordcamp.org login point.
-	 */
-	public function muplugins_loaded() {
-		define( 'ADMIN_COOKIE_PATH', '/' );
-	}
-
-	/**
-	 * Don't render the login form, unless the current host is wordcamp.org
-	 */
-	function login_form_login() {
-
-		$loggedout = !empty( $_REQUEST['loggedout'] ) ? $_REQUEST['loggedout'] : '';
-
-		$current_network = get_current_site();
-		$url = parse_url( admin_url() );
-		if ( $url['host'] != $current_network->domain ) {
-			$login_url = wp_login_url();
-			if ( $loggedout )
-				$login_url = add_query_arg( 'loggedout', $loggedout, $login_url );
-
-			wp_safe_redirect( $login_url );
-			die();
-		}
-	}
-
-	/**
-	 * Filter the wp_login_url function to always return the wordcamp.org login url.
-	 */
-	function login_url( $login_url, $redirect ) {
-
-		$current_network = get_current_site();
-		$url = parse_url( $login_url );
-		if ( $url['host'] != $current_network->domain ) {
-			$login_url = sprintf( 'https://%s/wp-login.php', $current_network->domain );
-
-			if ( $redirect )
-				$login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url );
-
-			$login_url = esc_url_raw( $login_url );
-		}
-
-		return $login_url;
-	}
-
-	/**
-	 * When redirecting with ?redirect_to= from wordcamp.org, allow the redirects to
-	 * be other sites in the network. See wp_safe_redirect().
-	 */
-	function allowed_redirect_hosts( $hosts ) {
-
-		$redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
-		$url = parse_url( $redirect_to );
-		$current_network = get_current_site();
-		$pattern = '/\.'. str_replace( '.', '\.', $current_network->domain ) .'$/i';
-
-		if ( !empty( $url['host'] ) && preg_match( $pattern, $url['host'] ) )
-			$hosts[] = $url['host'];
-
-		return $hosts;
-	}
-}
-
-$GLOBALS['wordcamp_gle'] = new WordCamp_Global_Login_Endpoint_Plugin;
\ No newline at end of file
diff --git wordcamp.org/public_html/wp-content/mu-plugins/wcorg-login-message.php wordcamp.org/public_html/wp-content/mu-plugins/wcorg-login-message.php
index 1ef0c0db8..2184ad07c 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/wcorg-login-message.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/wcorg-login-message.php
@@ -37,27 +37,6 @@ function wcorg_login_css() {
 	<?php
 }
 
-/**
- * Set the locale on the login screen
- *
- * Currently all logins are funneled through the main site, so they're all in English by default. That sucks for
- * international users, so this overrides the main site's locale and uses the one from the site that they're
- * logging into instead.
- *
- * @todo This can be removed after the subdirectory migration.
- *
- * @param string $locale
- * @return string
- */
-function wcorg_login_message_locale( $locale ) {
-	if ( is_main_network() && false !== strpos( $_SERVER['SCRIPT_NAME'], '/wp-login.php' ) ) {
-		$locale = wcorg_get_login_locale( $locale );
-	}
-
-	return $locale;
-}
-add_filter( 'locale', 'wcorg_login_message_locale' );
-
 /**
  * Override the default login message.
  *
@@ -69,7 +48,7 @@ add_filter( 'locale', 'wcorg_login_message_locale' );
  * @return string
  */
 function wcorg_login_message( $message, $redirect_to = false ) {
-	$locale           = wcorg_get_login_locale();
+	$locale           = get_locale();
 	$registration_url = wcorg_get_wporg_forums_url( $locale, 'register' );
 
 	if ( ! $redirect_to && ! empty( $_REQUEST['redirect_to'] ) ) {
@@ -115,31 +94,6 @@ function wcorg_login_message( $message, $redirect_to = false ) {
 }
 add_filter( 'login_message', 'wcorg_login_message' );
 
-/**
- * Get the locale used by the site that the user is logging in to.
- *
- * @todo After subdirectory migration, users will login at city.wordcamp.org/year/wp-login.php instead of being
- * redirected through the main site, so change this to pull from current site's locale instead of using redirect_to
- *
- * @return string
- */
-function wcorg_get_login_locale( $locale = 'en_US' ) {
-	if ( ! empty( $_REQUEST['redirect_to'] ) ) {
-		$url = parse_url( $_REQUEST['redirect_to'] );
-
-		if ( isset( $url['host'] ) ) {
-			$blog_details = get_blog_details( array( 'domain' => $url['host'] ), false );
-
-			if ( $wplang = get_blog_option( $blog_details->blog_id, 'WPLANG' ) ) {
-				$locale = $wplang;
-			}
-		}
-	}
-
-	return $locale;
-}
-
-
 /**
  * Determine the correct WordPress.org forums URL for the given locale
  *
diff --git wordcamp.org/public_html/wp-content/mu-plugins/wcorg-misc.php wordcamp.org/public_html/wp-content/mu-plugins/wcorg-misc.php
index c5740df99..eddcb5ddf 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/wcorg-misc.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/wcorg-misc.php
@@ -150,6 +150,29 @@ function wcorg_show_tagregator_log() {
 }
 add_action( 'init', 'wcorg_show_tagregator_log' );
 
+/**
+ * Tell Tagregator to stop importing items for a camp 2 weeks after it has occurred.
+ *
+ * @param DateTime|null $end_date The date that Tagregator should stop importing items for a camp. Default null.
+ *
+ * @return DateTime|null
+ */
+function wcorg_set_per_camp_tagregator_end_date( $end_date ) {
+	$details = get_wordcamp_post();
+
+	if ( isset( $details->meta['Start Date (YYYY-mm-dd)'][0] ) ) {
+		$offset = '2 weeks';
+
+		// Despite its key/label, the start date value is actually stored as a Unix timestamp.
+		$camp_start_timestamp = $details->meta['Start Date (YYYY-mm-dd)'][0];
+		$end_date             = date_create( date( 'Y-m-d', $camp_start_timestamp ) . '  ' . $offset );
+	}
+
+	return $end_date;
+}
+
+add_filter( 'tggr_end_date', 'wcorg_set_per_camp_tagregator_end_date' );
+
 /**
  * Modify the space allocation on a per-size basis.
  *
@@ -442,136 +465,6 @@ function wcorg_central_modify_export_caps( $primitive_caps, $meta_cap ) {
 }
 add_filter( 'map_meta_cap', 'wcorg_central_modify_export_caps', 10, 2 );
 
-define( 'ERROR_RATE_LIMITING_DIR', '/tmp/error_limiting' );
-
-/**
- * Check and create filesystem dirs to manage rate limiting in error handling.
- * For legacy bugs we are doing rate limiting via filesystem. We would be investigating to see if we can instead use memcache to rate limit sometime in the future.
- *
- * @return bool Return true if file permissions etc are present
- */
-function init_error_handling() {
-	if ( ! file_exists( ERROR_RATE_LIMITING_DIR ) ) {
-		mkdir( ERROR_RATE_LIMITING_DIR );
-	}
-	return is_dir( ERROR_RATE_LIMITING_DIR ) && is_writeable( ERROR_RATE_LIMITING_DIR );
-}
-
-/**
- * Error handler to send errors to slack. Always return false.
- */
-function send_error_to_slack( $err_no, $err_msg, $file, $line ) {
-
-	if ( ! init_error_handling() ) {
-		return false;
-	}
-
-	$error_whitelist = array(
-		E_ERROR,
-		E_USER_ERROR,
-		E_CORE_ERROR,
-		E_COMPILE_ERROR,
-		E_PARSE,
-		E_NOTICE,
-		E_DEPRECATED,
-		E_WARNING,
-	);
-
-	if ( ! in_array( $err_no, $error_whitelist ) ) {
-		return false;
-	}
-
-	// Max file length for ubuntu system is 255.
-	$err_key = substr( base64_encode("$file-$line-$err_no" ), -254 );
-
-	$error_file = ERROR_RATE_LIMITING_DIR . "/$err_key";
-
-	$text = '';
-
-	$data = array(
-		'last_reported_at' => time(),
-		'error_count'      => 0, // since last reported.
-	);
-
-	if ( ! file_exists( $error_file ) ) {
-		$text = 'Error occured. ';
-		file_put_contents( $error_file, wp_json_encode( $data ) );
-	} else {
-		$data                 = json_decode( file_get_contents( $error_file ), true );
-		$data['error_count'] += 1;
-		$time_elasped         = time() - $data['last_reported_at'];
-
-		if ( $time_elasped > 600 ) {
-			$text                     = "Still happening. Happened ${data['error_count']} time(s) since last reported. ";
-			$data['last_reported_at'] = time();
-			$data['error_count']      = 0;
-
-			file_put_contents( $error_file, wp_json_encode( $data ) );
-		} else {
-			file_put_contents( $error_file, wp_json_encode( $data ) );
-			return false;
-		}
-	}
-
-	$domain    = get_site_url();
-	$page_slug = esc_html( trim( $_SERVER['REQUEST_URI'], '/' ) );
-	$text      = $text . "Message : \"$err_msg\" occured on \"$file:$line\" \n Domain: $domain \n Page: $page_slug \n Error type: $err_no";
-
-	$message = array(
-		'fallback'    => $text,
-		'color'       => '#ff0000',
-		'pretext'     => "Error on \"$file:$line\" ",
-		'author_name' => $domain,
-		'text'        => $text,
-	);
-
-	$send = new \Dotorg\Slack\Send( SLACK_ERROR_REPORT_URL );
-	$send->add_attachment( $message );
-
-	$send->send( WORDCAMP_LOGS_SLACK_CHANNEL );
-	return false;
-}
-
-/**
- * Shutdown handler which forwards errors to slack.
- */
-function send_fatal_to_slack() {
-	$error = error_get_last();
-	if ( ! $error ) {
-		return;
-	}
-
-	return send_error_to_slack( $error['type'], $error['message'], $error['file'], $error['line'] );
-}
-
-if ( ( ! defined( 'WPORG_SANDBOXED' ) || ! WPORG_SANDBOXED ) ) {
-	register_shutdown_function( 'send_fatal_to_slack' );
-	set_error_handler( 'send_error_to_slack', E_ERROR );
-}
-
-/**
- * Function `send_error_to_slack` above also creates a bunch of files in /tmp/error_limiting folder in order to rate limit the notification.
- * This function will be used as a cron to clear these error_limiting files periodically.
- */
-function handle_clear_error_rate_limiting_files() {
-	if ( ! init_error_handling() ) {
-		return;
-	}
-
-	foreach ( new DirectoryIterator( ERROR_RATE_LIMITING_DIR ) as $file_info ) {
-		if ( ! $file_info->isDot() ) {
-			unlink( $file_info->getPathname() );
-		}
-	}
-
-}
-
-add_action( 'clear_error_rate_limiting_files', 'handle_clear_error_rate_limiting_files' );
-
-if ( ! wp_next_scheduled( 'clear_error_rate_limiting_files' ) ) {
-	wp_schedule_event( time(), 'daily', 'clear_error_rate_limiting_files' );
-}
-
 /**
  * Allow individual site administrators to activate and deactivate optional plugins.
  *
@@ -588,7 +481,6 @@ function wcorg_let_admins_activate_some_plugins( $required_capabilities, $reques
 	$target_plugin    = $args[0] ?? null;
 	$optional_plugins = array(
 		'campt-indian-payment-gateway/campt-indian-payment-gateway.php',
-		'camptix-kdcpay-gateway/camptix-kdcpay.php',
 		'camptix-mailchimp/camptix-mailchimp.php',
 		'camptix-mercadopago/camptix-mercadopago.php',
 		'camptix-pagseguro/camptix-pagseguro.php',
diff --git wordcamp.org/public_html/wp-content/mu-plugins/wcorg-network-plugin-control.php wordcamp.org/public_html/wp-content/mu-plugins/wcorg-network-plugin-control.php
index e1dbdf223..6676dbb54 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/wcorg-network-plugin-control.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/wcorg-network-plugin-control.php
@@ -33,6 +33,7 @@ function _get_network_plugin_state_list( $state ) {
 			'camptix-badge-generator/bootstrap.php',
 			'camptix/camptix.php',
 			'camptix-network-tools/camptix-network-tools.php',
+			'classic-editor/classic-editor.php',
 			'custom-content-width/custom-content-width.php',
 			'email-post-changes/email-post-changes.php',
 			'email-post-changes-specific-post/email-post-changes-specific-post.php',
@@ -60,6 +61,7 @@ function _get_network_plugin_state_list( $state ) {
 		'deactivated' => array(
 			'bbpress/bbpress.php',
 			'campt-indian-payment-gateway/campt-indian-payment-gateway.php',
+			'camptix-invoices/camptix-invoices.php',
 			'camptix-mailchimp/camptix-mailchimp.php',
 			'camptix-mercadopago/camptix-mercadopago.php',
 			'camptix-pagseguro/camptix-pagseguro.php',
@@ -68,7 +70,6 @@ function _get_network_plugin_state_list( $state ) {
 			'camptix-trustpay/camptix-trustpay.php',
 			'liveblog/liveblog.php',
 			'multi-event-sponsors/bootstrap.php',
-			'polldaddy/polldaddy.php',
 			'supportflow/supportflow.php',
 			'wordcamp-api/bootstrap.php',
 			'wordcamp-organizer-reminders/bootstrap.php',
diff --git wordcamp.org/public_html/wp-content/mu-plugins/wcorg-plan-redirects.php wordcamp.org/public_html/wp-content/mu-plugins/wcorg-plan-redirects.php
index 89b102626..bdebe3349 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/wcorg-plan-redirects.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/wcorg-plan-redirects.php
@@ -1,10 +1,11 @@
 <?php
+
 // No direct or CLI access.
 if ( ! defined( 'ABSPATH' ) || ! ABSPATH || ( defined( 'WP_CLI' ) && WP_CLI ) )
 	return;
 
 // Redirects for plan.wordcamp.org front-end only.
-if ( $_SERVER['HTTP_HOST'] != 'plan.wordcamp.org' || is_admin() ) {
+if ( $_SERVER['HTTP_HOST'] != 'plan.wordcamp.org' || is_admin() || wp_doing_cron() ) {
 	return;
 }
 
@@ -80,4 +81,5 @@ add_action( 'init', function() {
 	}
 
 	die( wp_redirect( esc_url_raw( 'https://make.wordpress.org/community/handbook/wordcamp-organizer' . $_SERVER['REQUEST_URI'] ), 301 ) );
-});
\ No newline at end of file
+});
+
diff --git wordcamp.org/public_html/wp-content/mu-plugins/wp-cli-commands/miscellaneous.php wordcamp.org/public_html/wp-content/mu-plugins/wp-cli-commands/miscellaneous.php
index bc031f3a1..b430fe5d0 100644
--- wordcamp.org/public_html/wp-content/mu-plugins/wp-cli-commands/miscellaneous.php
+++ wordcamp.org/public_html/wp-content/mu-plugins/wp-cli-commands/miscellaneous.php
@@ -45,14 +45,15 @@ class WordCamp_CLI_Miscellaneous extends WP_CLI_Command {
 		WP_CLI::line();
 
 		foreach ( $sites as $site ) {
-			switch_to_blog( $site['blog_id'] );
+			switch_to_blog( $site->blog_id );
 
 			$site_domain = parse_url( get_option( 'siteurl' ) );
 			$site_domain = sprintf( '%s%s', $site_domain['host'], $site_domain['path'] );
 
 			// Skip sites that are above the requested maximum site ID
-			if ( $max_site_id && $site['blog_id'] > $max_site_id ) {
+			if ( $max_site_id && $site->blog_id > $max_site_id ) {
 				$results[] = array( $site_domain, 'skipped' );
+				restore_current_blog();
 				continue;
 			}
 
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/addons/admin-flags.php wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/addons/admin-flags.php
index 891655949..6f6514ec4 100644
--- wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/addons/admin-flags.php
+++ wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/addons/admin-flags.php
@@ -9,7 +9,11 @@
  * Use case: flag everyone attending a closed party/event.
  */
 class CampTix_Admin_Flags_Addon extends CampTix_Addon {
+	protected $flags = array();
 
+	/**
+	 * Constructor.
+	 */
 	public function __construct() {
 		add_action( 'camptix_init', array( $this, 'camptix_init' ) );
 	}
@@ -27,23 +31,25 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 			add_filter( 'camptix_validate_options', array( $this, 'validate_options' ), 10, 2 );
 		}
 
-		$this->flags = array();
 		$camptix_options = $camptix->get_options();
 
 		// No further actions if we don't have any configured flags.
-		if ( empty( $camptix_options['camptix-admin-flags-data-parsed'] ) )
+		if ( empty( $camptix_options['camptix-admin-flags-data-parsed'] ) ) {
 			return;
+		}
 
 		$this->flags = (array) $camptix_options['camptix-admin-flags-data-parsed'];
 
 		if ( current_user_can( $camptix->caps['manage_attendees'] ) ) {
-			// Individual editing from Edit Attendee screen
+			// Individual editing from Edit Attendee screen.
 			add_action( 'save_post', array( $this, 'save_post' ), 11, 1 );
 			add_action( 'camptix_attendee_submitdiv_misc', array( $this, 'publish_metabox_actions' ) );
 
-			// Bulk editing from Attendees screen
+			// Bulk editing from Attendees screen.
 			add_filter( 'manage_tix_attendee_posts_columns', array( $this, 'add_custom_columns' ) );
 			add_action( 'manage_tix_attendee_posts_custom_column', array( $this, 'render_custom_columns' ), 10, 2 );
+			add_filter( 'views_edit-tix_attendee', array( $this, 'add_custom_filters' ) );
+			add_filter( 'pre_get_posts', array( $this, 'add_custom_filters_post_filter' ) );
 			add_action( 'admin_footer-edit.php', array( $this, 'render_client_side_templates' ) );
 			add_action( 'wp_ajax_tix_admin_flag_toggle', array( $this, 'toggle_flag' ) );
 			add_action( 'admin_footer-edit.php', array( $this, 'print_javascript' ) );
@@ -57,6 +63,9 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 		// Attendees list shortcode handlers.
 		add_filter( 'shortcode_atts_camptix_attendees', array( $this, 'shortcode_attendees_atts' ), 10, 3 );
 		add_filter( 'camptix_attendees_shortcode_query_args', array( $this, 'shortcode_attendees_query' ), 10, 2 );
+
+		// Add the Flags to the Attendance UI.
+		add_filter( 'camptix_attendance_ui_extras', array( $this, 'attendance_ui_extras' ), 10, 2 );
 	}
 
 	/**
@@ -64,13 +73,16 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 */
 	public function shortcode_attendees_atts( $out, $pairs, $atts ) {
 		$admin_flags = array();
-		if ( ! empty( $atts['has_admin_flag'] ) )
+		if ( ! empty( $atts['has_admin_flag'] ) ) {
 			$admin_flags = array_map( 'trim', explode( ',', $atts['has_admin_flag'] ) );
+		}
 
 		$admin_flags_clean = array();
-		foreach ( $this->flags as $key => $label )
-			if ( in_array( $key, $admin_flags ) )
+		foreach ( $this->flags as $key => $label ) {
+			if ( in_array( $key, $admin_flags, true ) ) {
 				$admin_flags_clean[] = $key;
+			}
+		}
 
 		$out['has_admin_flag'] = $admin_flags;
 		return $out;
@@ -80,21 +92,23 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * Modify the attendees list shortcode query based on has_admin_flag.
 	 */
 	public function shortcode_attendees_query( $query_args, $shortcode_args ) {
-		if ( empty( $shortcode_args['has_admin_flag'] ) )
+		if ( empty( $shortcode_args['has_admin_flag'] ) ) {
 			return $query_args;
+		}
 
 		// Sanitized in self::shortcode_attendees_atts.
 		$flags = $shortcode_args['has_admin_flag'];
 
-		if ( empty( $query_args['meta_query'] ) )
+		if ( empty( $query_args['meta_query'] ) ) {
 			$query_args['meta_query'] = array();
+		}
 
 		foreach ( $flags as $flag ) {
 			$query_args['meta_query'][] = array(
-				'key' => 'camptix-admin-flag',
-				'value' => $flag,
+				'key'     => 'camptix-admin-flag',
+				'value'   => $flag,
 				'compare' => '=',
-				'type' => 'CHAR',
+				'type'    => 'CHAR',
 			);
 		}
 
@@ -106,7 +120,7 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 */
 	public function export_columns( $columns ) {
 		foreach ( $this->flags as $key => $label ) {
-			$column_key = sprintf( 'camptix-admin-flags-%s', $key );
+			$column_key             = sprintf( 'camptix-admin-flags-%s', $key );
 			$columns[ $column_key ] = $label;
 		}
 
@@ -120,16 +134,18 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * attendee. Prints "No" if the flag is configured but not set.
 	 */
 	public function export_columns_values( $value, $index, $attendee ) {
-		if ( 0 !== strpos( $index, 'camptix-admin-flags-' ) )
+		if ( 0 !== strpos( $index, 'camptix-admin-flags-' ) ) {
 			return $value;
+		}
 
 		// See self::export_columns() for key format.
 		$key = str_replace( 'camptix-admin-flags-', '', $index );
-		if ( ! array_key_exists( $key, $this->flags ) )
+		if ( ! array_key_exists( $key, $this->flags ) ) {
 			return $value;
+		}
 
 		$attendee_flags = (array) get_post_meta( $attendee->ID, 'camptix-admin-flag' );
-		return in_array( $key, $attendee_flags ) ? 'Yes' : 'No';
+		return in_array( $key, $attendee_flags, true ) ? 'Yes' : 'No';
 	}
 
 	/**
@@ -146,8 +162,9 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	public function setup_controls( $section ) {
 		global $camptix;
 
-		if ( 'admin-flags' != $section )
+		if ( 'admin-flags' !== $section ) {
 			return;
+		}
 
 		add_settings_section( 'general', __( 'Admin Flags', 'camptix' ), array( $this, 'setup_controls_section' ), 'camptix_options' );
 		$camptix->add_settings_field_helper( 'camptix-admin-flags-data', __( 'Admin Flags Data', 'camptix' ), 'field_textarea' );
@@ -168,38 +185,42 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * Runs whenever the CampTix option is updated.
 	 */
 	public function validate_options( $output, $input ) {
-		if ( ! isset( $input['camptix-admin-flags-data'] ) )
+		if ( ! isset( $input['camptix-admin-flags-data'] ) ) {
 			return $output;
+		}
 
 		$has_error = false;
-		$flags = array();
-		$data = explode( "\n", $input['camptix-admin-flags-data'] );
+		$flags     = array();
+		$data      = explode( "\n", $input['camptix-admin-flags-data'] );
 
 		foreach ( $data as $line ) {
 
-			if ( empty( $line ) )
+			if ( empty( $line ) ) {
 				continue;
+			}
 
-			// flag-key: Flag Label
+			// flag-key: Flag Label.
 			if ( ! preg_match( '#^([^:]+?):(.+)$#', $line, $matches ) ) {
 				$has_error = true;
 				continue;
 			}
 
-			$key = sanitize_html_class( sanitize_title_with_dashes( trim( $matches[1] ) ) );
-			$label = trim( $matches[2] );
+			$key           = sanitize_html_class( sanitize_title_with_dashes( trim( $matches[1] ) ) );
+			$label         = trim( $matches[2] );
 			$flags[ $key ] = $label;
 		}
 
 		$lines = array();
-		foreach ( $flags as $key => $label )
+		foreach ( $flags as $key => $label ) {
 			$lines[] = sprintf( '%s: %s', $key, $label );
+		}
 
-		$output['camptix-admin-flags-data'] = implode( "\n", $lines );
+		$output['camptix-admin-flags-data']        = implode( "\n", $lines );
 		$output['camptix-admin-flags-data-parsed'] = $flags;
 
-		if ( $has_error )
+		if ( $has_error ) {
 			add_settings_error( 'tix', 'error', __( 'Flags data has been saved, but one or more flags was invalid, so it has been stripped.', 'camptix' ), 'error' );
+		}
 
 		return $output;
 	}
@@ -208,24 +229,28 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * Runs during the generic save_post.
 	 */
 	public function save_post( $post_id ) {
-		if ( wp_is_post_revision( $post_id ) || 'tix_attendee' != get_post_type( $post_id ) )
+		if ( wp_is_post_revision( $post_id ) || 'tix_attendee' !== get_post_type( $post_id ) ) {
 			return;
+		}
 
-		if ( empty( $_POST['camptix-admin-flags-nonce'] ) || ! wp_verify_nonce( $_POST['camptix-admin-flags-nonce'], 'camptix-admin-flags-update' ) )
+		if ( empty( $_POST['camptix-admin-flags-nonce'] ) || ! wp_verify_nonce( $_POST['camptix-admin-flags-nonce'], 'camptix-admin-flags-update' ) ) {
 			return;
+		}
 
 		delete_post_meta( $post_id, 'camptix-admin-flag' );
 
-		foreach ( $this->flags as $key => $label )
-			if ( ! empty( $_POST['camptix-admin-flags'][ $key ] ) )
+		foreach ( $this->flags as $key => $label ) {
+			if ( ! empty( $_POST['camptix-admin-flags'][ $key ] ) ) {
 				add_post_meta( $post_id, 'camptix-admin-flag', $key );
+			}
+		}
 	}
 
 	/**
 	 * Adds to the CampTix additional metabox actions.
 	 */
 	public function publish_metabox_actions() {
-		$post = get_post();
+		$post           = get_post();
 		$attendee_flags = (array) get_post_meta( $post->ID, 'camptix-admin-flag' );
 		?>
 
@@ -234,7 +259,7 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 			<?php foreach ( $this->flags as $key => $label ) : ?>
 
 				<div class="tix-pub-section-item">
-					<input id="camptix-admin-flags-<?php echo sanitize_html_class( $key ); ?>" name="camptix-admin-flags[<?php echo esc_attr( $key ); ?>]" type="checkbox" <?php checked( in_array( $key, $attendee_flags ) ); ?> value="1" />
+					<input id="camptix-admin-flags-<?php echo sanitize_html_class( $key ); ?>" name="camptix-admin-flags[<?php echo esc_attr( $key ); ?>]" type="checkbox" <?php checked( in_array( $key, $attendee_flags, true ) ); ?> value="1" />
 					<label for="camptix-admin-flags-<?php echo sanitize_html_class( $key ); ?>"><?php echo esc_html( $label ); ?></label>
 				</div>
 
@@ -260,7 +285,7 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * Render custom columns on the Attendees screen.
 	 *
 	 * @param string $column
-	 * @param int $attendee_id
+	 * @param int    $attendee_id
 	 */
 	public function render_custom_columns( $column, $attendee_id ) {
 		$attendee_flags = (array) get_post_meta( $attendee_id, 'camptix-admin-flag' );
@@ -268,43 +293,158 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 		switch ( $column ) {
 			case 'admin-flags':
 				echo '<ul>';
-					foreach ( $this->flags as $key => $label ) {
-						$enabled = in_array( $key, $attendee_flags );
-
-						?>
-
-						<li>
-							<span class="tix-admin-flag-label"><?php echo esc_html( $label ); ?></span>:
-
-							<a
-								href="#"
-								data-attendee-id="<?php echo esc_attr( $attendee_id ); ?>"
-								data-key="<?php echo esc_attr( $key ); ?>"
-								data-nonce="<?php echo esc_attr( wp_create_nonce( sprintf( 'tix_toggle_flag_%s_%s', $attendee_id, $key ) ) ); ?>"
-								data-command="<?php echo esc_attr( $enabled ? 'disable' : 'enable' ); ?>"
-								class="tix-toggle-flag">
-
-								<?php if ( $enabled ) : ?>
-									<?php _e( 'Disable', 'camptix' ); ?>
-								<?php else : ?>
-									<?php _e( 'Enable', 'camptix' ); ?>
-								<?php endif; ?>
-							</a>
-						</li>
-
-						<?php
-					}
-				echo '</ul>';
 
+				foreach ( $this->flags as $key => $label ) {
+					$enabled = in_array( $key, $attendee_flags, true );
+
+					?>
+
+					<li>
+						<span class="tix-admin-flag-label">
+							<?php echo esc_html( $label ); ?>
+						</span>:
+
+						<a
+							href="#"
+							data-attendee-id="<?php echo esc_attr( $attendee_id ); ?>"
+							data-key="<?php echo esc_attr( $key ); ?>"
+							data-nonce="<?php echo esc_attr( wp_create_nonce( sprintf( 'tix_toggle_flag_%s_%s', $attendee_id, $key ) ) ); ?>"
+							data-command="<?php echo esc_attr( $enabled ? 'disable' : 'enable' ); ?>"
+							class="tix-toggle-flag">
+
+							<?php if ( $enabled ) : ?>
+								<?php esc_html_e( 'Disable', 'camptix' ); ?>
+							<?php else : ?>
+								<?php esc_html_e( 'Enable', 'camptix' ); ?>
+							<?php endif; ?>
+						</a>
+					</li>
+
+					<?php
+				}
+
+				echo '</ul>';
 				break;
 		}
 	}
 
+	/**
+	 * Add custom views to the attendee listing post listing.
+	 *
+	 * @param array $views
+	 *
+	 * @return array
+	 */
+	public function add_custom_filters( $views ) {
+		global $wpdb;
+
+		if ( empty( $GLOBALS['typenow'] ) || 'tix_attendee' !== $GLOBALS['typenow'] || empty( $this->flags ) ) {
+			return $views;
+		}
+
+		$meta_counts = $wpdb->get_results( "
+			SELECT meta_value, COUNT( post_id ) AS count
+			FROM {$wpdb->postmeta}
+			WHERE meta_key = 'camptix-admin-flag'
+			GROUP BY meta_value",
+			ARRAY_A
+		);
+		$meta_counts = wp_list_pluck( $meta_counts, 'count', 'meta_value' );
+
+		if ( ! $meta_counts ) {
+			return $views;
+		}
+
+		$currently_viewed_flag = empty( $_GET['camptix_flag'] ) ? false : wp_unslash( $_GET['camptix_flag'] );
+		$base_url              = add_query_arg( 'post_type', 'tix_attendee', 'edit.php' );
+
+		foreach ( $this->flags as $flag => $label ) {
+			$count      = 0;
+			$class_html = '';
+			$url        = add_query_arg( 'camptix_flag', $flag, $base_url );
+
+			if ( $currently_viewed_flag && $currently_viewed_flag === $flag ) {
+				$class_html = ' class="current"';
+			}
+
+			if ( isset( $meta_counts[ $flag ] ) ) {
+				$count = $meta_counts[ $flag ];
+			}
+
+			$views[ $flag ] = sprintf(
+				'<a href="%s" %s>
+					%s <span class="count">(%s)</span>
+				</a>',
+				esc_url( $url ),
+				$class_html,
+				$label,
+				number_format_i18n( $count )
+			);
+		}
+
+		return $views;
+	}
+
+	/**
+	 * Filter the wp-admin post listing query to filter to admin flags.
+	 *
+	 * @param WP_Query $query
+	 */
+	public function add_custom_filters_post_filter( $query ) {
+		$flag = empty( $_GET['camptix_flag'] ) ? false : wp_unslash( $_GET['camptix_flag'] );
+
+		if ( ! is_admin() || empty( $GLOBALS['typenow'] ) || 'tix_attendee' !== $GLOBALS['typenow'] ) {
+			return;
+		}
+
+		if ( ! isset( $this->flags[ $flag ] ) ) {
+			return;
+		}
+
+		if ( ! isset( $query->query_vars['meta_query'] ) ) {
+			$query->query_vars['meta_query'] = array();
+		}
+
+		$query->query_vars['meta_query'][] = array(
+			'key'     => 'camptix-admin-flag',
+			'value'   => $flag,
+			'compare' => '=',
+			'type'    => 'CHAR',
+		);
+	}
+
+	/**
+	 * Register Admin flags to be shown in the Attendance UI.
+	 *
+	 * @param array   $extras   List of 'Extra fields' to show.
+	 * @param WP_Post $attendee The Attendee WP_Post being displayed.
+	 */
+	public function attendance_ui_extras( $extras, $attendee ) {
+		$attendee_flags = (array) get_post_meta( $attendee->ID, 'camptix-admin-flag' );
+
+		$flags = array();
+		foreach ( $attendee_flags as $flag ) {
+			if ( isset( $this->flags[ $flag ] ) ) {
+				$flags[] = $this->flags[ $flag ];
+			}
+		}
+
+		if ( $flags ) {
+			array_unshift(
+				$extras,
+				array( implode( ', ', $flags ) )
+			);
+		}
+
+		return $extras;
+	}
+
+
 	/**
 	 * Render the templates used by JavaScript
 	 */
 	public function render_client_side_templates() {
-		if ( 'tix_attendee' != $GLOBALS['typenow'] ) {
+		if ( 'tix_attendee' !== $GLOBALS['typenow'] ) {
 			return;
 		}
 
@@ -325,7 +465,7 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 				data-command="{{data.command}}"
 				class="tix-toggle-flag">
 
-				{{data.command}}    <?php // todo use i18n var ?>
+				{{data.command}}    <?php // todo use i18n var. ?>
 			</a>
 		</script>
 
@@ -336,7 +476,7 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * AJAX handler to toggle a flag from the Attendees screen.
 	 */
 	public function toggle_flag() {
-		/** @var $camptix CampTix_Plugin */
+		/** @var CampTix_Plugin $camptix */
 		global $camptix;
 
 		if ( empty( $_REQUEST['action'] ) || empty( $_REQUEST['attendee_id'] ) || empty( $_REQUEST['key'] ) || empty( $_REQUEST['command'] ) || empty( $_REQUEST['nonce'] ) ) {
@@ -353,13 +493,13 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 
 		$attendee = get_post( $attendee_id );
 
-		if ( ! is_a( $attendee, 'WP_Post' ) || 'tix_attendee' != $attendee->post_type ) {
+		if ( ! is_a( $attendee, 'WP_Post' ) || 'tix_attendee' !== $attendee->post_type ) {
 			wp_send_json_error( array( 'error' => 'Invalid attendee.' ) );
 		}
 
-		if ( 'enable' == $command ) {
+		if ( 'enable' === $command ) {
 			add_post_meta( $attendee_id, 'camptix-admin-flag', $key );
-		} elseif ( 'disable' == $command ) {
+		} elseif ( 'disable' === $command ) {
 			delete_post_meta( $attendee_id, 'camptix-admin-flag', $key );
 		}
 
@@ -370,7 +510,7 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * Print our JavaScript
 	 */
 	public function print_javascript() {
-		if ( 'tix_attendee' != $GLOBALS['typenow'] ) {
+		if ( 'tix_attendee' !== $GLOBALS['typenow'] ) {
 			return;
 		}
 
@@ -438,7 +578,7 @@ class CampTix_Admin_Flags_Addon extends CampTix_Addon {
 	 * Print our CSS
 	 */
 	public function print_css() {
-		if ( 'tix_attendee' != $GLOBALS['typenow'] ) {
+		if ( 'tix_attendee' !== $GLOBALS['typenow'] ) {
 			return;
 		}
 
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/camptix-admin-flags.php wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/camptix-admin-flags.php
index 7985088bc..e42feebb7 100644
--- wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/camptix-admin-flags.php
+++ wordcamp.org/public_html/wp-content/plugins/camptix-admin-flags/camptix-admin-flags.php
@@ -1,13 +1,17 @@
 <?php
+
 /**
  * Plugin Name: CampTix - Admin Flags
  * Description: An addon for CampTix that allows admins to configure and set private per-attendee flags.
- * Version: 0.1
- * Author: Konstantin Kovshenin
- * Author URI: http://kovshenin.com
+ * Version:     0.1
+ * Author:      Konstantin Kovshenin
+ * Author URI:  http://kovshenin.com
  */
 
-add_action( 'camptix_load_addons', 'camptix_admin_flags_register' );
+/**
+ * Register this addon with CampTix.
+ */
 function camptix_admin_flags_register() {
 	require_once( plugin_dir_path( __FILE__ ) . 'addons/admin-flags.php' );
-}
\ No newline at end of file
+}
+add_action( 'camptix_load_addons', 'camptix_admin_flags_register' );
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.css wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.css
index b30cb9433..45637acc8 100644
--- wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.css
+++ wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.css
@@ -292,7 +292,7 @@ li.item .spinner:after {
     height: 50px;
     display: block;
     width: 200px;
-    margin: 40px auto 0 auto; }
+    margin: 40px auto 40px auto; }
   .attendee-toggle-wrap a.yes,
   .attendee-toggle-wrap a.no {
     height: 50px;
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.js wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.js
index d36a0eedc..3f75527e9 100644
--- wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.js
+++ wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.js
@@ -19,7 +19,8 @@ jQuery(document).ready(function($){
 				sort: 'firstName',
 				avatar: '',
 				firstName: '',
-				lastName: ''
+				lastName: '',
+				extras: []
 			}
 		},
 
@@ -176,7 +177,7 @@ jQuery(document).ready(function($){
 		syncStart: function() {
 			this.$el.addClass( 'camptix-loading' );
 		},
-		
+
 		/**
 		 * Hide the spinner.
 		 */
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.scss wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.scss
index f59027030..6fd02ce94 100644
--- wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.scss
+++ wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/assets/attendance-ui.scss
@@ -372,7 +372,7 @@ li.item {
 		height: 50px;
 		display: block;
 		width: 200px;
-		margin: 40px auto 0 auto;
+		margin: 40px auto 40px auto;
 	}
 
 	a.yes,
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance-ui.php wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance-ui.php
index 8ef4276eb..f7801d863 100644
--- wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance-ui.php
+++ wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance-ui.php
@@ -45,6 +45,17 @@ $camptix_options = $camptix->get_options();
 			<a href="#" class="no">No</a>
 		</div>
 
+		<div class="extras">
+			 <# for ( var i in data.extras ) {
+				var item = data.extras[i];
+				if ( item.length > 1 ) { #>
+					<strong>{{ item[0] }}:</strong> {{ item[1] }}<br>
+				<# } else { #>
+					{{ item[0] }}<br>
+				<# } #>
+			 <# } #>
+		</div>
+
 		<a href="#" class="close dashicons dashicons-no"></a>
 	</script>
 
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance.php wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance.php
index 8eecf2022..2998bf871 100644
--- wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance.php
+++ wordcamp.org/public_html/wp-content/plugins/camptix-attendance/addons/attendance.php
@@ -3,6 +3,8 @@
  * Allows event organizers to track which attendees showed up to the event.
  */
 class CampTix_Attendance extends CampTix_Addon {
+	public $secret    = '';
+	public $questions = array();
 	/**
 	 * Runs during CampTix init.
 	 */
@@ -22,6 +24,10 @@ class CampTix_Attendance extends CampTix_Addon {
 
 		$this->secret = $camptix_options['attendance-secret'];
 
+		if ( isset( $camptix_options['attendance-questions'] ) ) {
+			$this->questions = $camptix_options['attendance-questions'];
+		}
+
 		if ( empty( $camptix_options['attendance-enabled'] ) )
 			return;
 
@@ -201,12 +207,35 @@ class CampTix_Attendance extends CampTix_Addon {
 
 		$status = (bool) get_post_meta( $attendee->ID, 'tix_attended', true );
 
+		$extras = array();
+
+		// By default, allow certain questions to be included.
+		$questions = get_post_meta( $attendee->ID, 'tix_questions', true );
+		foreach ( $this->questions as $question_id ) {
+			if ( ! isset( $questions[ $question_id ] ) ) {
+				continue;
+			}
+
+			$question_post = get_post( $question_id );
+			$extras[] = [
+				html_entity_decode( apply_filters( 'the_title', $question_post->post_title ) ), // Escaped on display
+				// The attendees selection, which may be an array.
+				is_array( $questions[ $question_id ] ) ? implode( ', ', $questions[ $question_id ] ) : $questions[ $question_id ],
+			];
+		}
+
+		/**
+		 * Allow other plugins/Camptix Addons to register extra fields.
+		 */
+		$extras = apply_filters( 'camptix_attendance_ui_extras', $extras, $attendee );
+
 		return array(
-			'id' => $attendee->ID,
+			'id'        => $attendee->ID,
 			'firstName' => $first_name,
-			'lastName' => $last_name,
-			'avatar' => esc_url_raw( $avatar_url ),
-			'status' => $status,
+			'lastName'  => $last_name,
+			'avatar'    => esc_url_raw( $avatar_url ),
+			'status'    => $status,
+			'extras'    => $extras,
 		);
 	}
 
@@ -292,6 +321,8 @@ class CampTix_Attendance extends CampTix_Addon {
 			esc_html__( "Don't forget to disable the UI after the event is over.", 'wordcamporg' )
 		);
 
+		add_settings_field( 'attendance-questions', esc_html__( 'Questions', 'wordcamporg' ), array( $this, 'field_questions' ), 'camptix_options', 'general', esc_html__( 'Show these additional ticket questions in the UI.', 'wordcamporg' ) );
+
 		add_settings_field( 'attendance-secret', esc_html__( 'Secret Link', 'wordcamporg' ), array( $this, 'field_secret' ), 'camptix_options', 'general' );
 	}
 
@@ -312,6 +343,31 @@ class CampTix_Attendance extends CampTix_Addon {
 		<?php
 	}
 
+	/**
+	 * Ticket Questions Field
+	 *
+	 * This is a field that allows selection of any of the Ticket Questions specified
+	 * to be output into the Attendance UI.
+	 */
+	public function field_questions() {
+		global $camptix;
+		$questions = $camptix->get_all_questions();
+
+		echo '<p>' . esc_html__( 'Show the following ticket questions in the Attendance UI.', 'wordcamporg' ) . '</p>';
+
+		foreach ( $questions as $question ) {
+			$selections = get_post_meta( $question->ID, 'tix_values', true );
+			printf(
+				'<label><input type="checkbox" name="camptix_options[attendance-questions][]" value="%s" %s> %s %s</label><br>',
+				esc_attr( $question->ID ),
+				checked( in_array( $question->ID, $this->questions, true ), true, false ),
+				esc_html( apply_filters( 'the_title', $question->post_title ) ),
+				$selections ? '<em>' . esc_html( implode( ', ', $selections ) ) . '</em>' : ''
+			);
+		}
+
+	}
+
 	/**
 	 * Setup section description.
 	 */
@@ -333,6 +389,12 @@ class CampTix_Attendance extends CampTix_Addon {
 		if ( ! empty( $input['attendance-generate'] ) )
 			$output['attendance-secret'] = wp_generate_password( 32, false, false );
 
+		if ( ! empty( $input['attendance-questions'] ) ) {
+			$output['attendance-questions'] = array_map( 'intval', $input['attendance-questions'] );
+		} elseif ( isset( $input['attendance-enabled'] ) ) {
+			$output['attendance-questions'] = array();
+		}
+
 		return $output;
 	}
 
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/css/camptix-invoices.css wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/css/camptix-invoices.css
new file mode 100644
index 000000000..f07c38fdc
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/css/camptix-invoices.css
@@ -0,0 +1,13 @@
+.camptix-invoice-details{
+	display:none;
+}
+
+.camptix-invoice-toggle-wrapper {
+	display: inline-block;
+}
+
+.camptix-invoice-toggle-wrapper .camptix-need-invoice,
+.camptix-invoice-toggle-wrapper label[for="camptix-need-invoice"] {
+	display: inline-block;
+	margin-left: 5px;
+}
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/css/index.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/css/index.php
new file mode 100644
index 000000000..8142269b1
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/css/index.php
@@ -0,0 +1 @@
+<?php // Silence is golden
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/images/wp-community-support.png wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/images/wp-community-support.png
new file mode 100644
index 000000000..54f352fbb
Binary files /dev/null and wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/images/wp-community-support.png differ
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/index.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/index.php
new file mode 100644
index 000000000..8142269b1
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/index.php
@@ -0,0 +1 @@
+<?php // Silence is golden
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/camptix-invoices-back.js wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/camptix-invoices-back.js
new file mode 100644
index 000000000..9c4c5fb96
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/camptix-invoices-back.js
@@ -0,0 +1,46 @@
+jQuery(document).ready(function($) {
+  var file_frame;
+  $('.camptix-media').on('click', 'input[data-set]', function(e) {
+    e.preventDefault();
+    var $field = $(this).parent('.camptix-media').find('input[data-field]').eq(0);
+    var $imageWrapper = $(this).parent('.camptix-media').find('div[data-imagewrapper]').eq(0);
+    var $delete = $(this).parent('.camptix-media').find('input[data-unset]').eq(0);
+    var set_to_post_id = $field.val();
+    if (file_frame) {
+      file_frame.open();
+      return;
+    }
+    file_frame = wp.media.frames.file_frame = wp.media({
+      title: camptixInvoiceBackVars.selectText,
+      button: {
+        text: camptixInvoiceBackVars.selectImage,
+      },
+      multiple: false,
+      library: {
+        type: 'image',
+      }
+    });
+    file_frame.on('select', function () {
+      attachment = file_frame.state().get('selection').first().toJSON();
+      $imageWrapper.html('<img src="' + attachment.sizes.thumbnail.url + '" width="' + attachment.sizes.thumbnail.width + '"/>' );
+      $field.val(attachment.id);
+      $delete.show();
+    });
+    file_frame.on('open',function() {
+      var selection = file_frame.state().get('selection');
+      attachment = wp.media.attachment(set_to_post_id);
+      attachment.fetch();
+      selection.add(attachment ? [attachment] : []);
+    });
+    file_frame.open();
+  });
+
+  $('.camptix-media').on('click', 'input[data-unset]', function(e) {
+    e.preventDefault();
+    var $field = $(this).parent('.camptix-media').find('input[data-field]').eq(0);
+    var $imageWrapper = $(this).parent('.camptix-media').find('div[data-imagewrapper]').eq(0);
+    $field.val('');
+    $imageWrapper.html('');
+    $(this).hide();
+  });
+});
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/camptix-invoices.js wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/camptix-invoices.js
new file mode 100644
index 000000000..e8b7c8996
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/camptix-invoices.js
@@ -0,0 +1,12 @@
+jQuery( document ).ready( function ($) {
+
+	$(document).on( 'change', '#camptix-need-invoice', toggleInvoiceDetailsForm );
+	function toggleInvoiceDetailsForm() {
+		var $camptixInvoiceDetailsForm = $( '.camptix-invoice-details' );
+		$camptixInvoiceDetailsForm.toggle();
+		var $camptixInvoiceDetailsFormFields = $camptixInvoiceDetailsForm.find( 'input,textarea,select' );
+		var required = $camptixInvoiceDetailsFormFields.eq(0).prop( 'required' );
+		$camptixInvoiceDetailsFormFields.prop( 'required', ! required );
+	}
+
+});
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/index.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/index.php
new file mode 100644
index 000000000..8142269b1
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/admin/js/index.php
@@ -0,0 +1 @@
+<?php // Silence is golden
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/camptix-invoices.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/camptix-invoices.php
new file mode 100644
index 000000000..b8f4d38a0
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/camptix-invoices.php
@@ -0,0 +1,655 @@
+<?php
+/**
+ * Plugin name: Camptix Invoices for WordCamp.org
+ * Description: Generate invoices for tickets.
+ * Version: 1.0.1
+ * Author: Willy Bahuaud, Simon Janin, Antonio Villegas, Mathieu Sarrasin
+ * Author URI: https://central.wordcamp.org/
+ *
+ * @package Camptix_Invoices
+ */
+
+defined( 'ABSPATH' ) || exit;
+
+define( 'CTX_INV_VER', '1.0.1' );
+define( 'CTX_INV_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
+define( 'CTX_INV_DIR', untrailingslashit( dirname( __FILE__ ) ) );
+define( 'CTX_INV_ADMIN_URL', CTX_INV_URL . '/admin' );
+
+/**
+ * Loads WordCamp Docs PDF Generator.
+ */
+function ctx_load_docs_pdf_generator() {
+	if ( ! defined( 'WORDCAMP_DOCS__PLUGIN_DIR' ) ) {
+		return;
+	}//end if
+	require_once WORDCAMP_DOCS__PLUGIN_DIR . 'classes/class-wordcamp-docs-pdf-generator.php';
+}
+add_action( 'init', 'ctx_load_docs_pdf_generator' );
+
+/**
+ * Load invoice addon.
+ */
+function load_camptix_invoices() {
+	require plugin_dir_path( __FILE__ ) . 'includes/class-camptix-addon-invoices.php';
+	camptix_register_addon( 'CampTix_Addon_Invoices' );
+	add_action( 'init', 'register_tix_invoice' );
+}
+add_action( 'camptix_load_addons', 'load_camptix_invoices' );
+
+/**
+ * Register invoice CPT and custom statuses.
+ */
+function register_tix_invoice() {
+	register_post_type(
+		'tix_invoice',
+		array(
+			'label'        => __( 'Invoices', 'wordcamporg' ),
+			'labels'       => array(
+				'name'           => __( 'Invoices', 'wordcamporg' ),
+				'singular_name'  => _x( 'Invoice', 'Post Type Singular Name', 'wordcamporg' ),
+				'menu_name'      => __( 'Invoices', 'wordcamporg' ),
+				'name_admin_bar' => __( 'Invoice', 'wordcamporg' ),
+				'archives'       => __( 'Invoice Archives', 'wordcamporg' ),
+				'attributes'     => __( 'Invoice Attributes', 'wordcamporg' ),
+				'add_new_item'   => __( 'Add New Invoice', 'wordcamporg' ),
+				'add_new'        => __( 'Add New', 'wordcamporg' ),
+				'new_item'       => __( 'New Invoice', 'wordcamporg' ),
+				'edit_item'      => __( 'Edit Invoice', 'wordcamporg' ),
+				'update_item'    => __( 'Update Invoice', 'wordcamporg' ),
+				'view_item'      => __( 'View Invoice', 'wordcamporg' ),
+				'view_items'     => __( 'View Invoices', 'wordcamporg' ),
+				'search_items'   => __( 'Search Invoices', 'wordcamporg' ),
+			),
+			'supports'     => array( 'title' ),
+			'public'       => false,
+			'show_ui'      => true,
+			'show_in_menu' => 'edit.php?post_type=tix_ticket',
+		)
+	);
+
+	register_post_status( 'refunded',
+		array(
+			'label'                     => _x( 'Refunded', 'post', 'wordcamporg' ),
+			'public'                    => true,
+			'show_in_admin_all_list'    => false,
+			'show_in_admin_status_list' => true,
+			'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'wordcamporg' ),
+		)
+	);
+
+	register_post_status( 'cancelled',
+		array(
+			'label'                     => _x( 'Cancelled', 'post', 'wordcamporg' ),
+			'public'                    => true,
+			'show_in_admin_all_list'    => false,
+			'show_in_admin_status_list' => true,
+			'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'wordcamporg' ),
+		)
+	);
+}
+
+/**
+ * Register invoice CPT custom update messages.
+ */
+function ctx_set_invoice_updated_messages( $messages ) {
+
+	$messages['tix_invoice'] = array(
+		0  => '', // Unused. Messages start at index 1.
+		1  => __( 'Invoice updated.', 'wordcamporg' ),
+		2  => __( 'Custom field updated.', 'wordcamporg' ),
+		3  => __( 'Custom field deleted.', 'wordcamporg' ),
+		4  => __( 'Invoice updated.', 'wordcamporg' ),
+		5  => __( 'Invoice restored.', 'wordcamporg' ),
+		6  => __( 'Invoice saved.', 'wordcamporg' ),
+		7  => __( 'Invoice saved.', 'wordcamporg' ),
+		8  => __( 'Invoice submitted.', 'wordcamporg' ),
+		9  => __( 'Invoice saved.', 'wordcamporg' ),
+		10 => __( 'Invoice draft updated.', 'wordcamporg' ),
+	);
+	return $messages;
+}
+add_filter( 'post_updated_messages', 'ctx_set_invoice_updated_messages' );
+
+/**
+ * Display custom post statuses.
+ */
+function ctx_append_post_status_list() {
+
+	global $post;
+	$refunded_selected  = '';
+	$cancelled_selected = '';
+	$status             = '';
+	$refunded           = __( 'refunded', 'wordcamporg' );
+	$cancelled          = __( 'cancelled', 'wordcamporg' );
+	$refunded_status    = _x( 'Refunded', 'post', 'wordcamporg' );
+	$cancelled_status   = _x( 'Cancelled', 'post', 'wordcamporg' );
+
+	if ( 'tix_invoice' === $post->post_type ) {
+
+		if ( 'refunded' === $post->post_status ) {
+			$refunded_selected = ' selected=\"selected\"';
+			$status            = $refunded_status;
+		}
+
+		if ( 'cancelled' === $post->post_status ) {
+			$cancelled_selected = ' selected=\"selected\"';
+			$status             = $cancelled_status;
+		}
+
+		?>
+		<script>
+			jQuery( document ).ready( function($) {
+				$( "select#post_status" ).append( "<option value=\"<?php echo esc_attr( $refunded ); ?>\" <?php echo esc_attr( $refunded_selected ); ?>><?php echo esc_html( $refunded_status ); ?></option>" );
+				$( "select#post_status" ).append( "<option value=\"<?php echo esc_attr( $cancelled ); ?>\" <?php echo esc_attr( $cancelled_selected ); ?>><?php echo esc_html( $cancelled_status ); ?></option>" );
+				<?php if ( ! empty( $status ) ) { ?>
+					$( ".misc-pub-post-status #post-status-display" ).html( '<?php echo esc_html( $status ); ?>' );
+				<?php } ?>
+			});
+		</script>
+		<?php
+	}
+}
+add_action( 'admin_footer-post.php', 'ctx_append_post_status_list' );
+
+/**
+ * Show custom statuses on invoices index.
+ */
+function ctx_display_custom_statuses( $states ) {
+
+	global $post;
+	$arg = get_query_var( 'post_status' );
+
+	if ( 'refunded' !== $arg ) {
+		if ( 'refunded' === $post->post_status ) {
+			return array( _x( 'Refunded', 'post', 'wordcamporg' ) );
+		}
+	}
+
+	if ( 'cancelled' !== $arg ) {
+		if ( 'cancelled' === $post->post_status ) {
+			return array( _x( 'Cancelled', 'post', 'wordcamporg' ) );
+		}
+	}
+
+	return $states;
+}
+add_filter( 'display_post_states', 'ctx_display_custom_statuses' );
+
+/**
+ * Adding custom post status to Bulk and Quick Edit boxes: Status dropdown
+ */
+function ctx_append_post_status_bulk_edit() {
+
+	?>
+	<script>
+		jQuery( document ).ready( function($) {
+			$( ".inline-edit-status select " ).append("<option value=\"<?php echo esc_attr( __( 'refunded', 'wordcamporg' ) ); ?>\"><?php echo esc_html_x( 'Refunded', 'post', 'wordcamporg' ); ?></option>" );
+			$( ".inline-edit-status select " ).append("<option value=\"<?php echo esc_attr( __( 'cancelled', 'wordcamporg' ) ); ?>\"><?php echo esc_html_x( 'Cancelled', 'post', 'wordcamporg' ); ?></option>" );
+		});
+	</script>
+	<?php
+
+}
+
+add_action( 'admin_footer-edit.php', 'ctx_append_post_status_bulk_edit' );
+
+/**
+ * Display an invoice button.
+ *
+ * @param object $post The post.
+ */
+function ctx_invoice_link( $post ) {
+
+	if ( 'tix_invoice' !== $post->post_type ) {
+		return false;
+	}//end if
+
+	$invoice_number = get_post_meta( $post->ID, 'invoice_number', true );
+	if ( empty( $invoice_number ) ) {
+		return false;
+	}
+
+	$invoice_url = ctx_get_invoice_url( $post->ID );
+
+	include CTX_INV_DIR . '/includes/views/invoice-download-button.php';
+}
+add_action( 'post_submitbox_misc_actions', 'ctx_invoice_link' );
+
+/**
+ * Register metabox on invoices.
+ *
+ * @param object $post The post.
+ */
+function ctx_register_invoice_metabox( $post ) {
+
+	$non_editable_statuses = array( 'publish', 'cancelled', 'refunded' );
+	if ( in_array( $post->post_status, $non_editable_statuses, true ) ) {
+		add_meta_box(
+			'ctx_invoice_metabox',
+			esc_html__( 'Info', 'wordcamporg' ),
+			'ctx_invoice_metabox_sent',
+			'tix_invoice',
+			'normal',
+			'high'
+		);
+	} else {
+		add_meta_box(
+			'ctx_invoice_metabox',
+			esc_html__( 'Info', 'wordcamporg' ),
+			'ctx_invoice_metabox_editable',
+			'tix_invoice',
+			'normal',
+			'high'
+		);
+	}//end if
+}
+add_action( 'add_meta_boxes_tix_invoice', 'ctx_register_invoice_metabox' );
+
+/**
+ * Metabox for editable invoice (not published).
+ *
+ * @param object $args The args.
+ */
+function ctx_invoice_metabox_editable( $args ) {
+
+	$order              = get_post_meta( $args->ID, 'original_order', true );
+	$metas              = get_post_meta( $args->ID, 'invoice_metas', true );
+	$opt                = get_option( 'camptix_options' );
+	$invoice_vat_number = $opt['invoice-vat-number'];
+
+	if ( ! is_array( $order ) ) {
+		$order = array();
+	}//end if
+	if ( ! is_array( $metas ) ) {
+		$metas = array();
+	}//end if
+
+	if ( empty( $order['items'] ) || ! is_array( $order['items'] ) ) {
+		$order['items'] = array();
+	}//end if
+
+	wp_nonce_field( 'edit-invoice-' . get_current_user_id() . '-' . $args->ID, 'edit-invoice' );
+
+	include CTX_INV_DIR . '/includes/views/editable-invoice-metabox.php';
+}
+
+/**
+ * Metabox for published invoices.
+ *
+ * @param object $args The args.
+ */
+function ctx_invoice_metabox_sent( $args ) {
+
+	$order              = get_post_meta( $args->ID, 'original_order', true );
+	$metas              = get_post_meta( $args->ID, 'invoice_metas', true );
+	$opt                = get_option( 'camptix_options' );
+	$invoice_vat_number = $opt['invoice-vat-number'];
+	$txn_id             = isset( $metas['transaction_id'] ) ? $metas['transaction_id'] : '';
+
+	include CTX_INV_DIR . '/includes/views/sent-invoice-metabox.php';
+}
+
+/**
+ * Save invoice metabox.
+ *
+ * @param int $post_id The post ID.
+ */
+function ctx_save_invoice_details( $post_id ) {
+	if ( ! isset( $_POST['edit-invoice'], $_POST['user_ID'], $_POST['post_ID'], $_POST['order'], $_POST['invoice_metas'] ) ) {
+		return;
+	}//end if
+
+	check_admin_referer( 'edit-invoice-' . absint( $_POST['user_ID'] ) . '-' . absint( $_POST['post_ID'] ), 'edit-invoice' );
+
+	$order = wp_parse_args(
+		$_POST['order'],
+		array(
+			'total'  => 0,
+			'items'  => array(),
+			'coupon' => '',
+		)
+	);
+
+	$final_order = array(
+		'total'  => floatval( $order['total'] ),
+		'items'  => array_filter( array_map( 'ctx_sanitize_order_item', $order['items'] ) ),
+		'coupon' => sanitize_text_field( $order['coupon'] ),
+	);
+
+	$default_metas = array(
+		'email'   => '',
+		'name'    => '',
+		'address' => '',
+	);
+
+	$opt = get_option( 'camptix_options' );
+	if ( ! empty( $opt['invoice-vat-number'] ) ) {
+		$default_metas['vat-number'] = '';
+	}//end if
+
+	$metas = wp_parse_args( $_POST['invoice_metas'], $default_metas );
+
+	$final_metas = array(
+		'email'   => sanitize_email( $metas['email'] ),
+		'name'    => sanitize_text_field( $metas['name'] ),
+		'address' => sanitize_textarea_field( $metas['address'] ),
+	);
+	if ( ! empty( $opt['invoice-vat-number'] ) ) {
+		$final_metas['vat-number'] = sanitize_text_field( $metas['vat-number'] );
+	}//end if
+
+	update_post_meta( $post_id, 'original_order', $final_order );
+	update_post_meta( $post_id, 'invoice_metas', $final_metas );
+}
+add_action( 'save_post_tix_invoice', 'ctx_save_invoice_details', 10, 2 );
+
+/**
+ * Sanitize order item.
+ */
+function ctx_sanitize_order_item( $item ) {
+
+	$item = wp_parse_args(
+		$item,
+		array(
+			'id'          => 0,
+			'name'        => '',
+			'description' => '',
+			'quantity'    => 0,
+			'price'       => 0,
+		)
+	);
+
+	$item = array(
+		'id'          => absint( $item['id'] ),
+		'name'        => sanitize_text_field( $item['name'] ),
+		'description' => sanitize_text_field( $item['description'] ),
+		'quantity'    => absint( $item['quantity'] ),
+		'price'       => floatval( $item['price'] ),
+	);
+
+	if ( empty( $item['name'] ) ) {
+		return false;
+	}
+
+	if ( empty( $item['quantity'] ) ) {
+		return false;
+	}
+
+	return $item;
+}
+
+/**
+ * Mark an invoice as draft when incomplete.
+ *
+ * @param int $invoice_id The invoice id.
+ */
+function ctx_mark_incomplete_invoice_as_draft( $invoice_id ) {
+	if ( wp_is_post_revision( $invoice_id ) || wp_is_post_autosave( $invoice_id ) ) {
+		return;
+	}
+
+	if ( 'tix_invoice' !== get_post_type( $invoice_id ) ) {
+		return;
+	}
+
+	if ( in_array( get_post_status( $invoice_id ), array( 'trash', 'pending' ), true ) ) {
+		return;
+	}
+
+	if ( CampTix_Addon_Invoices::is_invoice_incomplete( $invoice_id ) ) {
+		remove_action( 'save_post', 'ctx_mark_incomplete_invoice_as_draft' );
+		wp_update_post(
+			array(
+				'ID'          => $invoice_id,
+				'post_status' => 'draft',
+			)
+		);
+		add_action( 'save_post', 'ctx_mark_incomplete_invoice_as_draft' );
+	}
+}
+add_action( 'save_post', 'ctx_mark_incomplete_invoice_as_draft' );
+
+/**
+ * Assign an invoice number.
+ *
+ * @param int $invoice_id The invoice id.
+ */
+function ctx_assign_invoice_number( $invoice_id ) {
+	if ( wp_is_post_revision( $invoice_id ) || wp_is_post_autosave( $invoice_id ) ) {
+		return;
+	}
+
+	if ( 'tix_invoice' !== get_post_type( $invoice_id ) ) {
+		return;
+	}
+
+	if ( ! get_post_meta( $invoice_id, 'invoice_number', true ) ) {
+		$number = CampTix_Addon_Invoices::create_invoice_number();
+		update_post_meta( $invoice_id, 'invoice_number', $number );
+	}
+}
+add_action( 'save_post', 'ctx_assign_invoice_number' );
+
+/**
+ * Generate the invoice document.
+ *
+ * @param int $invoice_id The invoice id.
+ */
+function ctx_generate_invoice_document( $invoice_id ) {
+	if ( wp_is_post_revision( $invoice_id ) || wp_is_post_autosave( $invoice_id ) ) {
+		return;
+	}
+
+	if ( 'tix_invoice' !== get_post_type( $invoice_id ) ) {
+		return;
+	}
+
+	if ( ! in_array( get_post_status( $invoice_id ), array( 'publish', 'cancelled', 'refunded' ), true ) ) {
+		return;
+	}
+
+	CampTix_Addon_Invoices::create_invoice_document( $invoice_id );
+}
+add_action( 'save_post', 'ctx_generate_invoice_document' );
+
+/**
+ * Remove the invoice document in drafts.
+ *
+ * @param int $invoice_id The invoice id.
+ */
+function ctx_remove_invoice_document_in_draft( $invoice_id ) {
+	if ( wp_is_post_revision( $invoice_id ) || wp_is_post_autosave( $invoice_id ) ) {
+		return;
+	}
+
+	if ( 'tix_invoice' !== get_post_type( $invoice_id ) ) {
+		return;
+	}
+
+	if ( ! in_array( get_post_status( $invoice_id ), array( 'draft', 'trash' ), true ) ) {
+		return;
+	}
+
+	CampTix_Addon_Invoices::delete_invoice_document( $invoice_id );
+}
+add_action( 'save_post', 'ctx_remove_invoice_document_in_draft' );
+
+/**
+ * Invoice form generator.
+ */
+function ctx_invoice_form( $order, $options ) {
+
+	if ( empty( $options['invoice-active'] ) ) {
+		return;
+	}
+
+	$invoice_vat_number = $options['invoice-vat-number'];
+	include CTX_INV_DIR . '/includes/views/invoice-form.php';
+
+}
+add_action( 'camptix_form_attendee_after_registration_information', 'ctx_invoice_form', 10, 2 );
+
+/**
+ * Recovers a path for a PDF invoice.
+ *
+ * @param int $invoice_id The invoice id.
+ */
+function ctx_get_invoice( $invoice_id ) {
+	$invoice_document = get_post_meta( $invoice_id, 'invoice_document', true );
+	$upload_dir       = wp_upload_dir();
+
+	if ( empty( $upload_dir['basedir'] ) ) {
+		wp_die( esc_html__( 'Base upload directory is empty.', 'wordcamporg' ) );
+	}
+
+	$invoices_dirname = $upload_dir['basedir'] . '/camptix-invoices';
+	$path             = $invoices_dirname . '/' . $invoice_document;
+
+	if ( ! file_exists( $path ) ) {
+		wp_die( esc_html__( 'Invoice document does not exist.', 'wordcamporg' ) );
+	}
+
+	return $path;
+}
+
+/**
+ * Recovers the URL for a PDF invoice.
+ *
+ * @param int $invoice_id The invoice id.
+ */
+function ctx_get_invoice_url( $invoice_id ) {
+
+	$invoice_document = get_post_meta( $invoice_id, 'invoice_document', true );
+	if ( empty( $invoice_document ) ) {
+		return false;
+	}
+
+	$upload_dir = wp_upload_dir();
+	if ( empty( $upload_dir['basedir'] ) ) {
+		return false;
+	}
+
+	$invoices_dirurl = $upload_dir['baseurl'] . '/camptix-invoices';
+	return $invoices_dirurl . '/' . $invoice_document;
+}
+
+/**
+ * Registers the personal data exporter for invoices.
+ *
+ * @param array $exporters
+ *
+ * @return array
+ */
+function ctx_register_invoice_data_exporter( $exporters ) {
+	$exporters['camptix-invoice'] = array(
+		'exporter_friendly_name' => __( 'CampTix Invoice Data', 'camptix' ),
+		'callback'               => 'ctx_invoice_data_exporter',
+	);
+
+	return $exporters;
+}
+add_filter( 'wp_privacy_personal_data_exporters', 'ctx_register_invoice_data_exporter' );
+
+/**
+ * Finds and exports invoice data associated with an email address.
+ *
+ * @param string $email_address
+ * @param int    $page
+ *
+ * @return array
+ */
+function ctx_invoice_data_exporter( $email_address, $page ) {
+	$page = (int) $page;
+
+	$data_to_export = array();
+
+	$post_query = get_invoice_posts( $email_address, $page );
+
+	foreach ( (array) $post_query->posts as $post ) {
+		$invoice_data_to_export = array();
+
+		$invoice_number = get_post_meta( $post->ID, 'invoice_number', true );
+		$invoice_metas  = get_post_meta( $post->ID, 'invoice_metas', true );
+
+		foreach ( $invoice_metas as $key => $value ) {
+
+			switch ( $key ) {
+				case 'email':
+					$label = __( 'Email', 'wordcamporg' );
+					break;
+
+				case 'name':
+					$label = __( 'Name', 'wordcamporg' );
+					break;
+
+				case 'address':
+					$label = __( 'Address', 'wordcamporg' );
+					break;
+
+				case 'vat-number':
+					$label = __( 'VAT Number', 'wordcamporg' );
+					break;
+
+				default:
+					continue;
+			}
+
+			if ( ! empty( $value ) ) {
+				$invoice_data_to_export[] = array(
+					'name'  => $label,
+					'value' => $value,
+				);
+			}
+		}
+
+		if ( ! empty( $invoice_number ) ) {
+			$invoice_data_to_export[] = array(
+				'name'  => __( 'Invoice Number', 'wordcamporg' ),
+				'value' => $invoice_number,
+			);
+		}
+
+		if ( ! empty( $invoice_data_to_export ) ) {
+			$data_to_export[] = array(
+				'group_id'    => 'camptix-invoice',
+				'group_label' => __( 'CampTix Invoice Data', 'wordcamporg' ),
+				'item_id'     => "camptix-invoice-{$post->ID}",
+				'data'        => $invoice_data_to_export,
+			);
+		}
+	}
+
+	$done = $post_query->max_num_pages <= $page;
+
+	return array(
+		'data' => $data_to_export,
+		'done' => $done,
+	);
+}
+
+/**
+ * Get the list of invoice posts related to a particular email address.
+ *
+ * @param string $email_address
+ * @param int    $page
+ *
+ * @return WP_Query
+ */
+function get_invoice_posts( $email_address, $page ) {
+	$number = 20;
+
+	return new WP_Query(
+		array(
+			'posts_per_page' => $number,
+			'paged'          => $page,
+			'post_type'      => 'tix_invoice',
+			'post_status'    => 'any',
+			'orderby'        => 'ID',
+			'order'          => 'ASC',
+			'meta_key'       => 'invoice_metas',
+			'meta_compare'   => 'LIKE',
+			'meta_value'     => $email_address,
+		)
+	);
+}
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/class-camptix-addon-invoices.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/class-camptix-addon-invoices.php
new file mode 100644
index 000000000..f7eb7e139
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/class-camptix-addon-invoices.php
@@ -0,0 +1,641 @@
+<?php
+/**
+ * Addon class that extends Camptix with invoicing functionalities.
+ *
+ * @package    Camptix_Invoices
+ * @subpackage Camptix_invoices/includes
+ */
+
+/**
+ * This class defines all code necessary to include invoices into Camptix.
+ *
+ * @package    Camptix_Invoices
+ * @subpackage Camptix_invoices/includes
+ */
+class CampTix_Addon_Invoices extends \CampTix_Addon {
+
+	/**
+	 * Init invoice addon
+	 */
+	public function camptix_init() {
+		global $camptix;
+		global $camptix_invoice_custom_error;
+
+		$camptix_invoice_custom_error = false;
+
+		add_filter( 'camptix_setup_sections', array( __CLASS__, 'invoice_settings_tab' ) );
+		add_action( 'camptix_menu_setup_controls', array( __CLASS__, 'invoice_settings' ) );
+		add_filter( 'camptix_validate_options', array( __CLASS__, 'validate_options' ), 10, 2 );
+		add_action( 'camptix_payment_result', array( __CLASS__, 'maybe_create_invoice' ), 10, 3 );
+		add_action( 'wp_enqueue_scripts', array( __CLASS__, 'enqueue_assets' ) );
+		add_action( 'admin_enqueue_scripts', array( __CLASS__, 'admin_enqueue_assets' ) );
+		add_filter( 'camptix_checkout_attendee_info', array( __CLASS__, 'attendee_info' ) );
+		add_action( 'camptix_notices', array( __CLASS__, 'error_flag' ), 0 );
+		add_filter( 'camptix_form_register_complete_attendee_object', array( __CLASS__, 'attendee_object' ), 10, 2 );
+		add_action( 'camptix_checkout_update_post_meta', array( __CLASS__, 'add_meta_invoice_on_attendee' ), 10, 2 );
+		add_filter( 'camptix_metabox_attendee_info_additional_rows', array( __CLASS__, 'add_invoice_meta_on_attendee_metabox' ), 10, 2 );
+	}
+
+	/**
+	 * Add a new tab in camptix settings.
+	 *
+	 * @param array $sections Sections of the Camptix settings.
+	 */
+	public static function invoice_settings_tab( $sections ) {
+		$sections['invoice'] = __( 'Invoicing', 'wordcamporg' );
+		return $sections;
+	}
+
+	/**
+	 * Tab content.
+	 *
+	 * @param string $section Section.
+	 */
+	public static function invoice_settings( $section ) {
+		if ( 'invoice' !== $section ) {
+			return false;
+		}//end if
+
+		$opt = get_option( 'camptix_options' );
+		add_settings_section( 'invoice', __( 'Invoices settings', 'wordcamporg' ), '__return_false', 'camptix_options' );
+		global $camptix;
+
+		$camptix->add_settings_field_helper(
+			'invoice-active',
+			__( 'Activate invoice requests', 'wordcamporg' ),
+			'field_yesno',
+			'invoice',
+			// translators: %1$s is a date.
+			sprintf( __( 'Allow ticket buyers to ask for an invoice when purchasing their tickets.', 'wordcamporg' ), date( 'Y' ) )
+		);
+
+		$camptix->add_settings_field_helper(
+			'invoice-new-year-reset',
+			__( 'Yearly reset', 'wordcamporg' ),
+			'field_yesno',
+			'invoice',
+			// translators: %1$s is a date.
+			sprintf( __( 'Invoice numbers are prefixed with the year, and will be reset on the 1st of January (e.g. %1$s-125)', 'wordcamporg' ), date( 'Y' ) )
+		);
+
+		add_settings_field(
+			'invoice-date-format',
+			__( 'Date format', 'wordcamporg' ),
+			array( __CLASS__, 'date_format_callback' ),
+			'camptix_options',
+			'invoice',
+			array(
+				'id'    => 'invoice-date-format',
+				'value' => ! empty( $opt['invoice-date-format'] ) ? $opt['invoice-date-format'] : 'd F Y',
+			)
+		);
+
+		$camptix->add_settings_field_helper(
+			'invoice-vat-number',
+			__( 'VAT number', 'wordcamporg' ),
+			'field_yesno',
+			'invoice',
+			// translators: %1$s is a date.
+			sprintf( __( 'Add a "VAT Number" field to the invoice request form', 'wordcamporg' ), date( 'Y' ) )
+		);
+
+		add_settings_field(
+			'invoice-logo',
+			__( 'Logo', 'wordcamporg' ),
+			array( __CLASS__, 'type_file_callback' ),
+			'camptix_options',
+			'invoice',
+			array(
+				'id'    => 'invoice-logo',
+				'value' => ! empty( $opt['invoice-logo'] ) ? $opt['invoice-logo'] : '',
+			)
+		);
+
+		$camptix->add_settings_field_helper( 'invoice-company', __( 'Company address', 'wordcamporg' ), 'field_textarea', 'invoice' );
+		$camptix->add_settings_field_helper( 'invoice-tac', __( 'Terms and Conditions', 'wordcamporg' ), 'field_textarea', 'invoice' );
+		$camptix->add_settings_field_helper( 'invoice-thankyou', __( 'Note below invoice total', 'wordcamporg' ), 'field_textarea', 'invoice' );
+	}
+
+	/**
+	 * Date format setting callback.
+	 *
+	 * @param array $args Arguments.
+	 */
+	public static function date_format_callback( $args ) {
+
+		$id          = $args['id'];
+		$value       = $args['value'];
+		$description = sprintf(
+			// translators: %s is a date.
+			__( 'Date format to use on the invoice, as a PHP Date formatting string (default \'d F Y\' formats dates as %s)', 'wordcamporg' ),
+			date( 'd F Y' )
+		);
+
+		include CTX_INV_DIR . '/includes/views/date-format-field.php';
+	}
+
+	/**
+	 * Input type file.
+	 *
+	 * @param object $args Arguments.
+	 */
+	public static function type_file_callback( $args ) {
+		wp_enqueue_media();
+		wp_enqueue_script( 'admin-camptix-invoices' );
+		wp_localize_script(
+			'admin-camptix-invoices',
+			'camptixInvoiceBackVars',
+			array(
+				'selectText'  => __( 'Pick a logo to upload', 'wordcamporg' ),
+				'selectImage' => __( 'Pick this logo', 'wordcamporg' ),
+			)
+		);
+
+		$id    = $args['id'];
+		$value = $args['value'];
+
+		include CTX_INV_DIR . '/includes/views/logo-field.php';
+	}
+
+	/**
+	 * Validate our custom options.
+	 *
+	 * @param object $output Output options.
+	 * @param object $input  Input options.
+	 */
+	public static function validate_options( $output, $input ) {
+		if ( isset( $input['invoice-active'] ) ) {
+			$output['invoice-active'] = (int) $input['invoice-active'];
+		}//end if
+		if ( isset( $input['invoice-new-year-reset'] ) ) {
+			$output['invoice-new-year-reset'] = (int) $input['invoice-new-year-reset'];
+		}//end if
+		if ( isset( $input['invoice-date-format'] ) ) {
+			$output['invoice-date-format'] = $input['invoice-date-format'];
+		}//end if
+		if ( isset( $input['invoice-vat-number'] ) ) {
+			$output['invoice-vat-number'] = (int) $input['invoice-vat-number'];
+		}//end if
+		if ( isset( $input['invoice-logo'] ) ) {
+			$output['invoice-logo'] = (int) $input['invoice-logo'];
+		}//end if
+		if ( isset( $input['invoice-company'] ) ) {
+			$output['invoice-company'] = sanitize_textarea_field( $input['invoice-company'] );
+		}//end if
+		if ( isset( $input['invoice-tac'] ) ) {
+			$output['invoice-tac'] = sanitize_textarea_field( $input['invoice-tac'] );
+		}//end if
+		if ( isset( $input['invoice-thankyou'] ) ) {
+			$output['invoice-thankyou'] = sanitize_textarea_field( $input['invoice-thankyou'] );
+		}//end if
+		return $output;
+	}
+
+	/**
+	 * Listen payment result to create invoice.
+	 *
+	 * @param string $payment_token The payment token.
+	 * @param int    $result        The result.
+	 */
+	public static function maybe_create_invoice( $payment_token, $result ) {
+		if ( 2 !== $result ) {
+			return;
+		}//end if
+
+		$attendees = get_posts(
+			array(
+				'posts_per_page' => -1,
+				'post_type'      => 'tix_attendee',
+				'post_status'    => 'any',
+				'meta_query'     => array( // @codingStandardsIgnoreLine
+					array(
+						'key'     => 'tix_payment_token',
+						'compare' => ' = ',
+						'value'   => $payment_token,
+						'type'    => 'CHAR',
+					),
+				),
+			)
+		);
+		if ( ! $attendees ) {
+			return;
+		}//end if
+
+		$metas = get_post_meta( $attendees[0]->ID, 'invoice_metas', true );
+		if ( $metas ) {
+			$order      = get_post_meta( $attendees[0]->ID, 'tix_order', true );
+			$invoice_id = self::create_invoice( $attendees[0], $order, $metas );
+			if ( ! is_wp_error( $invoice_id ) && ! empty( $invoice_id ) ) {
+				self::send_invoice( $invoice_id );
+			}//end if
+		}//end if
+	}
+
+	/**
+	 * Get, increment and return invoice number.
+	 */
+	public static function create_invoice_number() {
+		$opt     = get_option( 'camptix_options' );
+		$current = get_option( 'invoice_current_number', 1 );
+
+		$year = date( 'Y' );
+		if ( ! empty( $opt['invoice-new-year-reset'] ) ) {
+			if ( ! empty( $opt['invoice-current-year'] ) && $opt['invoice-current-year'] !== $year ) {
+				$current                     = 1;
+				$opt['invoice-current-year'] = $year;
+				update_option( 'camptix_options', $opt );
+			}//end if
+		}//end if
+
+		/**
+		 * Sets the current invoice number.
+		 *
+		 * @param int $current current invoice number.
+		 */
+		$current = apply_filters( 'tix_invoice_current_number', $current );
+		update_option( 'invoice_current_number', $current + 1 );
+
+		if ( empty( $opt['invoice-new-year-reset'] ) ) {
+			return $current;
+		} else {
+			return sprintf( '%s-%s', $year, $current );
+		}
+	}
+
+	/**
+	 * Create invoice.
+	 *
+	 * @param object $attendee The attendee.
+	 * @param object $order    The order.
+	 * @param object $metas    The metas.
+	 *
+	 * @todo Link invoice and corresponding attendees
+	 */
+	public static function create_invoice( $attendee, $order, $metas ) {
+		$number         = self::create_invoice_number();
+		$attendee_email = get_post_meta( $attendee->ID, 'tix_email', true );
+		$txn_id         = get_post_meta( $attendee->ID, 'tix_transaction_id', true );
+
+		// Prevent invoice_number from being assigned twice.
+		remove_action( 'publish_tix_invoice', 'ctx_assign_invoice_number', 10 );
+
+		// $txn_id may be null if no transaction was created (100% coupon used).
+		if ( $txn_id ) {
+			$invoice_title = sprintf(
+				// translators: 1: invoice number, 2: email, 3: transaction id, 4. date.
+				__( 'Invoice #%1$s for %2$s (order #%3$s) on %4$s', 'wordcamporg' ),
+				$number,
+				$attendee_email,
+				$txn_id,
+				get_the_time( 'd/m/Y', $attendee )
+			);
+		} else {
+			$invoice_title = sprintf(
+				// translators: 1: invoice number, 2: email, 3. date.
+				__( 'Invoice #%1$s for %2$s on %3$s', 'wordcamporg' ),
+				$number,
+				$attendee_email,
+				get_the_time( 'd/m/Y', $attendee )
+			);
+		}//end if
+
+		$invoice = array(
+			'post_type'   => 'tix_invoice',
+			'post_status' => 'draft',
+			'post_title'  => $invoice_title,
+			'post_name'   => sprintf( 'invoice-%s', $number ),
+		);
+
+		$invoice_id = wp_insert_post( $invoice );
+		if ( ! $invoice_id || is_wp_error( $invoice_id ) ) {
+			return;
+		}//end if
+		update_post_meta( $invoice_id, 'invoice_number', $number );
+		update_post_meta( $invoice_id, 'invoice_metas', $metas );
+		update_post_meta( $invoice_id, 'original_order', $order );
+		update_post_meta( $invoice_id, 'transaction_id', $txn_id );
+
+		wp_update_post(
+			array(
+				'ID'          => $invoice_id,
+				'post_status' => 'publish',
+			)
+		);
+
+		return $invoice_id;
+	}
+
+	/**
+	 * Send invoice by mail.
+	 *
+	 * @param int $invoice_id The invoice ID.
+	 *
+	 * @todo Add a template for $message in the settings.
+	 */
+	public static function send_invoice( $invoice_id ) {
+		$invoice_metas = get_post_meta( $invoice_id, 'invoice_metas', true );
+		if ( empty( $invoice_metas['email'] ) && is_email( $invoice_metas['email'] ) ) {
+			return false;
+		}//end if
+		$invoice_pdf = ctx_get_invoice( $invoice_id );
+		$attachments = array( $invoice_pdf );
+		$opt         = get_option( 'camptix_options' );
+
+		/* translators: The name of the event */
+		$subject = apply_filters( 'camptix_invoices_mail_subject', sprintf( __( 'Your Invoice to %s', 'wordcamporg' ), $opt['event_name'] ), $opt['event_name'] );
+		$from    = apply_filters( 'camptix_invoices_mail_from', get_option( 'admin_email' ) );
+		$headers = apply_filters(
+			'camptix_invoices_mail_headers',
+			array(
+				"From: {$opt['event_name']} <{$from}>",
+				'Content-type: text/html; charset=UTF-8',
+			)
+		);
+		$message = array(
+			__( 'Hello,', 'wordcamporg' ),
+			// translators: event name.
+			sprintf( __( 'As requested during your purchase, please find attached an invoice for your tickets to "%s".', 'wordcamporg' ), sanitize_text_field( $opt['event_name'] ) ),
+			// translators: email.
+			sprintf( __( 'Please let us know if we can be of any further assistance at %s.', 'wordcamporg' ), $from ),
+			__( 'Kind regards', 'wordcamporg' ),
+			'',
+			// translators: event name.
+			sprintf( __( 'The %s team', 'wordcamporg' ), sanitize_text_field( $opt['event_name'] ) ),
+		);
+		$message = implode( PHP_EOL, $message );
+		$message = '<p>' . nl2br( $message ) . '</p>';
+		wp_mail( $invoice_metas['email'], $subject, $message, $headers, $attachments );
+	}
+
+	/**
+	 * Create a PDF document for the given invoice.
+	 *
+	 * @param int $invoice_id The invoice ID.
+	 */
+	public static function create_invoice_document( $invoice_id ) {
+
+		$camptix_opts   = get_option( 'camptix_options' );
+		$invoice_number = get_post_meta( $invoice_id, 'invoice_number', true );
+		$invoice_date   = get_the_date( $camptix_opts['invoice-date-format'], $invoice_id );
+		$invoice_metas  = get_post_meta( $invoice_id, 'invoice_metas', true );
+		$invoice_order  = get_post_meta( $invoice_id, 'original_order', true );
+
+		$logo = CTX_INV_DIR . '/admin/images/wp-community-support.png';
+		if ( ! empty( $camptix_opts['invoice-logo'] ) ) {
+			$attachment = wp_get_attachment_image_src( $camptix_opts['invoice-logo'], 'full' );
+			$logo       = $attachment[0];
+		}
+
+		$template = locate_template( 'invoice-template.php' ) ? locate_template( 'invoice-template.php' ) : CTX_INV_DIR . '/includes/views/invoice-template.php';
+
+		ob_start();
+		include $template;
+		$invoice_content = ob_get_clean();
+
+		if ( ! class_exists( 'WordCamp_Docs_PDF_Generator' ) ) {
+			wp_die( esc_html__( 'WordCamp_Docs_PDF_Generator is missing', 'wordcamporg' ) );
+		}
+
+		$filename = get_post_meta( $invoice_id, 'invoice_document', true );
+		if ( empty( $filename ) ) {
+			$filename = $invoice_number . '-' . wp_generate_password( 12, false, false ) . '.pdf';
+		}
+
+		$pdf_generator = new WordCamp_Docs_PDF_Generator();
+		$upload_dir    = wp_upload_dir();
+		$tmp_path      = $pdf_generator->generate_pdf_from_string( $invoice_content, $filename );
+
+		if ( ! empty( $upload_dir['basedir'] ) ) {
+			$invoices_dirname = $upload_dir['basedir'] . '/camptix-invoices';
+			if ( ! file_exists( $invoices_dirname ) ) {
+				wp_mkdir_p( $invoices_dirname );
+			}
+		}
+
+		rename( $tmp_path, $invoices_dirname . '/' . $filename );
+
+		update_post_meta( $invoice_id, 'invoice_document', $filename );
+	}
+
+	/**
+	 * Check whether the invoice has the required fields or not.
+	 *
+	 * @param int $invoice_id The invoice ID.
+	 */
+	public static function is_invoice_incomplete( $invoice_id ) {
+		$invoice_metas = get_post_meta( $invoice_id, 'invoice_metas', true );
+		$invoice_order = get_post_meta( $invoice_id, 'original_order', true );
+
+		if ( empty( $invoice_metas['name'] ) ) {
+			return true;
+		}
+
+		if ( empty( $invoice_metas['address'] ) ) {
+			return true;
+		}
+
+		if ( empty( $invoice_order['items'] ) ) {
+			return true;
+		}
+
+		foreach ( $invoice_order['items'] as $item ) {
+			if ( empty( $item['quantity'] ) ) {
+				return true;
+			}
+			if ( empty( $item['name'] ) ) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
+	/**
+	 * Delete the invoice document of a given invoice.
+	 *
+	 * @param int $invoice_id The invoice ID.
+	 */
+	public static function delete_invoice_document( $invoice_id ) {
+		$filename = get_post_meta( $invoice_id, 'invoice_document', true );
+		if ( empty( $filename ) ) {
+			return;
+		}
+
+		delete_post_meta( $invoice_id, 'invoice_document' );
+
+		$upload_dir = wp_upload_dir();
+		if ( ! empty( $upload_dir['basedir'] ) ) {
+			$invoices_dirname = $upload_dir['basedir'] . '/camptix-invoices';
+			$filename         = $invoices_dirname . '/' . $filename;
+			if ( file_exists( $filename ) ) {
+				wp_delete_file( $filename );
+			}
+		}
+	}
+
+	/**
+	 * Format currency to display in invoice.
+	 */
+	public static function format_currency( $amount, $currency_key ) {
+
+		$camptix_currencies = CampTix_Currency::get_currency_list();
+		if ( isset( $camptix_currencies[ $currency_key ] ) === false ) {
+			$currency_key = 'USD';
+		}
+
+		$currency = $camptix_currencies[ $currency_key ];
+
+		if ( isset( $currency['locale'] ) === true ) {
+			setlocale( LC_MONETARY, $currency['locale'] );
+			$formatted_amount = money_format( "%.{$currency['decimal_point']}n", $amount );
+		} elseif ( isset( $currency['format'] ) && $currency['format'] ) {
+			$formatted_amount = sprintf( $currency['format'], number_format( $amount, $currency['decimal_point'] ) );
+		} else {
+			$formatted_amount = $currency_key . ' ' . number_format( $amount, $currency['decimal_point'] );
+		}
+
+		return $formatted_amount;
+	}
+
+	/**
+	 * Enqueue assets
+	 *
+	 * @todo enqueue only on [camptix] shortcode
+	 */
+	public static function enqueue_assets() {
+
+		$opt = get_option( 'camptix_options' );
+		if ( ! empty( $opt['invoice-active'] ) ) {
+
+			wp_register_script( 'camptix-invoices', CTX_INV_ADMIN_URL . '/js/camptix-invoices.js', array( 'jquery' ), CTX_INV_VER, true );
+			wp_enqueue_script( 'camptix-invoices' );
+
+		}//end if
+
+		wp_register_style( 'camptix-invoices-css', CTX_INV_ADMIN_URL . '/css/camptix-invoices.css', array(), CTX_INV_VER );
+		wp_enqueue_style( 'camptix-invoices-css' );
+	}
+
+	/**
+	 * Register assets on admin side
+	 */
+	public static function admin_enqueue_assets() {
+		wp_register_script( 'admin-camptix-invoices', CTX_INV_ADMIN_URL . '/js/camptix-invoices-back.js', array( 'jquery' ), CTX_INV_VER, true );
+	}
+
+	/**
+	 * Attendee invoice information
+	 * (also check for missing invoice infos).
+	 *
+	 * @param array $attendee_info The attendee info.
+	 */
+	public static function attendee_info( $attendee_info ) {
+
+		// phpcs:disable WordPress.Security.NonceVerification.Missing
+		global $camptix;
+		if ( empty( $_POST['camptix-need-invoice'] ) ) {
+			return $attendee_info;
+		}//end if
+
+		if ( empty( $_POST['invoice-email'] )
+			|| empty( $_POST['invoice-name'] )
+			|| empty( $_POST['invoice-address'] )
+			|| ! is_email( wp_unslash( $_POST['invoice-email'] ) ) ) {
+
+			$camptix->error_flag( 'nope' );
+
+		} else {
+
+			$attendee_info['invoice-email']   = sanitize_email( wp_unslash( $_POST['invoice-email'] ) );
+			$attendee_info['invoice-name']    = sanitize_text_field( wp_unslash( $_POST['invoice-name'] ) );
+			$attendee_info['invoice-address'] = sanitize_textarea_field( wp_unslash( $_POST['invoice-address'] ) );
+
+			$opt = get_option( 'camptix_options' );
+
+			if ( ! empty( $opt['invoice-vat-number'] ) ) {
+				$attendee_info['invoice-vat-number'] = sanitize_text_field( wp_unslash( $_POST['invoice-vat-number'] ) );
+			}//end if
+		}//end if
+
+		// phpcs:enable
+		return $attendee_info;
+	}
+
+	/**
+	 * Define custom attributes for an attendee object.
+	 *
+	 * @param object $attendee      The attendee.
+	 * @param array  $attendee_info The attendee info.
+	 */
+	public static function attendee_object( $attendee, $attendee_info ) {
+		if ( ! empty( $attendee_info['invoice-email'] ) ) {
+			$attendee->invoice = array(
+				'email'   => $attendee_info['invoice-email'],
+				'name'    => $attendee_info['invoice-name'],
+				'address' => $attendee_info['invoice-address'],
+			);
+
+			$opt = get_option( 'camptix_options' );
+			if ( ! empty( $opt['invoice-vat-number'] ) ) {
+				$attendee->invoice['vat-number'] = $attendee_info['invoice-vat-number'];
+			}//end if
+		}//end if
+		return $attendee;
+	}
+
+	/**
+	 * Add Invoice meta on an attendee post.
+	 *
+	 * @param int    $post_id  The post ID.
+	 * @param object $attendee The attendee.
+	 */
+	public static function add_meta_invoice_on_attendee( $post_id, $attendee ) {
+
+		if ( ! empty( $attendee->invoice ) ) {
+			update_post_meta( $post_id, 'invoice_metas', $attendee->invoice );
+			global $camptix;
+			$camptix->log( __( 'This attendee requested an invoice.', 'wordcamporg' ), $post_id, $attendee->invoice );
+		}//end if
+	}
+
+	/**
+	 * My custom errors flags.
+	 */
+	public static function error_flag() {
+
+		global $camptix;
+		/**
+		 * Hack
+		 */
+		$rp = new ReflectionProperty( 'CampTix_Plugin', 'error_flags' );
+		$rp->setAccessible( true );
+		$error_flags = $rp->getValue( $camptix );
+		if ( ! empty( $error_flags['nope'] ) ) {
+			$camptix->error( __( 'As you have requested an invoice, please fill in the required fields.', 'wordcamporg' ) );
+		}//end if
+	}
+
+	/**
+	 * Display invoice meta on attendee admin page.
+	 *
+	 * @param array  $rows The rows.
+	 * @param object $post The post.
+	 */
+	public static function add_invoice_meta_on_attendee_metabox( $rows, $post ) {
+		$invoice_meta = get_post_meta( $post->ID, 'invoice_metas', true );
+		if ( ! empty( $invoice_meta ) ) {
+			$rows[] = array( __( 'Requested an invoice', 'wordcamporg' ), __( 'Yes', 'wordcamporg' ) );
+			$rows[] = array( __( 'Invoice recipient', 'wordcamporg' ), $invoice_meta['name'] );
+			$rows[] = array( __( 'Invoice to be sent to', 'wordcamporg' ), $invoice_meta['email'] );
+			$rows[] = array( __( 'Customer address', 'wordcamporg' ), $invoice_meta['address'] );
+
+			$opt = get_option( 'camptix_options' );
+			if ( ! empty( $opt['invoice-vat-number'] ) ) {
+				$rows[] = array( __( 'VAT number', 'wordcamporg' ), $invoice_meta['vat-number'] );
+			}//end if
+		} else {
+			$rows[] = array( __( 'Requested an invoice', 'wordcamporg' ), __( 'No', 'wordcamporg' ) );
+		}//end if
+		return $rows;
+	}
+}
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/index.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/index.php
new file mode 100644
index 000000000..8142269b1
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/index.php
@@ -0,0 +1 @@
+<?php // Silence is golden
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/date-format-field.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/date-format-field.php
new file mode 100644
index 000000000..5c6fad87f
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/date-format-field.php
@@ -0,0 +1,18 @@
+<?php
+
+defined( 'WPINC' ) || die();
+
+/** @var string $id */
+/** @var string $value */
+/** @var string $description */
+
+?>
+
+<input type="text" value="<?php echo esc_attr( $value ); ?>" name="camptix_options[<?php echo esc_html( $id ); ?>]">
+<p class="description">
+	<?php echo esc_html( $description ); ?>
+	<br />
+	<a href="<?php esc_attr__( 'https://codex.wordpress.org/Formatting_Date_and_Time', 'wordcamporg' ); ?>">
+		<?php echo esc_html__( 'Documentation on date and time formatting', 'wordcamporg' ); ?>
+	</a>
+</p>
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/editable-invoice-metabox.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/editable-invoice-metabox.php
new file mode 100644
index 000000000..40db898e9
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/editable-invoice-metabox.php
@@ -0,0 +1,126 @@
+<?php
+
+defined( 'WPINC' ) || die();
+
+/** @var array $order */
+/** @var array $metas */
+/** @var string $invoice_vat_number */
+
+?>
+
+<h3><?php echo esc_html__( 'Order details', 'wordcamporg' ); ?></h3>
+
+<table class="widefat">
+	<thead>
+		<tr>
+			<th><?php echo esc_html__( 'Title', 'wordcamporg' ); ?></th>
+			<th><?php echo esc_html__( 'Unit price', 'wordcamporg' ); ?></th>
+			<th><?php echo esc_html__( 'Quantity', 'wordcamporg' ); ?></th>
+		</tr>
+	</thead>
+
+	<tbody>
+
+	<?php foreach ( $order['items'] as $k => $item ) : ?>
+
+		<tr>
+			<td>
+				<input type="text" value="<?php echo esc_html( $item['name'] ); ?>" name="order[items][<?php echo esc_attr( $k ); ?>][name]" class="widefat">
+			</td><!-- name -->
+			<td>
+				<input type="number" min="0" step="0.01" value="<?php echo esc_attr( number_format_i18n( $item['price'], 2 ) ); ?>" name="order[items][<?php echo esc_attr( $k ); ?>][price]" class="widefat">
+			</td><!-- price -->
+			<td>
+				<input type="number" min="0" value="<?php echo esc_attr( number_format_i18n( $item['quantity'] ) ); ?>" name="order[items][<?php echo esc_attr( $k ); ?>][quantity]" class="widefat">
+			</td><!-- qty -->
+		</tr>
+
+	<?php endforeach; ?>
+
+		<tr>
+			<td><input type="text" value="" name="order[items][<?php echo esc_attr( count( $order['items'] ) + 1 ); ?>][name]" class="widefat"></td><!-- name -->
+			<td><input type="number" min="0" step="0.01" value="<?php echo esc_attr( number_format_i18n( 0, 2 ) ); ?>" name="order[items][<?php echo esc_attr( count( $order['items'] ) + 1 ); ?>][price]" class="widefat"></td><!-- price -->
+			<td><input type="number" min="0" value="" name="order[items][<?php echo esc_attr( count( $order['items'] ) + 1 ); ?>][quantity]" class="widefat"></td><!-- qty -->
+		</tr>
+
+	</tbody>
+</table>
+
+<table class="form-table">
+	<tr>
+		<th scope="row">
+			<label for="order[total]"><?php echo esc_html__( 'Total amount', 'wordcamporg' ); ?></label>
+		</th>
+		<td>
+			<input
+				type="number"
+				min="0"
+				step="0.01"
+				value="<?php echo esc_attr( number_format_i18n( empty( $order['total'] ) ? '0' : $order['total'], 2 ) ); ?>"
+				name="order[total]"
+				id="order[total]"
+			/>
+		</td>
+	</tr>
+	<tr>
+		<th scope="row">
+			<label for="invoice_metas[name]"><?php echo esc_html__( 'Customer', 'wordcamporg' ); ?> •</label>
+		</th>
+		<td>
+			<input
+				required
+				name="invoice_metas[name]"
+				id="invoice_metas[name]"
+				value="<?php echo esc_attr( empty( $metas['name'] ) ? '' : $metas['name'] ); ?>"
+				type="text"
+				class="widefat"
+			/>
+		<td>
+	</tr>
+	<tr>
+		<th scope="row">
+			<label for="invoice_metas[email]"><?php echo esc_html__( 'Contact email', 'wordcamporg' ); ?></label>
+		</th>
+		<td>
+			<input
+				name="invoice_metas[email]"
+				id="invoice_metas[email]"
+				value="<?php echo esc_attr( empty( $metas['email'] ) ? '' : $metas['email'] ); ?>"
+				type="email"
+				class="widefat"
+			/>
+		<td>
+	</tr>
+	<tr>
+		<th scope="row">
+			<label for="invoice_metas[address]"><?php echo esc_html__( 'Customer Address', 'wordcamporg' ); ?> •</label>
+		</th>
+		<td>
+			<textarea
+				required
+				name="invoice_metas[address]"
+				id="invoice_metas[address]"
+				class="widefat"
+			><?php
+				echo esc_textarea( empty( $metas['address'] ) ? '' : $metas['address'] );
+			?></textarea>
+		<td>
+	</tr>
+
+	<?php if ( ! empty( $invoice_vat_number ) ) : ?>
+		<tr>
+			<th scope="row">
+				<label for="invoice_metas[vat-number]"><?php echo esc_html__( 'VAT number', 'wordcamporg' ); ?></label>
+			</th>
+			<td>
+				<input
+					name="invoice_metas[vat-number]"
+					id="invoice_metas[vat-number]"
+					value="<?php echo esc_textarea( empty( $metas['vat-number'] ) ? '' : $metas['vat-number'] ); ?>"
+					type="text"
+					class="widefat"
+				/>
+			<td>
+		</tr>
+	<?php endif; ?>
+</table>
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-download-button.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-download-button.php
new file mode 100644
index 000000000..2a22991d7
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-download-button.php
@@ -0,0 +1,23 @@
+<?php
+
+defined( 'WPINC' ) || die();
+
+/** @var string $invoice_number */
+/** @var string $invoice_url */
+
+?>
+
+<div class="misc-pub-section">
+	<p>
+		<?php echo esc_html__( 'Invoice number', 'wordcamporg' ); ?> <strong><?php echo esc_html( $invoice_number ); ?></strong>
+	</p>
+	<?php if ( ! empty( $invoice_url ) ) { ?>
+		<a
+			href="<?php echo esc_attr( $invoice_url ); ?>"
+			class="button button-secondary"
+			target="_blank"
+		>
+			<?php echo esc_html__( 'Download invoice', 'wordcamporg' ); ?>
+		</a>
+	<?php } ?>
+</div>
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-form.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-form.php
new file mode 100644
index 000000000..e19aedd5a
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-form.php
@@ -0,0 +1,67 @@
+<?php
+
+defined( 'WPINC' ) || die();
+
+/** @var string $invoice_vat_number */
+
+?>
+
+<div class="camptix-invoice-toggle-wrapper">
+
+	<input type="checkbox" value="1" name="camptix-need-invoice" id="camptix-need-invoice"/>
+	<label for="camptix-need-invoice">
+		<?php echo esc_html__( 'I need an invoice', 'wordcamporg' ); ?>
+	</label>
+
+	<table class="camptix-invoice-details tix_tickets_table tix_invoice_table">
+		<tbody>
+
+			<tr>
+				<td class="tix-left">
+					<label for="invoice-email">
+						<?php echo esc_html__( 'Recipient email', 'wordcamporg' ); ?><span class="tix-required-star">*</span>
+					</label>
+				</td>
+				<td class="tix-right">
+					<input type="text" name="invoice-email" id="invoice-email" pattern="^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$" />
+				</td>
+			</tr>
+
+			<tr>
+				<td class="tix-left">
+					<label for="invoice-name">
+						<?php echo esc_html__( 'Recipient name or organisation', 'wordcamporg' ); ?><span class="tix-required-star">*</span>
+					</label>
+				</td>
+				<td class="tix-right">
+					<input type="text" name="invoice-name" id="invoice-name" />
+				</td>
+			</tr>
+
+			<tr>
+				<td class="tix-left">
+					<label for="invoice-address">
+						<?php echo esc_html__( 'Recipient street address', 'wordcamporg' ); ?><span class="tix-required-star">*</span>
+					</label>
+				</td>
+				<td class="tix-right">
+					<textarea name="invoice-address" id="invoice-address" rows="2"></textarea>
+				</td>
+			</tr>
+
+			<?php if ( ! empty( $invoice_vat_number ) ) : ?>
+				<tr>
+					<td class="tix-left">
+						<label for="invoice-vat-number">
+							<?php echo esc_html__( 'VAT number', 'wordcamporg' ); ?><span class="tix-required-star">*</span>
+						</label>
+					</td>
+					<td class="tix-right">
+						<input type="text" name="invoice-vat-number" id="invoice-vat-number" />
+					</td>
+				</tr>
+			<?php endif; ?>
+
+		</tbody>
+	</table>
+</div>
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-template.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-template.php
new file mode 100644
index 000000000..e978ccc70
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/invoice-template.php
@@ -0,0 +1,214 @@
+<?php
+
+defined('WPINC') || die();
+
+/**
+ * @var array $camptix_opts
+ * @var string $invoice_number
+ * @var string $invoice_date
+ * @var array $invoice_metas
+ * @var array $invoice_order
+ * @var string $logo
+ */
+
+?>
+
+<html>
+<head>
+	<meta charset="UTF-8">
+	<link href="http://fonts.googleapis.com/css?family=Open+Sans:300,600,700" rel="stylesheet" type="text/css"/>
+	<style type="text/css">
+		#camptix-invoice-page {
+			margin: 5em;
+			font-family: 'Open Sans', sans-serif;
+			font-size: 14px;
+			font-weight: 300;
+			color: #222;
+		}
+
+		#camptix-invoice-page strong {
+			font-weight: 700;
+		}
+
+		#camptix-invoice-page p {
+			padding: 0;
+			margin: 0;
+			line-height: 1em;
+		}
+
+		#camptix-invoice-page .text-left {
+			text-align: left;
+		}
+
+		#camptix-invoice-page .text-center {
+			text-align: center;
+		}
+
+		#camptix-invoice-page .text-right {
+			text-align: right;
+		}
+
+		#camptix-invoice-page .camptix-invoice-logo-holder {
+			display: block;
+			margin: 3em 0;
+			padding-top: 3em;
+		}
+
+		#camptix-invoice-page .camptix-invoice-logo-holder img {
+			max-width: 50%;
+		}
+
+		#camptix-invoice-page .camptix-inovice-header {
+			padding-bottom: 1em;
+			overflow: hidden;
+			border-bottom: 1px solid #999;
+		}
+
+		#camptix-invoice-page .camptix-inovice-header .camptix-invoice-from-box {
+			width: 48%;
+			float: left;
+		}
+
+		#camptix-invoice-page .camptix-inovice-header .camptix-invoice-to-box {
+			width: 48%;
+			float: right;
+		}
+
+		#camptix-invoice-page .camptix-inovice-header .camptix-invoice-from-box p,
+		#camptix-invoice-page .camptix-inovice-header .camptix-invoice-to-box p {
+			line-height: 2em;
+		}
+
+		#camptix-invoice-page .camptix-inovice-header .camptix-invoice-to-box p {
+			margin-bottom: 2em;
+		}
+
+		#camptix-invoice-page .camptix-invoice-data {
+			padding: 2.5em 0;
+		}
+
+		#camptix-invoice-page .camptix-invoice-data p {
+			line-height: 1.5em;
+		}
+
+		#camptix-invoice-page .camptix-invoice-order table,
+		#camptix-invoice-page .camptix-invoice-order th,
+		#camptix-invoice-page .camptix-invoice-order td {
+			border: 1px solid #999;
+		}
+
+		#camptix-invoice-page .camptix-invoice-order th,
+		#camptix-invoice-page .camptix-invoice-order td {
+			line-height: 2.5em;
+			padding: 0 0.5em;
+		}
+
+		#camptix-invoice-page .camptix-invoice-order table {
+			width: 100%;
+			border-collapse: collapse;
+		}
+
+		#camptix-invoice-page .camptix-invoice-order th {
+			background: #BBBBBB;
+		}
+
+		#camptix-invoice-page .camptix-invoice-payment-status {
+			padding: 3em 0;
+		}
+
+		#camptix-invoice-page .camptix-invoice-payment-status p {
+			font-weight: 700;
+		}
+
+	</style>
+</head>
+<body>
+<div id="camptix-invoice-page">
+	<div class="camptix-invoice-logo-holder">
+		<img src="<?php echo esc_url($logo); ?>">
+	</div>
+	<div class="camptix-inovice-header">
+		<div class="camptix-invoice-from-box text-left">
+			<strong><?php esc_html_e( 'From', 'wordcamporg' ); ?>:</strong>
+			<p class="text-left">
+				<?php echo nl2br( esc_html( $camptix_opts['invoice-company'] ) ); ?>
+			</p>
+		</div>
+		<div class="camptix-invoice-to-box text-right">
+			<strong><?php esc_html_e('To', 'wordcamporg'); ?>:</strong>
+			<p class="text-right">
+				<?php echo esc_html( $invoice_metas['name'] ); ?><br/>
+				<?php echo esc_html( $invoice_metas['address'] ); ?><br/>
+			</p>
+			<?php if ( ! empty( $invoice_metas['vat-number'] ) ) { ?>
+				<strong><?php esc_html_e('VAT no', 'wordcamporg'); ?>:</strong>
+				<?php echo esc_html( $invoice_metas['vat-number'] ); ?>
+			<?php } ?>
+		</div>
+	</div>
+	<div class="camptix-invoice-data text-right">
+		<p class="text-right">
+			<strong><?php esc_html_e( 'Invoice no', 'wordcamporg' ); ?>:</strong>
+				<?php echo esc_html( $invoice_number ); ?>
+		</p>
+		<p class="text-right">
+			<strong><?php esc_html_e( 'Invoice Date', 'wordcamporg' ); ?>:</strong>
+				<?php echo esc_html( $invoice_date ); ?>
+		</p>
+	</div>
+	<div class="camptix-invoice-order">
+		<table>
+			<colgroup>
+				<col style="width: 48%"/>
+				<col style="width: 8%"/>
+				<col style="width: 22%"/>
+				<col style="width: 22%"/>
+			</colgroup>
+			<tr>
+				<th class="text-left"><?php echo esc_html( $camptix_opts['event_name'] ); ?></th>
+				<th class="text-center"><?php esc_html_e( 'Qty', 'wordcamporg' ); ?></th>
+				<th class="text-right"><?php esc_html_e( 'Unit Price', 'wordcamporg' ); ?></th>
+				<th class="text-right"><?php esc_html_e( 'Total Price', 'wordcamporg'); ?></th>
+			</tr>
+				<?php foreach ( $invoice_order['items'] as $item ) : ?>
+					<tr>
+						<td class="text-left"><?php echo esc_html( $item['name'] ); ?></td>
+						<td class="text-center"><?php echo esc_html( $item['quantity'] ); ?></td>
+						<td class="text-right">
+							<?php echo esc_html( CampTix_Addon_Invoices::format_currency( $item['price'], $camptix_opts['currency'] ) ); ?>
+						</td>
+
+						<td class="text-right">
+							<?php echo esc_html( CampTix_Addon_Invoices::format_currency( $item['price'] * $item['quantity'], $camptix_opts['currency'] ) ); ?>
+						</td>
+					</tr>
+				<?php endforeach ?>
+			<tr>
+				<td class="text-right"><?php esc_html_e('VAT', 'wordcamporg'); ?></td>
+				<td></td>
+				<td></td>
+				<td class="text-right">
+					<?php echo esc_html( CampTix_Addon_Invoices::format_currency( 0, $camptix_opts['currency'] ) ); ?>
+				</td>
+			</tr>
+			<tr>
+				<td class="text-right"><?php esc_html_e( 'TOTAL', 'wordcamporg' ); ?></td>
+				<td></td>
+				<td></td>
+				<td class="text-right">
+					<?php echo esc_html( CampTix_Addon_Invoices::format_currency( $invoice_order['total'], $camptix_opts['currency'] ) ); ?>
+				</td>
+			</tr>
+		</table>
+	</div>
+	<div class="camptix-invoice-payment-status">
+		<p>
+			<?php esc_html_e( 'Paid in full.', 'wordcamporg' ); ?>
+		</p>
+	</div>
+	<div class="camptix-invoice-note">
+		<?php echo nl2br( esc_html( $camptix_opts['invoice-thankyou'] ) ); ?>
+	</div>
+</div>
+</body>
+</html>
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/logo-field.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/logo-field.php
new file mode 100644
index 000000000..a1a5107be
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/logo-field.php
@@ -0,0 +1,34 @@
+<?php
+
+defined( 'WPINC' ) || die();
+
+/** @var string $id */
+/** @var string $value */
+
+?>
+
+<div class="camptix-media">
+	<div class="camptix-invoice-logo-preview-wrapper" data-imagewrapper>
+		<?php
+		if ( ! empty( $value ) ) {
+			$attachment = wp_get_attachment_image_src( $value, 'full' );
+			printf( '<img src="%s" style="max-width:250px;max-height:200px;">', esc_url( $attachment[0] ) );
+		}
+		?>
+	</div>
+
+	<input data-set type="button" class="button button-secondary" value="<?php echo esc_attr__( 'Pick a logo', 'wordcamporg' ); ?>" />
+	<input
+		data-unset
+		type="button"
+		class="button button-secondary"
+		value="<?php echo esc_attr__( 'Remove logo', 'wordcamporg' ); ?>"
+		<?php
+		if ( empty( $value ) ) {
+			echo 'style="display:none;"';
+		}
+		?>
+	/>
+	<input type="hidden" name=camptix_options[<?php echo esc_attr( $id ); ?>] data-field="image_attachment" value="<?php echo esc_attr( $value ); ?>">
+	<p class="description"><?php echo esc_html__( 'Expected image size: 250px width, 200px height', 'wordcamporg' ); ?></p>
+</div>
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/sent-invoice-metabox.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/sent-invoice-metabox.php
new file mode 100644
index 000000000..4e53032eb
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/includes/views/sent-invoice-metabox.php
@@ -0,0 +1,66 @@
+<?php
+
+defined( 'WPINC' ) || die();
+
+/** @var array $order */
+/** @var array $metas */
+/** @var string $invoice_vat_number */
+/** @var int $txn_id */
+
+?>
+
+<h3><?php echo esc_html__( 'Order details', 'wordcamporg' ); ?></h3>
+
+<table class="widefat">
+	<thead>
+		<tr>
+			<th><?php echo esc_html__( 'Title', 'wordcamporg' ); ?></th>
+			<th><?php echo esc_html__( 'Unit price', 'wordcamporg' ); ?></th>
+			<th><?php echo esc_html__( 'Quantity', 'wordcamporg' ); ?></th>
+		</tr>
+	</thead>
+
+	<tbody>
+
+	<?php foreach ( $order['items'] as $k => $item ) : ?>
+
+		<tr>
+			<td><?php echo esc_html( $item['name'] ); ?></td><!-- name -->
+			<td><?php echo esc_html( number_format_i18n( $item['price'], 2 ) ); ?></td><!-- price -->
+			<td><?php echo esc_html( number_format_i18n( $item['quantity'] ) ); ?></td><!-- qty -->
+		</tr>
+
+	<?php endforeach; ?>
+
+	</tbody>
+</table>
+
+<table class="form-table">
+	<tr>
+		<th scope="row"><?php echo esc_html__( 'Total amount', 'wordcamporg' ); ?></th>
+		<td><?php echo esc_html( number_format_i18n( $order['total'], 2 ) ); ?></td>
+	</tr>
+	<tr>
+		<th scope="row"><?php echo esc_html__( 'Customer', 'wordcamporg' ); ?></th>
+		<td><?php echo esc_html( $metas['name'] ); ?><td>
+	</tr>
+	<tr>
+		<th scope="row"><?php echo esc_html__( 'Contact email', 'wordcamporg' ); ?></th>
+		<td><?php echo esc_html( $metas['email'] ); ?><td>
+	</tr>
+	<tr>
+		<th scope="row"><?php echo esc_html__( 'Customer Address', 'wordcamporg' ); ?></th>
+		<td><?php echo wp_kses( nl2br( $metas['address'] ), array( 'br' => true ) ); ?><td>
+	</tr>
+	<tr>
+		<th scope="row"><?php echo esc_html__( 'Transaction ID', 'wordcamporg' ); ?></th>
+		<td><?php echo esc_html( $txn_id ); ?><td>
+	</tr>
+
+	<?php if ( ! empty( $invoice_vat_number ) ) : ?>
+		<tr>
+			<th scope="row"><?php echo esc_html__( 'VAT number', 'wordcamporg' ); ?></th>
+			<td><?php echo esc_html( $metas['vat-number'] ); ?><td>
+		</tr>
+	<?php endif; ?>
+</table>
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/index.php wordcamp.org/public_html/wp-content/plugins/camptix-invoices/index.php
new file mode 100755
index 000000000..8142269b1
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/index.php
@@ -0,0 +1 @@
+<?php // Silence is golden
diff --git wordcamp.org/public_html/wp-content/plugins/camptix-invoices/readme.txt wordcamp.org/public_html/wp-content/plugins/camptix-invoices/readme.txt
new file mode 100644
index 000000000..3152dd4f0
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/camptix-invoices/readme.txt
@@ -0,0 +1,59 @@
+=== Camptix Invoices ===
+Contributors: willybahuaud, simonjanin, iceable, avillegasn, tfrommen, nem-c
+Tags: camptix, invoice, event, organizer, tickets, notes
+Requires at least: 3.0.1
+Tested up to: 5.0.3
+Requires PHP: 5.4
+Stable tag: 1.0.0
+License: GPLv2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Text Domain: invoices-camptix
+
+Allow CampTix administrators to send invoices automatically when an attendee buys a ticket.
+
+== Description ==
+
+Allow CampTix administrators to send invoices automatically when an attendee buys a ticket.
+
+This plugin requires the installation of [Camptix Event Ticketing plugin](https://wordpress.org/plugins/camptix/).
+
+This plugin requires the WordCamp Docs plugin present in every WordCamp site.
+Alternatively, make sure you include the [WordCamp_Docs_PDF_Generator](https://meta.trac.wordpress.org/browser/sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-docs/classes/class-wordcamp-docs-pdf-generator.php).
+
+Your server must have [wkhtmltopdf](https://wkhtmltopdf.org/) installed.
+
+
+== Installation ==
+
+1. Install and configure CampTix plugin
+1. Download and activate CampTix Invoice through the 'Plugins' menu in WordPress
+1. Go to CampTix settings to define Event information (organiser name, logo, invoice name)
+
+
+== Frequently Asked Questions ==
+
+= Can I add a custom invoice? =
+
+Yes, you can create your own invoice (using the CampTix > Invoices submenu ).
+Be warned that you can't edit or delete a published invoice, so… save it as draft before every items/information are ok!
+
+= How can I customize Invoices template? =
+
+You can drop a copy of file `includes/views/invoice-template.php` into your theme folder and name it `invoice-template.php`.
+Then modify the HTML layout and styles as you want.
+
+== Changelog ==
+
+= 1.0.2 (March 2019)
+* **Improvement**. Use the PDF library already present in the WordCamp.org codebase
+
+= 1.0.1 (January 14, 2019) =
+* **Improvement**. Added an option in CampTix setting to enable invoicing
+* **Improvement**. Added a setting for the date format used on the invoices
+* **Improvement**. Modified invoice template to mimic WCEU 2019 styles
+* **Improvement**. Added a "VAT Number" field to the invoice request form
+* **Bug fix**. Users now can request an invoice if permalinks are set to "plain"
+* Several other improvements and bug fixes
+
+= 1.0.0 =
+* Initial release!
diff --git wordcamp.org/public_html/wp-content/plugins/multi-event-sponsors/classes/mes-sponsor.php wordcamp.org/public_html/wp-content/plugins/multi-event-sponsors/classes/mes-sponsor.php
index 9ecf5ad84..a830296b1 100644
--- wordcamp.org/public_html/wp-content/plugins/multi-event-sponsors/classes/mes-sponsor.php
+++ wordcamp.org/public_html/wp-content/plugins/multi-event-sponsors/classes/mes-sponsor.php
@@ -214,8 +214,6 @@ class MES_Sponsor {
 		if ( isset( $new_values[ 'mes_regional_sponsorships' ] ) ) {
 			array_walk( $new_values[ 'mes_regional_sponsorships' ], 'absint' );
 			update_post_meta( $post_id, 'mes_regional_sponsorships', $new_values[ 'mes_regional_sponsorships' ] );
-		} else {
-			delete_post_meta( $post_id, 'mes_regional_sponsorships' );
 		}
 
 		if ( isset( $new_values["mes_email_address"] ) ) {
@@ -230,16 +228,12 @@ class MES_Sponsor {
 		foreach ( $text_fields as $field ) {
 			if ( isset( $new_values["mes_$field"] ) ) {
 				update_post_meta( $post_id, "mes_$field", sanitize_text_field( $new_values["mes_$field"] ) );
-			} else {
-				delete_post_meta( $post_id, "mes_$field" );
 			}
 		}
 
 		$sponsor_agreement = filter_input( INPUT_POST, '_wcpt_sponsor_agreement', FILTER_SANITIZE_NUMBER_INT );
 		if ( $sponsor_agreement ) {
 			update_post_meta( $post_id, 'mes_sponsor_agreement', $sponsor_agreement );
-		} else {
-			delete_post_meta( $post_id, 'mes_sponsor_agreement' );
 		}
 	}
 
diff --git wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php
index c6fbbf5b3..341fbfdf5 100644
--- wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php
+++ wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php
@@ -64,59 +64,49 @@ add_action( 'init', __NAMESPACE__ . '\expose_public_post_meta' );
  */
 function register_additional_rest_fields() {
 	/**
-	 * Speaker avatars.
+	 * Speaker/organizer avatars.
 	 *
 	 * We can't expose a Speaker's e-mail address in the API response, but can we go ahead
 	 * and derive their Gravatar URL and expose that instead.
 	 */
-	if ( get_option( 'show_avatars' ) ) {
-		$avatar_properties = array();
-		$avatar_sizes      = rest_get_avatar_sizes();
-
-		foreach ( $avatar_sizes as $size ) {
-			$avatar_properties[ $size ] = array(
-				/* translators: %d: avatar image size in pixels */
-				'description' => sprintf( __( 'Avatar URL with image size of %d pixels.' ), $size ),
-				'type'        => 'string',
-				'format'      => 'uri',
-				'context'     => array( 'embed', 'view', 'edit' ),
-			);
-		}
+	$avatar_properties = array();
+	$avatar_sizes      = rest_get_avatar_sizes();
+
+	foreach ( $avatar_sizes as $size ) {
+		$avatar_properties[ $size ] = array(
+			/* translators: %d: avatar image size in pixels */
+			'description' => sprintf( __( 'Avatar URL with image size of %d pixels.' ), $size ),
+			'type'        => 'string',
+			'format'      => 'uri',
+			'context'     => array( 'embed', 'view', 'edit' ),
+		);
+	}
 
-		register_rest_field(
-			'wcb_speaker',
-			'avatar_urls',
-			array(
-				'get_callback' => function ( $speaker_post ) {
-					$speaker_post = (object) $speaker_post;
-					$avatar_urls  = [];
+	$avatar_schema = array(
+		'description' => __( 'Avatar URLs for the speaker.', 'wordcamporg' ),
+		'type'        => 'object',
+		'context'     => array( 'embed', 'view', 'edit' ),
+		'readonly'    => true,
+		'properties'  => $avatar_properties,
+	);
 
-					if ( $speaker_email = get_post_meta( $speaker_post->id, '_wcb_speaker_email', true ) ) {
-						$avatar_urls = rest_get_avatar_urls( $speaker_email );
-					} elseif ( $speaker_user_id = get_post_meta( $speaker_post->id, '_wcpt_user_id', true ) ) {
-						$speaker = get_user_by( 'id', $speaker_user_id );
+	register_rest_field(
+		'wcb_speaker',
+		'avatar_urls',
+		array(
+			'get_callback' => __NAMESPACE__ . '\get_avatar_urls_from_username_email',
+			'schema'       => $avatar_schema,
+		)
+	);
 
-						if ( $speaker ) {
-							$avatar_urls = rest_get_avatar_urls( $speaker->user_email );
-						}
-					}
-
-					if ( empty( $avatar_urls ) ) {
-						$avatar_urls = rest_get_avatar_urls( '' );
-					}
-
-					return $avatar_urls;
-				},
-				'schema'       => array(
-					'description' => __( 'Avatar URLs for the speaker.', 'wordcamporg' ),
-					'type'        => 'object',
-					'context'     => array( 'embed', 'view', 'edit' ),
-					'readonly'    => true,
-					'properties'  => $avatar_properties,
-				),
-			)
-		);
-	} // End if().
+	register_rest_field(
+		'wcb_organizer',
+		'avatar_urls',
+		array(
+			'get_callback' => __NAMESPACE__ . '\get_avatar_urls_from_username_email',
+			'schema'       => $avatar_schema,
+		)
+	);
 
 	/**
 	 * Session date and time
@@ -143,25 +133,51 @@ function register_additional_rest_fields() {
 			'schema'       => [
 				'description' => __( 'Date and time of the session', 'wordcamporg' ),
 				'type'        => 'object',
-				'context'     => array( 'embed', 'view' ),
+				'context'     => array( 'embed', 'view', 'edit' ),
 				'readonly'    => true,
 				'properties'  => [
 					'date' => [
 						'type'    => 'string',
-						'context' => array( 'embed', 'view' ),
 					],
 					'time' => [
 						'type'    => 'string',
-						'context' => array( 'embed', 'view' ),
 					],
 				],
 			],
 		]
 	);
 }
+add_action( 'rest_api_init', __NAMESPACE__ . '\register_additional_rest_fields' );
+
+/**
+ * Get the URLs for an avatar based on an email address or username.
+ *
+ * @param array $post
+ *
+ * @return array
+ */
+function get_avatar_urls_from_username_email( $post ) {
+	$post        = (object) $post;
+	$avatar_urls = [];
+	$email       = get_post_meta( $post->id, '_wcb_speaker_email', true );
+	$user_id     = get_post_meta( $post->id, '_wcpt_user_id', true );
+
+	if ( $email ) {
+		$avatar_urls = rest_get_avatar_urls( $email );
+	} elseif ( $user_id ) {
+		$user = get_user_by( 'id', $user_id );
+
+		if ( $user ) {
+			$avatar_urls = rest_get_avatar_urls( $user->user_email );
+		}
+	}
 
+	if ( empty( $avatar_urls ) ) {
+		$avatar_urls = rest_get_avatar_urls( '' );
+	}
 
-add_action( 'rest_api_init', __NAMESPACE__ . '\register_additional_rest_fields' );
+	return $avatar_urls;
+}
 
 
 /**
@@ -173,8 +189,8 @@ add_action( 'rest_api_init', __NAMESPACE__ . '\register_additional_rest_fields'
  */
 function register_fav_sessions_email() {
 	register_rest_route(
-		'wc-post-types/v1',     // REST namespace + API version
-		'/email-fav-sessions/', // URL slug
+		'wc-post-types/v1',
+		'/email-fav-sessions/',
 		array(
 			'methods'  => WP_REST_Server::CREATABLE,
 			'callback' => 'send_favourite_sessions_email',
diff --git wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php
index fcf9bd69f..b6100cd0d 100644
--- wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php
+++ wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php
@@ -22,7 +22,8 @@ class WCB_Widget_Sponsors extends WP_Widget {
 		global $wcpt_plugin;
 
 		extract( $args );
-		$title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
+		$title = ( isset( $instance['title'] ) ) ? $instance['title'] : '';
+		$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
 
 		echo $before_widget;
 
@@ -128,6 +129,7 @@ class WCPT_Widget_Speakers extends WP_Widget {
 		global $wcpt_plugin;
 
 		$transient_key     = 'wcpt-' . md5( $args['widget_id'] );
+		$instance['title'] = ( isset( $instance['title'] ) ) ? $instance['title'] : '';
 		$instance['title'] = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
 
 		echo $args['before_widget'];
@@ -242,6 +244,7 @@ class WCPT_Widget_Sessions extends WP_Widget {
 		global $wcpt_plugin;
 
 		$transient_key     = 'wcpt-' . md5( $args['widget_id'] );
+		$instance['title'] = ( isset( $instance['title'] ) ) ? $instance['title'] : '';
 		$instance['title'] = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
 
 		echo $args['before_widget'];
@@ -360,6 +363,7 @@ class WCPT_Widget_Organizers extends WP_Widget {
 		global $wcpt_plugin;
 
 		$transient_key     = 'wcpt-' . md5( $args['widget_id'] );
+		$instance['title'] = ( isset( $instance['title'] ) ) ? $instance['title'] : '';
 		$instance['title'] = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
 
 		echo $args['before_widget'];
diff --git wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php
index 65b27a1eb..221d81001 100644
--- wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php
+++ wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php
@@ -14,7 +14,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Fired when plugin file is loaded.
 	 */
-	function __construct() {
+	public function __construct() {
 		$this->wcpt_permalinks = array();
 
 		add_action( 'init', array( $this, 'register_post_types' ) );
@@ -68,29 +68,49 @@ class WordCamp_Post_Types_Plugin {
 		add_action( 'init', array( $this, 'rest_init' ), 9 );
 	}
 
-	function init() {
+	/**
+	 * Run and setup hooks for wc_post_types.
+	 */
+	public function init() {
 		do_action( 'wcpt_back_compat_init' );
+
+		if ( is_user_logged_in() ) {
+			register_setting(
+				'wcb_sponsor_options',
+				'wcb_sponsor_level_order',
+				array(
+					'sanitize_callback' => array( $this, 'validate_sponsor_options' ),
+					'show_in_rest' => array(
+						'schema' => array(
+							'type' => 'array',
+							'items' => array(
+								'type' => 'integer',
+							),
+						),
+					),
+				)
+			);
+		}
 	}
 
 	/**
 	 * Runs during admin_init.
 	 */
-	function admin_init() {
-		register_setting( 'wcb_sponsor_options', 'wcb_sponsor_level_order', array( $this, 'validate_sponsor_options' ) );
+	public function admin_init() {
 		add_action( 'pre_get_posts', array( $this, 'admin_pre_get_posts' ) );
 	}
 
 	/**
 	 * Runs during init, because rest_api_init is too late.
 	 */
-	function rest_init() {
+	public function rest_init() {
 		require_once( 'inc/rest-api.php' );
 	}
 
 	/**
 	 * Runs during admin_menu
 	 */
-	function admin_menu() {
+	public function admin_menu() {
 		$page = add_submenu_page( 'edit.php?post_type=wcb_sponsor', __( 'Order Sponsor Levels', 'wordcamporg' ), __( 'Order Sponsor Levels', 'wordcamporg' ), 'edit_posts', 'sponsor_levels', array( $this, 'render_order_sponsor_levels' ) );
 
 		add_action( "admin_print_scripts-$page", array( $this, 'enqueue_order_sponsor_levels_scripts' ) );
@@ -99,14 +119,14 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Add custom image sizes
 	 */
-	function add_image_sizes() {
+	public function add_image_sizes() {
 		add_image_size( 'wcb-sponsor-logo-horizontal-2x', 600, 220, false );
 	}
 
 	/**
 	 * Enqueues scripts and styles for the render_order_sponsors_level admin page.
 	 */
-	function enqueue_order_sponsor_levels_scripts() {
+	public function enqueue_order_sponsor_levels_scripts() {
 		wp_enqueue_script( 'wcb-sponsor-order', plugins_url( '/js/order-sponsor-levels.js', __FILE__ ), array( 'jquery-ui-sortable' ), '20110212' );
 		wp_enqueue_style( 'wcb-sponsor-order', plugins_url( '/css/order-sponsor-levels.css', __FILE__ ), array(), '20110212' );
 	}
@@ -114,7 +134,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Renders the Order Sponsor Levels admin page.
 	 */
-	function render_order_sponsor_levels() {
+	public function render_order_sponsor_levels() {
 		if ( ! isset( $_REQUEST['updated'] ) ) {
 			$_REQUEST['updated'] = false;
 		}
@@ -122,17 +142,16 @@ class WordCamp_Post_Types_Plugin {
 		$levels = $this->get_sponsor_levels();
 		?>
 		<div class="wrap">
-			<?php screen_icon(); ?>
-			<h1><?php _e( 'Order Sponsor Levels', 'wordcamporg' ); ?></h1>
+			<h1><?php esc_html_e( 'Order Sponsor Levels', 'wordcamporg' ); ?></h1>
 
 			<?php if ( false !== $_REQUEST['updated'] ) : ?>
-				<div class="updated fade"><p><strong><?php _e( 'Options saved', 'wordcamporg' ); ?></strong></p></div>
+				<div class="updated fade"><p><strong><?php esc_html_e( 'Options saved', 'wordcamporg' ); ?></strong></p></div>
 			<?php endif; ?>
 
 			<form method="post" action="options.php">
 				<?php settings_fields( 'wcb_sponsor_options' ); ?>
 				<div class="description sponsor-order-instructions">
-					<?php _e( 'Change the order of sponsor levels are displayed in the sponsors page template.', 'wordcamporg' ); ?>
+					<?php esc_html_e( 'Change the order of sponsor levels are displayed in the sponsors page template.', 'wordcamporg' ); ?>
 				</div>
 				<ul class="sponsor-order">
 				<?php foreach ( $levels as $term ) : ?>
@@ -143,7 +162,7 @@ class WordCamp_Post_Types_Plugin {
 				<?php endforeach; ?>
 				</ul>
 				<p class="submit">
-					<input type="submit" class="button-primary" value="<?php _e( 'Save Options', 'wordcamporg' ); ?>" />
+					<input type="submit" class="button-primary" value="<?php esc_attr_e( 'Save Options', 'wordcamporg' ); ?>" />
 				</p>
 			</form>
 		</div>
@@ -153,7 +172,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Runs when settings are updated for the sponsor level order page.
 	 */
-	function validate_sponsor_options( $input ) {
+	public function validate_sponsor_options( $input ) {
 		if ( ! is_array( $input ) ) {
 			$input = null;
 		} else {
@@ -169,7 +188,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Returns the sponsor level terms in set order.
 	 */
-	function get_sponsor_levels() {
+	public function get_sponsor_levels() {
 		$option        = get_option( 'wcb_sponsor_level_order' );
 		$term_objects  = get_terms( 'wcb_sponsor_level', array( 'get' => 'all' ) );
 		$terms         = array();
@@ -198,24 +217,27 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @param WP_Query $query
 	 */
-	function admin_pre_get_posts( $query ) {
+	public function admin_pre_get_posts( $query ) {
 		if ( ! is_admin() || ! $query->is_main_query() ) {
 			return;
 		}
 
 		$current_screen = get_current_screen();
 
-		// Order by session time
+		// Order by session time.
 		if ( 'edit-wcb_session' == $current_screen->id && $query->get( 'orderby' ) == '_wcpt_session_time' ) {
 			$query->set( 'meta_key', '_wcpt_session_time' );
 			$query->set( 'orderby', 'meta_value_num' );
 		}
 	}
 
-	function admin_enqueue_scripts() {
+	/**
+	 * Enqueues Scripts required for displaying settings.
+	 */
+	public function admin_enqueue_scripts() {
 		global $post_type;
 
-		// Register
+		// Register.
 		wp_register_script(
 			'wcb-spon', // Avoid "sponsor" since that's a trigger word for ad blockers.
 			plugins_url( 'js/wcb-spon.js', __FILE__ ),
@@ -236,26 +258,26 @@ class WordCamp_Post_Types_Plugin {
 			)
 		);
 
-		// Enqueues scripts and styles for session admin page
+		// Enqueues scripts and styles for session admin page.
 		if ( 'wcb_session' == $post_type ) {
 			wp_enqueue_script( 'jquery-ui-datepicker' );
 			wp_enqueue_style( 'jquery-ui' );
 			wp_enqueue_style( 'wp-datepicker-skins' );
 		}
 
-		// Enqueues scripts and styles for sponsors admin page
+		// Enqueues scripts and styles for sponsors admin page.
 		if ( 'wcb_sponsor' == $post_type ) {
 			wp_enqueue_script( 'wcb-spon' );
 		}
 	}
 
-	/*
+	/**
 	 * Print our JavaScript
 	 */
-	function admin_print_scripts() {
+	public function admin_print_scripts() {
 		global $post_type;
 
-		// DatePicker for Session posts
+		// DatePicker for Session posts.
 		if ( 'wcb_session' == $post_type ) :
 			?>
 
@@ -273,7 +295,10 @@ class WordCamp_Post_Types_Plugin {
 		endif;
 	}
 
-	function wp_enqueue_scripts() {
+	/**
+	 * Enqueue scripts.
+	 */
+	public function wp_enqueue_scripts() {
 		wp_enqueue_style( 'wcb_shortcodes', plugins_url( 'css/shortcodes.css', __FILE__ ), array(), 2 );
 	}
 
@@ -284,7 +309,7 @@ class WordCamp_Post_Types_Plugin {
 	 * @uses get_current_screen()
 	 * @uses wp_enqueue_style()
 	 */
-	function admin_css() {
+	public function admin_css() {
 		$screen = get_current_screen();
 
 		switch ( $screen->id ) {
@@ -303,20 +328,23 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * The [speakers] shortcode handler.
 	 */
-	function shortcode_speakers( $attr, $content ) {
+	public function shortcode_speakers( $attr, $content ) {
 		global $post;
 
-		// Prepare the shortcode arguments
-		$attr = shortcode_atts( array(
-			'show_avatars'   => true,
-			'avatar_size'    => 100,
-			'posts_per_page' => -1,
-			'orderby'        => 'date',
-			'order'          => 'desc',
-			'speaker_link'   => '',
-			'track'          => '',
-			'groups'         => '',
-		), $attr );
+		// Prepare the shortcode arguments.
+		$attr = shortcode_atts(
+			array(
+				'show_avatars'   => true,
+				'avatar_size'    => 100,
+				'posts_per_page' => - 1,
+				'orderby'        => 'date',
+				'order'          => 'desc',
+				'speaker_link'   => '',
+				'track'          => '',
+				'groups'         => '',
+			),
+			$attr
+		);
 
 		foreach ( array( 'orderby', 'order', 'speaker_link' ) as $key_for_case_sensitive_value ) {
 			$attr[ $key_for_case_sensitive_value ] = strtolower( $attr[ $key_for_case_sensitive_value ] );
@@ -329,7 +357,7 @@ class WordCamp_Post_Types_Plugin {
 		$attr['track']        = array_filter( explode( ',', $attr['track'] ) );
 		$attr['groups']       = array_filter( explode( ',', $attr['groups'] ) );
 
-		// Fetch all the relevant sessions
+		// Fetch all the relevant sessions.
 		$session_args = array(
 			'post_type'      => 'wcb_session',
 			'posts_per_page' => -1,
@@ -347,14 +375,15 @@ class WordCamp_Post_Types_Plugin {
 
 		$sessions = get_posts( $session_args );
 
-		// Parse the sessions
-		$speaker_ids = $speakers_tracks = array();
+		// Parse the sessions.
+		$speaker_ids = array();
+		$speakers_tracks = array();
 		foreach ( $sessions as $session ) {
-			// Get the speaker IDs for all the sessions in the requested tracks
+			// Get the speaker IDs for all the sessions in the requested tracks.
 			$session_speaker_ids = get_post_meta( $session->ID, '_wcpt_speaker_id' );
 			$speaker_ids         = array_merge( $speaker_ids, $session_speaker_ids );
 
-			// Map speaker IDs to their corresponding tracks
+			// Map speaker IDs to their corresponding tracks.
 			$session_terms = wp_get_object_terms( $session->ID, 'wcb_track' );
 			foreach ( $session_speaker_ids as $speaker_id ) {
 				if ( isset( $speakers_tracks[ $speaker_id ] ) ) {
@@ -365,13 +394,13 @@ class WordCamp_Post_Types_Plugin {
 			}
 		}
 
-		// Remove duplicate entries
+		// Remove duplicate entries.
 		$speaker_ids = array_unique( $speaker_ids );
 		foreach ( $speakers_tracks as $speaker_id => $tracks ) {
 			$speakers_tracks[ $speaker_id ] = array_unique( $tracks );
 		}
 
-		// Fetch all specified speakers
+		// Fetch all specified speakers.
 		$speaker_args = array(
 			'post_type'      => 'wcb_speaker',
 			'posts_per_page' => intval( $attr['posts_per_page'] ),
@@ -399,7 +428,7 @@ class WordCamp_Post_Types_Plugin {
 			return '';
 		}
 
-		// Render the HTML for the shortcode
+		// Render the HTML for the shortcode.
 		ob_start();
 		?>
 
@@ -419,7 +448,7 @@ class WordCamp_Post_Types_Plugin {
 				?>
 
 				<!-- Organizers note: The id attribute is deprecated and only remains for backwards compatibility, please use the corresponding class to target individual speakers -->
-				<div id="wcorg-speaker-<?php echo sanitize_html_class( $post->post_name ); ?>" class="<?php echo implode( ' ', $speaker_classes ); ?>">
+				<div id="wcorg-speaker-<?php echo sanitize_html_class( $post->post_name ); ?>" class="<?php echo( esc_attr( implode( ' ', $speaker_classes ) ) ); ?>">
 					<h2>
 						<?php if ( 'permalink' === $attr['speaker_link'] ) : ?>
 
@@ -453,15 +482,18 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * The [organizers] shortcode callback.
 	 */
-	function shortcode_organizers( $attr, $content ) {
-		$attr = shortcode_atts( array(
-			'show_avatars'   => true,
-			'avatar_size'    => 100,
-			'posts_per_page' => -1,
-			'orderby'        => 'date',
-			'order'          => 'desc',
-			'teams'          => '',
-		), $attr );
+	public function shortcode_organizers( $attr, $content ) {
+		$attr = shortcode_atts(
+			array(
+				'show_avatars'   => true,
+				'avatar_size'    => 100,
+				'posts_per_page' => - 1,
+				'orderby'        => 'date',
+				'order'          => 'desc',
+				'teams'          => '',
+			),
+			$attr
+		);
 
 		$attr['show_avatars'] = $this->str_to_bool( $attr['show_avatars'] );
 		$attr['orderby']      = strtolower( $attr['orderby'] );
@@ -526,7 +558,7 @@ class WordCamp_Post_Types_Plugin {
 	 * @todo maybe simplify $attr['custom']
 	 * @todo cleanup
 	 */
-	function shortcode_schedule( $attr, $content ) {
+	public function shortcode_schedule( $attr, $content ) {
 		$this->enqueue_schedule_shortcode_dependencies();
 
 		$attr                        = preprocess_schedule_attributes( $attr );
@@ -559,7 +591,8 @@ class WordCamp_Post_Types_Plugin {
 
 		foreach ( $sessions as $time => $entry ) {
 
-			$skip_next = $colspan = 0;
+			$skip_next = 0;
+			$colspan = 0;
 
 			$columns_html = '';
 			foreach ( $columns as $key => $term_id ) {
@@ -582,7 +615,7 @@ class WordCamp_Post_Types_Plugin {
 					break;
 				}
 
-				// Gather relevant data about the session
+				// Gather relevant data about the session.
 				$colspan              = 1;
 				$classes              = array();
 				$session              = get_post( $entry[ $term_id ] );
@@ -608,7 +641,7 @@ class WordCamp_Post_Types_Plugin {
 					) );
 				}
 
-				// Add CSS classes to help with custom styles
+				// Add CSS classes to help with custom styles.
 				foreach ( $speakers as $speaker ) {
 					$classes[] = 'wcb-speaker-' . $speaker->post_name;
 				}
@@ -633,13 +666,14 @@ class WordCamp_Post_Types_Plugin {
 				$content .= '<a class="fav-session-button"><span class="dashicons dashicons-star-filled"></span></a></div>';
 				$content .= '<div class="wcb-session-cell-content">';
 
-				// Determine the session title
-				if ( 'permalink' == $attr['session_link'] && 'session' == $session_type )
+				// Determine the session title.
+				if ( 'permalink' == $attr['session_link'] && 'session' == $session_type ) {
 					$session_title_html = sprintf( '<a class="wcpt-session-title" href="%s">%s</a>', esc_url( get_permalink( $session->ID ) ), $session_title );
-				elseif ( 'anchor' == $attr['session_link'] && 'session' == $session_type )
+				} elseif ( 'anchor' == $attr['session_link'] && 'session' == $session_type ) {
 					$session_title_html = sprintf( '<a class="wcpt-session-title" href="%s">%s</a>', esc_url( $this->get_wcpt_anchor_permalink( $session->ID ) ), $session_title );
-				else
+				} else {
 					$session_title_html = sprintf( '<span class="wcpt-session-title">%s</span>', $session_title );
+				}
 
 				$content .= $session_title_html;
 
@@ -648,13 +682,13 @@ class WordCamp_Post_Types_Plugin {
 					$speaker_name = apply_filters( 'the_title', $speaker->post_title );
 
 					if ( 'anchor' == $attr['speaker_link'] ) {
-						// speakers/#wcorg-speaker-slug
+						// speakers/#wcorg-speaker-slug.
 						$speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
 					} elseif ( 'wporg' == $attr['speaker_link'] ) {
-						// profiles.wordpress.org/user
+						// profiles.wordpress.org/user.
 						$speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
 					} elseif ( 'permalink' == $attr['speaker_link'] ) {
-						// year.city.wordcamp.org/speakers/slug
+						// year.city.wordcamp.org/speakers/slug.
 						$speaker_permalink = get_permalink( $speaker->ID );
 					}
 
@@ -675,14 +709,14 @@ class WordCamp_Post_Types_Plugin {
 
 				$columns_clone = $columns;
 
-				// If the next element in the table is the same as the current one, use colspan
-				if ( $key != key( array_slice( $columns, -1, 1, true ) ) ) {
-					while ( $pair = each( $columns_clone ) ) {
-						if ( $pair['key'] == $key ) {
+				// If the next element in the table is the same as the current one, use colspan.
+				if ( key( array_slice( $columns, -1, 1, true ) ) != $key ) {
+					foreach ( $columns_clone as $clonekey => $clonevalue ) {
+						if ( $clonekey == $key ) {
 							continue;
 						}
 
-						if ( ! empty( $entry[ $pair['value'] ] ) && $entry[ $pair['value'] ] == $session->ID ) {
+						if ( ! empty( $entry[ $clonevalue ] ) && $entry[ $clonevalue ] == $session->ID ) {
 							$colspan++;
 							$skip_next++;
 						} else {
@@ -694,7 +728,7 @@ class WordCamp_Post_Types_Plugin {
 				$columns_html .= sprintf( '<td colspan="%d" class="%s" data-track-title="%s" data-session-id="%s">%s</td>', $colspan, esc_attr( implode( ' ', $classes ) ), $session_track_titles, esc_attr( $session->ID ), $content );
 			}
 
-			$global_session      = $colspan == count( $columns ) ? ' global-session' : '';
+			$global_session      = count( $columns ) == $colspan ? ' global-session' : '';
 			$global_session_slug = $global_session ? ' ' . sanitize_html_class( sanitize_title_with_dashes( $session->post_title ) ) : '';
 
 			$html .= sprintf( '<tr class="%s">', sanitize_html_class( 'wcpt-time-' . date( $time_format, $time ) ) . $global_session . $global_session_slug );
@@ -712,7 +746,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Enqueue style and scripts needed for [schedule] shortcode.
 	 */
-	function enqueue_schedule_shortcode_dependencies() {
+	public function enqueue_schedule_shortcode_dependencies() {
 		wp_enqueue_style( 'dashicons' );
 
 		wp_enqueue_script(
@@ -747,7 +781,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return string HTML code that represents the form to send emails and a link to show and hide it.
 	 */
-	function fav_session_share_form() {
+	public function fav_session_share_form() {
 		static $share_form_count = 0;
 
 		// Skip share form if it was already added to document.
@@ -821,24 +855,24 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Returns a speaker's WordPress.org profile url (if username set)
 	 *
-	 * @param $speaker_id int The speaker's post id.
+	 * @param int $speaker_id int The speaker's post id.
 	 *
 	 * @return NULL|string
 	 */
-	function get_speaker_wporg_permalink( $speaker_id ) {
+	public function get_speaker_wporg_permalink( $speaker_id ) {
 		$post = get_post( $speaker_id );
-		if ( $post->post_type != 'wcb_speaker' || $post->post_status != 'publish' ) {
-			return;
+		if ( 'wcb_speaker' != $post->post_type  || 'publish' != $post->post_status ) {
+			return null;
 		}
 
 		$wporg_user_id = get_post_meta( $speaker_id, '_wcpt_user_id', true );
 		if ( ! $wporg_user_id ) {
-			return;
+			return null;
 		}
 
 		$user = get_user_by( 'id', $wporg_user_id );
 		if ( ! $user ) {
-			return;
+			return null;
 		}
 
 		$permalink = sprintf( 'http://profiles.wordpress.org/%s', strtolower( $user->user_nicename ) );
@@ -853,11 +887,11 @@ class WordCamp_Post_Types_Plugin {
 	 * If the current page contains the corresponding shortcode, we'll assume the user wants to link there.
 	 * Otherwise, we'll attempt to find another page that contains the shortcode.
 	 *
-	 * @param $target_id int The speaker/session's post ID.
+	 * @param int $target_id The speaker/session's post ID.
 	 *
 	 * @return string
 	 */
-	function get_wcpt_anchor_permalink( $target_id ) {
+	public function get_wcpt_anchor_permalink( $target_id ) {
 		global $post;
 		$anchor_target = get_post( $target_id );
 
@@ -877,7 +911,8 @@ class WordCamp_Post_Types_Plugin {
 				break;
 
 			default:
-				$permalink = $anchor_id = false;
+				$permalink = false;
+				$anchor_id = false;
 				break;
 		}
 
@@ -903,7 +938,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return false | string
 	 */
-	function get_wcpt_permalink( $type ) {
+	public function get_wcpt_permalink( $type ) {
 		if ( ! in_array( $type, array( 'speakers', 'sessions', 'organizers' ) ) ) {
 			return false;
 		}
@@ -935,11 +970,11 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Convert a string representation of a boolean to an actual boolean
 	 *
-	 * @param string|bool
+	 * @param string|bool $value
 	 *
 	 * @return bool
 	 */
-	function str_to_bool( $value ) {
+	public function str_to_bool( $value ) {
 		if ( true === $value ) {
 			return true;
 		}
@@ -954,20 +989,23 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * The [sessions] shortcode handler
 	 */
-	function shortcode_sessions( $attr, $content ) {
+	public function shortcode_sessions( $attr, $content ) {
 		global $post;
 
-		$attr = shortcode_atts( array(
-			'date'           => null,
-			'show_meta'      => false,
-			'show_avatars'   => false,
-			'avatar_size'    => 100,
-			'track'          => 'all',
-			'speaker_link'   => 'wporg', // anchor|wporg|permalink|none
-			'posts_per_page' => -1,
-			'orderby'        => 'date', // date|title|rand|session_time
-			'order'          => 'desc', // asc|desc
-		), $attr );
+		$attr = shortcode_atts(
+			array(
+				'date'           => null,
+				'show_meta'      => false,
+				'show_avatars'   => false,
+				'avatar_size'    => 100,
+				'track'          => 'all',
+				'speaker_link'   => 'wporg', // anchor|wporg|permalink|none.
+				'posts_per_page' => - 1,
+				'orderby'        => 'date', // date|title|rand|session_time.
+				'order'          => 'desc', // asc|desc.
+			),
+			$attr
+		);
 
 		// Convert bools to real booleans.
 		$bools = array( 'show_meta', 'show_avatars' );
@@ -983,7 +1021,7 @@ class WordCamp_Post_Types_Plugin {
 		$attr['avatar_size'] = absint( $attr['avatar_size'] );
 
 		if ( ! in_array( $attr['speaker_link'], array( 'anchor', 'wporg', 'permalink', 'none' ) ) ) {
-			$attr['speaker_link'] = 'anchor';   // todo this is inconsistent with the values passed to shortcode_atts, and probably not needed if the default above is changed to 'anchor'
+			$attr['speaker_link'] = 'anchor';   // todo this is inconsistent with the values passed to shortcode_atts, and probably not needed if the default above is changed to 'anchor'.
 		}
 
 		$attr['orderby'] = ( in_array( $attr['orderby'], array( 'date', 'title', 'rand', 'session_time' ) ) ) ? $attr['orderby'] : 'date';
@@ -999,7 +1037,7 @@ class WordCamp_Post_Types_Plugin {
 			'orderby'        => $attr['orderby'],
 			'order'          => $attr['order'],
 
-			// Only ones marked "session" or where the meta key does
+			// Only ones marked "session" or where the meta key does.
 			// not exist, for backwards compatibility.
 			'meta_query' => array(
 				'relation' => 'AND',
@@ -1096,13 +1134,13 @@ class WordCamp_Post_Types_Plugin {
 						$speaker_name = apply_filters( 'the_title', $speaker->post_title );
 
 						if ( 'anchor' == $attr['speaker_link'] ) {
-							// speakers/#wcorg-speaker-slug
+							// speakers/#wcorg-speaker-slug.
 							$speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
 						} elseif ( 'wporg' == $attr['speaker_link'] ) {
-							// profiles.wordpress.org/user
+							// profiles.wordpress.org/user.
 							$speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
 						} elseif ( 'permalink' == $attr['speaker_link'] ) {
-							// year.city.wordcamp.org/speakers/slug
+							// year.city.wordcamp.org/speakers/slug.
 							$speaker_permalink = get_permalink( $speaker->ID );
 						}
 
@@ -1135,15 +1173,17 @@ class WordCamp_Post_Types_Plugin {
 					}
 				}
 
-				// Gather data for list of links
-				if ( $url = get_post_meta( $post->ID, '_wcpt_session_slides', true ) ) {
+				// Gather data for list of links.
+				$url = get_post_meta( $post->ID, '_wcpt_session_slides', true );
+				if ( $url ) {
 					$links['slides'] = array(
 						'url'   => $url,
 						'label' => __( 'Slides', 'wordcamporg' ),
 					);
 				}
 
-				if ( $url = get_post_meta( $post->ID, '_wcpt_session_video', true ) ) {
+				$url = get_post_meta( $post->ID, '_wcpt_session_video', true );
+				if ( $url ) {
 					$links['video'] = array(
 						'url'   => $url,
 						'label' => __( 'Video', 'wordcamporg' ),
@@ -1159,8 +1199,8 @@ class WordCamp_Post_Types_Plugin {
 
 					<div class="wcorg-session-description">
 						<?php the_post_thumbnail(); ?>
-						<?php echo $session_meta; ?>
-						<?php echo $speakers_avatars; ?>
+						<?php echo wp_kses_post( $session_meta ); ?>
+						<?php echo wp_kses_post( $speakers_avatars ); ?>
 						<?php the_content(); ?>
 
 						<?php if ( $links ) : ?>
@@ -1191,15 +1231,18 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * The [sponsors] shortcode handler.
 	 */
-	function shortcode_sponsors( $attr, $content ) {
+	public function shortcode_sponsors( $attr, $content ) {
 		global $post;
 
-		$attr = shortcode_atts( array(
-			'link'           => 'none',
-			'title'          => 'visible',
-			'content'        => 'full',
-			'excerpt_length' => 55,
-		), $attr );
+		$attr = shortcode_atts(
+			array(
+				'link'           => 'none',
+				'title'          => 'visible',
+				'content'        => 'full',
+				'excerpt_length' => 55,
+			),
+			$attr
+		);
 
 		$attr['link'] = strtolower( $attr['link'] );
 		$terms        = $this->get_sponsor_levels();
@@ -1268,11 +1311,13 @@ class WordCamp_Post_Types_Plugin {
 								<?php if ( 'full' === $attr['content'] ) : ?>
 									<?php the_content(); ?>
 								<?php elseif ( 'excerpt' === $attr['content'] ) : ?>
-									<?php echo wpautop(
-										wp_trim_words(
-											get_the_content(),
-											absint( $attr['excerpt_length'] ),
-											apply_filters( 'excerpt_more', ' ' . '&hellip;' )
+									<?php echo wp_kses_post(
+										wpautop(
+											wp_trim_words(
+												get_the_content(),
+												absint( $attr['excerpt_length'] ),
+												apply_filters( 'excerpt_more', ' &hellip;' )
+											)
 										)
 									); ?>
 								<?php endif; ?>
@@ -1346,7 +1391,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return string
 	 */
-	function add_speaker_info_to_session_posts( $content ) {
+	public function add_speaker_info_to_session_posts( $content ) {
 		global $post;
 		$enabled_site_ids = apply_filters( 'wcpt_session_post_speaker_info_enabled_site_ids', array( 364 ) );    // 2014.sf
 
@@ -1382,9 +1427,10 @@ class WordCamp_Post_Types_Plugin {
 		$speakers_html = sprintf(
 			'<h2 class="session-speakers">%s</h2>',
 			_n(
-				__( 'Speaker', 'wordcamporg' ),
-				__( 'Speakers', 'wordcamporg' ),
-				$speakers->post_count
+				'Speaker',
+				'Speakers',
+				$speakers->post_count,
+				'wordcamporg'
 			)
 		);
 
@@ -1411,15 +1457,18 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return string
 	 */
-	function add_slides_info_to_session_posts( $content ) {
+	public function add_slides_info_to_session_posts( $content ) {
 		global $post;
 
-		$enabled_site_ids = apply_filters( 'wcpt_session_post_slides_info_enabled_site_ids', array(
-			206,  // testing.wordcamp.org
-			648,  // 2016.asheville
-			651,  // 2016.kansascity
-			623,  // 2016.tampa
-		) );
+		$enabled_site_ids = apply_filters(
+			'wcpt_session_post_slides_info_enabled_site_ids',
+			array(
+				206,  // testing.wordcamp.org.
+				648,  // 2016.asheville.
+				651,  // 2016.kansascity.
+				623,  // 2016.tampa.
+			)
+		);
 
 		if ( ! $this->is_single_cpt_post( 'wcb_session' ) ) {
 			return $content;
@@ -1455,14 +1504,17 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return string
 	 */
-	function add_video_info_to_session_posts( $content ) {
+	public function add_video_info_to_session_posts( $content ) {
 		global $post;
 
-		$enabled_site_ids = apply_filters( 'wcpt_session_post_video_info_enabled_site_ids', array(
-			206,  // testing.wordcamp.org
-			648,  // 2016.asheville
-			623,  // 2016.tampa
-		) );
+		$enabled_site_ids = apply_filters(
+			'wcpt_session_post_video_info_enabled_site_ids',
+			array(
+				206,  // testing.wordcamp.org .
+				648,  // 2016.asheville .
+				623,  // 2016.tampa .
+			)
+		);
 
 		if ( ! $this->is_single_cpt_post( 'wcb_session' ) ) {
 			return $content;
@@ -1494,7 +1546,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return string
 	 */
-	function add_session_categories_to_session_posts( $content ) {
+	public function add_session_categories_to_session_posts( $content ) {
 		global $post;
 
 		if ( ! $this->is_single_cpt_post( 'wcb_session' ) ) {
@@ -1522,7 +1574,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return array
 	 */
-	function session_category_slugs_to_body_tag( $body_classes ) {
+	public function session_category_slugs_to_body_tag( $body_classes ) {
 		if ( 'wcb_session' === get_post_type() ) {
 			$session_categories = get_the_terms( get_post(), 'wcb_session_category' );
 
@@ -1547,7 +1599,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @return string
 	 */
-	function add_session_info_to_speaker_posts( $content ) {
+	public function add_session_info_to_speaker_posts( $content ) {
 		global $post;
 		$enabled_site_ids = apply_filters( 'wcpt_speaker_post_session_info_enabled_site_ids', array( 364 ) );    // 2014.sf
 
@@ -1578,9 +1630,10 @@ class WordCamp_Post_Types_Plugin {
 		$sessions_html = sprintf(
 			'<h2 class="speaker-sessions">%s</h2>',
 			_n(
-				__( 'Session', 'wordcamporg' ),
-				__( 'Sessions', 'wordcamporg' ),
-				$sessions->post_count
+				'Session',
+				'Sessions',
+				$sessions->post_count,
+				'wordcamporg'
 			)
 		);
 
@@ -1599,7 +1652,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Fired during add_meta_boxes, adds extra meta boxes to our custom post types.
 	 */
-	function add_meta_boxes() {
+	public function add_meta_boxes() {
 		add_meta_box( 'speaker-info',      __( 'Speaker Info',      'wordcamporg'  ), array( $this, 'metabox_speaker_info'      ), 'wcb_speaker',   'side'   );
 		add_meta_box( 'organizer-info',    __( 'Organizer Info',    'wordcamporg'  ), array( $this, 'metabox_organizer_info'    ), 'wcb_organizer', 'side'   );
 		add_meta_box( 'speakers-list',     __( 'Speakers',          'wordcamporg'  ), array( $this, 'metabox_speakers_list'     ), 'wcb_session',   'side'   );
@@ -1612,7 +1665,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Used by the Speakers post type
 	 */
-	function metabox_speaker_info() {
+	public function metabox_speaker_info() {
 		global $post;
 		$email = get_post_meta( $post->ID, '_wcb_speaker_email', true );
 
@@ -1628,12 +1681,12 @@ class WordCamp_Post_Types_Plugin {
 		<?php wp_nonce_field( 'edit-speaker-info', 'wcpt-meta-speaker-info' ); ?>
 
 		<p>
-			<label for="wcpt-gravatar-email"><?php _e( 'Gravatar Email:', 'wordcamporg' ); ?></label>
+			<label for="wcpt-gravatar-email"><?php esc_html_e( 'Gravatar Email:', 'wordcamporg' ); ?></label>
 			<input type="text" class="widefat" id="wcpt-gravatar-email" name="wcpt-gravatar-email" value="<?php echo esc_attr( $email ); ?>" />
 		</p>
 
 		<p>
-			<label for="wcpt-wporg-username"><?php _e( 'WordPress.org Username:', 'wordcamporg' ); ?></label>
+			<label for="wcpt-wporg-username"><?php esc_html_e( 'WordPress.org Username:', 'wordcamporg' ); ?></label>
 			<input type="text" class="widefat" id="wcpt-wporg-username" name="wcpt-wporg-username" value="<?php echo esc_attr( $wporg_username ); ?>" />
 		</p>
 
@@ -1643,7 +1696,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Rendered in the Organizer post type
 	 */
-	function metabox_organizer_info() {
+	public function metabox_organizer_info() {
 		global $post;
 
 		$wporg_username = '';
@@ -1658,7 +1711,7 @@ class WordCamp_Post_Types_Plugin {
 		<?php wp_nonce_field( 'edit-organizer-info', 'wcpt-meta-organizer-info' ); ?>
 
 		<p>
-			<label for="wcpt-wporg-username"><?php _e( 'WordPress.org Username:', 'wordcamporg' ); ?></label>
+			<label for="wcpt-wporg-username"><?php esc_html_e( 'WordPress.org Username:', 'wordcamporg' ); ?></label>
 			<input type="text" class="widefat" id="wcpt-wporg-username" name="wcpt-wporg-username" value="<?php echo esc_attr( $wporg_username ); ?>" />
 		</p>
 
@@ -1668,7 +1721,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Used by the Sessions post type, renders a text box for speakers input.
 	 */
-	function metabox_speakers_list() {
+	public function metabox_speakers_list() {
 		global $post;
 
 		$speakers = get_post_meta( $post->ID, '_wcb_session_speakers', true );
@@ -1699,7 +1752,7 @@ class WordCamp_Post_Types_Plugin {
 		?></textarea>
 
 		<p class="description">
-			<?php _e( 'A speaker entry must exist first. Separate multiple speakers with commas.', 'wordcamporg' ); ?>
+			<?php esc_html_e( 'A speaker entry must exist first. Separate multiple speakers with commas.', 'wordcamporg' ); ?>
 		</p>
 
 		<script>
@@ -1711,7 +1764,7 @@ class WordCamp_Post_Types_Plugin {
 						printf( "'%s', ", esc_js( $name ) );
 					}
 
-					printf( "'%s'", esc_js( $speakers_names_first ) ); // avoid the trailing comma
+					printf( "'%s'", esc_js( $speakers_names_first ) ); // avoid the trailing comma.
 
 					?>
 				];
@@ -1765,7 +1818,10 @@ class WordCamp_Post_Types_Plugin {
 		<?php
 	}
 
-	function metabox_session_info() {
+	/**
+	 * Renders session info metabox.
+	 */
+	public function metabox_session_info() {
 		$post             = get_post();
 		$session_time     = absint( get_post_meta( $post->ID, '_wcpt_session_time', true ) );
 		$session_date     = ( $session_time ) ? date( 'Y-m-d', $session_time ) : date( 'Y-m-d' );
@@ -1780,11 +1836,11 @@ class WordCamp_Post_Types_Plugin {
 		<?php wp_nonce_field( 'edit-session-info', 'wcpt-meta-session-info' ); ?>
 
 		<p>
-			<label for="wcpt-session-date"><?php _e( 'Date:', 'wordcamporg' ); ?></label>
+			<label for="wcpt-session-date"><?php esc_html_e( 'Date:', 'wordcamporg' ); ?></label>
 			<input type="text" id="wcpt-session-date" data-date="<?php echo esc_attr( $session_date ); ?>" name="wcpt-session-date" value="<?php echo esc_attr( $session_date ); ?>" /><br />
-			<label><?php _e( 'Time:', 'wordcamporg' ); ?></label>
+			<label><?php esc_html_e( 'Time:', 'wordcamporg' ); ?></label>
 
-			<select name="wcpt-session-hour" aria-label="<?php _e( 'Session Start Hour', 'wordcamporg' ); ?>">
+			<select name="wcpt-session-hour" aria-label="<?php esc_html_e( 'Session Start Hour', 'wordcamporg' ); ?>">
 				<?php for ( $i = 1; $i <= 12; $i++ ) : ?>
 					<option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_hours ); ?>>
 						<?php echo esc_html( $i ); ?>
@@ -1792,7 +1848,7 @@ class WordCamp_Post_Types_Plugin {
 				<?php endfor; ?>
 			</select> :
 
-			<select name="wcpt-session-minutes" aria-label="<?php _e( 'Session Start Minutes', 'wordcamporg' ); ?>">
+			<select name="wcpt-session-minutes" aria-label="<?php esc_html_e( 'Session Start Minutes', 'wordcamporg' ); ?>">
 				<?php for ( $i = '00'; (int) $i <= 55; $i = sprintf( '%02d', (int) $i + 5 ) ) : ?>
 					<option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_minutes ); ?>>
 						<?php echo esc_html( $i ); ?>
@@ -1800,27 +1856,27 @@ class WordCamp_Post_Types_Plugin {
 				<?php endfor; ?>
 			</select>
 
-			<select name="wcpt-session-meridiem" aria-label="<?php _e( 'Session Meridiem', 'wordcamporg' ); ?>">
+			<select name="wcpt-session-meridiem" aria-label="<?php esc_html_e( 'Session Meridiem', 'wordcamporg' ); ?>">
 				<option value="am" <?php selected( 'am', $session_meridiem ); ?>>am</option>
 				<option value="pm" <?php selected( 'pm', $session_meridiem ); ?>>pm</option>
 			</select>
 		</p>
 
 		<p>
-			<label for="wcpt-session-type"><?php _e( 'Type:', 'wordcamporg' ); ?></label>
+			<label for="wcpt-session-type"><?php esc_html_e( 'Type:', 'wordcamporg' ); ?></label>
 			<select id="wcpt-session-type" name="wcpt-session-type">
-				<option value="session" <?php selected( $session_type, 'session' ); ?>><?php _e( 'Regular Session', 'wordcamporg' ); ?></option>
-				<option value="custom" <?php selected( $session_type, 'custom' ); ?>><?php _e( 'Break, Lunch, etc.', 'wordcamporg' ); ?></option>
+				<option value="session" <?php selected( $session_type, 'session' ); ?>><?php esc_html_e( 'Regular Session', 'wordcamporg' ); ?></option>
+				<option value="custom" <?php selected( $session_type, 'custom' ); ?>><?php esc_html_e( 'Break, Lunch, etc.', 'wordcamporg' ); ?></option>
 			</select>
 		</p>
 
 		<p>
-			<label for="wcpt-session-slides"><?php _e( 'Slides URL:', 'wordcamporg' ); ?></label>
+			<label for="wcpt-session-slides"><?php esc_html_e( 'Slides URL:', 'wordcamporg' ); ?></label>
 			<input type="text" class="widefat" id="wcpt-session-slides" name="wcpt-session-slides" value="<?php echo esc_url( $session_slides ); ?>" />
 		</p>
 
 		<p>
-			<label for="wcpt-session-video"><?php _e( 'WordPress.TV URL:', 'wordcamporg' ); ?></label>
+			<label for="wcpt-session-video"><?php esc_html_e( 'WordPress.TV URL:', 'wordcamporg' ); ?></label>
 			<input type="text" class="widefat" id="wcpt-session-video" name="wcpt-session-video" value="<?php echo esc_url( $session_video ); ?>" />
 		</p>
 
@@ -1832,7 +1888,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @param WP_Post $sponsor
 	 */
-	function metabox_sponsor_info( $sponsor ) {
+	public function metabox_sponsor_info( $sponsor ) {
 		$company_name   = get_post_meta( $sponsor->ID, '_wcpt_sponsor_company_name',   true );
 		$website        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_website',        true );
 		$first_name     = get_post_meta( $sponsor->ID, '_wcpt_sponsor_first_name',     true );
@@ -1875,14 +1931,14 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @param WP_Post $sponsor
 	 */
-	function metabox_sponsor_agreement( $sponsor ) {
+	public function metabox_sponsor_agreement( $sponsor ) {
 		$agreement_id  = get_post_meta( $sponsor->ID, '_wcpt_sponsor_agreement', true );
 		$agreement_url = wp_get_attachment_url( $agreement_id );
 
 		$mes_id = get_post_meta( $sponsor->ID, '_mes_id', true );
 
 		if ( $mes_id ) {
-			switch_to_blog( BLOG_ID_CURRENT_SITE ); // central.wordcamp.org
+			switch_to_blog( BLOG_ID_CURRENT_SITE ); // central.wordcamp.org .
 
 			$mes_agreement_id = get_post_meta( $mes_id, 'mes_sponsor_agreement', true );
 			if ( $mes_agreement_id ) {
@@ -1902,7 +1958,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @param WP_Post $sponsor
 	 */
-	function metabox_invoice_sponsor( $sponsor ) {
+	public function metabox_invoice_sponsor( $sponsor ) {
 		$current_screen = get_current_screen();
 
 		$existing_invoices = get_posts( array(
@@ -1932,8 +1988,8 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Fired when a post is saved, makes sure additional metadata is also updated.
 	 */
-	function save_post_speaker( $post_id, $post ) {
-		if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_speaker' || ! current_user_can( 'edit_post', $post_id ) ) {
+	public function save_post_speaker( $post_id, $post ) {
+		if ( wp_is_post_revision( $post_id ) || 'wcb_speaker' != $post->post_type || ! current_user_can( 'edit_post', $post_id ) ) {
 			return;
 		}
 
@@ -1959,8 +2015,8 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * When an Organizer post is saved, update some meta data.
 	 */
-	function save_post_organizer( $post_id, $post ) {
-		if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_organizer' || ! current_user_can( 'edit_post', $post_id ) ) {
+	public function save_post_organizer( $post_id, $post ) {
+		if ( wp_is_post_revision( $post_id ) || 'wcb_organizer' != $post->post_type || ! current_user_can( 'edit_post', $post_id ) ) {
 			return;
 		}
 
@@ -1979,8 +2035,8 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Fired when a post is saved, updates additional sessions metadada.
 	 */
-	function save_post_session( $post_id, $post ) {
-		if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_session' ) {
+	public function save_post_session( $post_id, $post ) {
+		if ( wp_is_post_revision( $post_id ) || 'wcb_session' != $post->post_type ) {
 			return;
 		}
 
@@ -1992,7 +2048,7 @@ class WordCamp_Post_Types_Plugin {
 		}
 
 		if ( isset( $_POST['wcpt-meta-session-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-session-info'], 'edit-session-info' ) ) {
-			// Update session time
+			// Update session time.
 			$session_time = strtotime( sprintf(
 				'%s %d:%02d %s',
 				sanitize_text_field( $_POST['wcpt-session-date'] ),
@@ -2002,7 +2058,7 @@ class WordCamp_Post_Types_Plugin {
 			) );
 			update_post_meta( $post_id, '_wcpt_session_time', $session_time );
 
-			// Update session type
+			// Update session type.
 			$session_type = sanitize_text_field( $_POST['wcpt-session-type'] );
 			if ( ! in_array( $session_type, array( 'session', 'custom' ) ) ) {
 				$session_type = 'session';
@@ -2010,16 +2066,16 @@ class WordCamp_Post_Types_Plugin {
 
 			update_post_meta( $post_id, '_wcpt_session_type', $session_type );
 
-			// Update session slides link
+			// Update session slides link.
 			update_post_meta( $post_id, '_wcpt_session_slides', esc_url_raw( $_POST['wcpt-session-slides'] ) );
 
-			// Update session video link
+			// Update session video link.
 			if ( 'wordpress.tv' == str_replace( 'www.', '', strtolower( parse_url( $_POST['wcpt-session-video'], PHP_URL_HOST ) ) ) ) {
 				update_post_meta( $post_id, '_wcpt_session_video', esc_url_raw( $_POST['wcpt-session-video'] ) );
 			}
 		}
 
-		// Allowed outside of $_POST. If anything updates a session, make sure
+		// Allowed outside of $_POST. If anything updates a session, make sure.
 		// we parse the list of speakers and add the references to speakers.
 		$speakers_list = get_post_meta( $post_id, '_wcb_session_speakers', true );
 		$speakers_list = explode( ',', $speakers_list );
@@ -2058,14 +2114,14 @@ class WordCamp_Post_Types_Plugin {
 			add_post_meta( $post_id, '_wcpt_speaker_id', $speaker_id );
 		}
 
-		// Set the speaker as the author of the session post, so the single
-		// view doesn't confuse users who see "posted by [organizer name]"
+		// Set the speaker as the author of the session post, so the single.
+		// view doesn't confuse users who see "posted by [organizer name]".
 		foreach ( $speaker_ids as $speaker_post ) {
 			$wporg_user_id = get_post_meta( $speaker_post, '_wcpt_user_id', true );
 			$user          = get_user_by( 'id', $wporg_user_id );
 
 			if ( $user ) {
-				remove_action( 'save_post', array( $this, 'save_post_session' ), 10 );   // avoid infinite recursion
+				remove_action( 'save_post', array( $this, 'save_post_session' ), 10 );   // avoid infinite recursion.
 				wp_update_post( array(
 					'ID'          => $post_id,
 					'post_author' => $user->ID,
@@ -2080,15 +2136,26 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Save meta data for Sponsor posts
 	 */
-	function save_post_sponsor( $post_id, $post ) {
-		if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_sponsor' || ! current_user_can( 'edit_post', $post_id ) ) {
+	public function save_post_sponsor( $post_id, $post ) {
+		if ( wp_is_post_revision( $post_id ) || 'wcb_sponsor' != $post->post_type || ! current_user_can( 'edit_post', $post_id ) ) {
 			return;
 		}
 
 		if ( wp_verify_nonce( filter_input( INPUT_POST, 'wcpt-meta-sponsor-info' ), 'edit-sponsor-info' ) ) {
 			$text_values = array(
-				'company_name',	'first_name', 'last_name', 'email_address', 'phone_number', 'vat_number', 'twitter_handle',
-				'street_address1', 'street_address2', 'city', 'state', 'zip_code', 'country'
+				'company_name',
+				'first_name',
+				'last_name',
+				'email_address',
+				'phone_number',
+				'vat_number',
+				'twitter_handle',
+				'street_address1',
+				'street_address2',
+				'city',
+				'state',
+				'zip_code',
+				'country',
 			);
 
 			foreach ( $text_values as $id ) {
@@ -2100,7 +2167,7 @@ class WordCamp_Post_Types_Plugin {
 			}
 
 			$values['website']    = esc_url_raw( filter_input( INPUT_POST, '_wcpt_sponsor_website' ) );
-				// TODO: maybe only allows links to home page, depending on outcome of http://make.wordpress.org/community/2013/12/31/irs-rules-for-corporate-sponsorship-of-wordcamp/
+			// TODO: maybe only allows links to home page, depending on outcome of http://make.wordpress.org/community/2013/12/31/irs-rules-for-corporate-sponsorship-of-wordcamp/ .
 			$values['first_name'] = ucfirst( $values['first_name'] );
 			$values['last_name']  = ucfirst( $values['last_name'] );
 			$values['agreement']  = filter_input( INPUT_POST, '_wcpt_sponsor_agreement', FILTER_SANITIZE_NUMBER_INT );
@@ -2120,7 +2187,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Registers the custom post types, runs during init.
 	 */
-	function register_post_types() {
+	public function register_post_types() {
 		// Speaker post type labels.
 		$labels = array(
 			'name'               => __( 'Speakers',                   'wordcamporg' ),
@@ -2143,7 +2210,10 @@ class WordCamp_Post_Types_Plugin {
 			'wcb_speaker',
 			array(
 				'labels'          => $labels,
-				'rewrite'         => array( 'slug' => 'speaker', 'with_front' => true, ),
+				'rewrite'         => array(
+					'slug'       => 'speaker',
+					'with_front' => true,
+				),
 				'supports'        => array( 'title', 'editor', 'excerpt', 'author', 'revisions', 'comments', 'custom-fields' ),
 				'menu_position'   => 20,
 				'public'          => true,
@@ -2180,8 +2250,11 @@ class WordCamp_Post_Types_Plugin {
 			'wcb_session',
 			array(
 				'labels'          => $labels,
-				'rewrite'         => array( 'slug' => 'session', 'with_front' => false, ),
-				'supports'        => array( 'title', 'editor', 'author', 'revisions', 'thumbnail', 'custom-fields' ),
+				'rewrite' => array(
+					'slug'       => 'session',
+					'with_front' => false,
+				),
+				'supports'        => array( 'title', 'editor', 'excerpt', 'author', 'revisions', 'thumbnail', 'custom-fields' ),
 				'menu_position'   => 21,
 				'public'          => true,
 				'show_ui'         => true,
@@ -2217,8 +2290,11 @@ class WordCamp_Post_Types_Plugin {
 			'wcb_sponsor',
 			array(
 				'labels'          => $labels,
-				'rewrite'         => array( 'slug' => 'sponsor', 'with_front' => false, ),
-				'supports'        => array( 'title', 'editor', 'revisions', 'thumbnail', 'custom-fields' ),
+				'rewrite' => array(
+					'slug'       => 'sponsor',
+					'with_front' => false,
+				),
+				'supports'        => array( 'title', 'editor', 'excerpt', 'revisions', 'thumbnail', 'custom-fields' ),
 				'menu_position'   => 21,
 				'public'          => true,
 				'show_ui'         => true,
@@ -2254,11 +2330,14 @@ class WordCamp_Post_Types_Plugin {
 			'wcb_organizer',
 			array(
 				'labels'          => $labels,
-				'rewrite'         => array( 'slug' => 'organizer', 'with_front' => false, ),
-				'supports'        => array( 'title', 'editor', 'revisions' ),
+				'rewrite' => array(
+					'slug'       => 'organizer',
+					'with_front' => false,
+				),
+				'supports'        => array( 'title', 'editor', 'excerpt', 'revisions' ),
 				'menu_position'   => 22,
 				'public'          => false,
-					// todo public or publicly_queryable = true, so consistent with others? at the very least set show_in_json = true
+				// todo public or publicly_queryable = true, so consistent with others? at the very least set show_in_json = true.
 				'show_ui'         => true,
 				'can_export'      => true,
 				'capability_type' => 'post',
@@ -2274,7 +2353,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Registers custom taxonomies to post types.
 	 */
-	function register_taxonomies() {
+	public function register_taxonomies() {
 		// Labels for tracks.
 		$labels = array(
 			'name'          => __( 'Tracks',         'wordcamporg' ),
@@ -2346,7 +2425,7 @@ class WordCamp_Post_Types_Plugin {
 			'new_item_name' => __( 'New Sponsor Level',      'wordcamporg' ),
 		);
 
-		// Register sponsor level taxonomy
+		// Register sponsor level taxonomy.
 		register_taxonomy(
 			'wcb_sponsor_level',
 			'wcb_sponsor',
@@ -2375,7 +2454,7 @@ class WordCamp_Post_Types_Plugin {
 			'new_item_name' => __( 'New Team',      'wordcamporg' ),
 		);
 
-		// Register organizer teams taxonomy
+		// Register organizer teams taxonomy.
 		register_taxonomy(
 			'wcb_organizer_team',
 			'wcb_organizer',
@@ -2386,6 +2465,8 @@ class WordCamp_Post_Types_Plugin {
 				'hierarchical' => true,
 				'public'       => true,
 				'show_ui'      => true,
+				'show_in_rest' => true,
+				'rest_base'    => 'organizer_team',
 			)
 		);
 
@@ -2402,7 +2483,7 @@ class WordCamp_Post_Types_Plugin {
 			'new_item_name' => __( 'New Group',      'wordcamporg' ),
 		);
 
-		// Register speaker groups taxonomy
+		// Register speaker groups taxonomy.
 		register_taxonomy(
 			'wcb_speaker_group',
 			'wcb_speaker',
@@ -2427,7 +2508,7 @@ class WordCamp_Post_Types_Plugin {
 	 * @uses current_filter()
 	 * @see __construct()
 	 */
-	function manage_post_types_columns( $columns ) {
+	public function manage_post_types_columns( $columns ) {
 		$current_filter = current_filter();
 
 		switch ( $current_filter ) {
@@ -2467,7 +2548,7 @@ class WordCamp_Post_Types_Plugin {
 	 *
 	 * @see manage_post_types_columns()
 	 */
-	function manage_post_types_columns_output( $column, $post_id ) {
+	public function manage_post_types_columns_output( $column, $post_id ) {
 		switch ( $column ) {
 			case 'wcb_organizer_avatar':
 				edit_post_link( get_avatar( absint( get_post_meta( get_the_ID(), '_wcpt_user_id', true ) ), 32 ) );
@@ -2509,7 +2590,7 @@ class WordCamp_Post_Types_Plugin {
 					$output[] = sprintf( '<a href="%s">%s</a>', esc_url( get_edit_post_link( $speaker->ID ) ), esc_html( apply_filters( 'the_title', $speaker->post_title ) ) );
 				}
 
-				echo implode( ', ', $output );
+				echo( esc_html( implode( ', ', $output ) ) );
 
 				break;
 
@@ -2526,7 +2607,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Additional sortable columns for WP_Posts_List_Table
 	 */
-	function manage_sortable_columns( $sortable ) {
+	public function manage_sortable_columns( $sortable ) {
 		$current_filter = current_filter();
 
 		if ( 'manage_edit-wcb_session_sortable_columns' == $current_filter ) {
@@ -2539,7 +2620,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Display an additional post label if needed.
 	 */
-	function display_post_states( $states ) {
+	public function display_post_states( $states ) {
 		$post = get_post();
 
 		if ( 'wcb_session' != $post->post_type ) {
@@ -2563,7 +2644,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Register some widgets.
 	 */
-	function register_widgets() {
+	public function register_widgets() {
 		require_once( 'inc/widgets.php' );
 
 		register_widget( 'WCB_Widget_Sponsors'    );
@@ -2575,7 +2656,7 @@ class WordCamp_Post_Types_Plugin {
 	/**
 	 * Add post types to 'At a Glance' dashboard widget
 	 */
-	function glance_items( $items = array() ) {
+	public function glance_items( $items = array() ) {
 		$post_types = array( 'wcb_speaker', 'wcb_session', 'wcb_sponsor' );
 
 		foreach ( $post_types as $post_type ) {
@@ -2591,13 +2672,13 @@ class WordCamp_Post_Types_Plugin {
 
 				switch ( $post_type ) {
 					case 'wcb_speaker':
-						$text = $text = _n( '%s Speaker', '%s Speakers', $num_posts->publish );
+						$text = _n( '%s Speaker', '%s Speakers', $num_posts->publish );
 						break;
 					case 'wcb_session':
-						$text = $text = _n( '%s Session', '%s Sessions', $num_posts->publish );
+						$text = _n( '%s Session', '%s Sessions', $num_posts->publish );
 						break;
 					case 'wcb_sponsor':
-						$text = $text = _n( '%s Sponsor', '%s Sponsors', $num_posts->publish );
+						$text = _n( '%s Sponsor', '%s Sponsors', $num_posts->publish );
 						break;
 					default:
 				}
@@ -2623,7 +2704,7 @@ class WordCamp_Post_Types_Plugin {
 	 */
 	public function default_comment_ping_status( $status ) {
 		$screen = get_current_screen();
-		if ( ! empty( $screen->post_type ) && $screen->post_type == 'wcb_speaker' ) {
+		if ( ! empty( $screen->post_type ) && 'wcb_speaker' == $screen->post_type ) {
 			$status = 'closed';
 		}
 
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/css/applications/admin.css wordcamp.org/public_html/wp-content/plugins/wcpt/css/applications/admin.css
index 2bd529463..fc932bc32 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/css/applications/admin.css
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/css/applications/admin.css
@@ -14,4 +14,31 @@ span.swag-needed-icon {
 
 #post-body input[type=text] {
     width: 50%;
-}
\ No newline at end of file
+}
+
+.postbox-container .select2-container {
+    min-width: 25%;
+}
+
+#wcpt_log .widefat th p:first-of-type {
+		margin-top: 0;
+}
+
+#wcpt_log .widefat th p:last-of-type {
+		margin-bottom: 0;
+}
+
+#wcpt_log .widefat td p,
+#wcpt_log .widefat th p {
+		color: #777;
+}
+
+#wcpt_log .widefat tr.note td,
+#wcpt_log .widefat tr.note th {
+		vertical-align:top;
+}
+
+#wcpt_log .widefat tr.note td p,
+#wcpt_log .widefat tr.note th p {
+		color: #222;
+}
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/attendees.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/attendees.php
new file mode 100644
index 000000000..f456a8cef
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/attendees.php
@@ -0,0 +1,3 @@
+<!-- wp:shortcode -->
+[camptix_attendees columns="3"]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/code-of-conduct.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/code-of-conduct.php
new file mode 100644
index 000000000..ba5302d13
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/code-of-conduct.php
@@ -0,0 +1,24 @@
+<?php /** @var WordCamp_New_Site $this */ ?>
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php printf(
+	// translators: %s: URL for code of conduct policy
+	__( '<em>Organizers note:</em> Below is a boilerplate code of conduct that you can customize; another great example is the Ada Initiative <a href="%s">anti-harassment policy.</a>', 'wordcamporg' ),
+	'http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy'
+); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php printf(
+	// translators: %s: URL for article about harassment reports
+	__( 'We also recommend the organizing team read this article on <a href="%s">how to take a harassment report</a>', 'wordcamporg' ),
+	'http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Responding_to_reports'
+); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( 'Please update the portions <span style="color: red; text-decoration: underline;">with red text</span>. You can use the "Remove Formatting" button on the toolbar (the eraser icon on the second line) to remove the color and underline.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:list {"ordered":true} -->
+<?php echo $this->get_code_of_conduct(); ?>
+<!-- /wp:list -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/contact.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/contact.php
new file mode 100644
index 000000000..dc4f80d11
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/contact.php
@@ -0,0 +1,7 @@
+<!-- wp:jetpack/contact-form {"subject":"<?php esc_attr_e( 'WordCamp Contact Request', 'wordcamporg' ); ?>","hasFormSettingsSet":"yes"} -->
+<!-- wp:jetpack/field-name {"label":"<?php esc_attr_e( 'Name', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-email {"label":"<?php esc_attr_e( 'Email', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Message', 'wordcamporg' ); ?>","required":true} /-->
+<!-- /wp:jetpack/contact-form -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/organizers.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/organizers.php
new file mode 100644
index 000000000..7591ee8e8
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/organizers.php
@@ -0,0 +1,7 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> You can enter content for this page in the Organizers menu item in the sidebar.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:shortcode -->
+[organizers]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/schedule.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/schedule.php
new file mode 100644
index 000000000..6c600dfdf
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/schedule.php
@@ -0,0 +1,11 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> You can enter content for this page in the Sessions menu item in the sidebar.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:heading -->
+<h2><?php _e( 'Saturday, January 1st', 'wordcamporg' ) ?></h2>
+<!-- /wp:heading -->
+
+<!-- wp:shortcode -->
+[schedule date="YYYY-MM-DD" tracks="example-track,another-example-track,yet-another-example-track"]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/sessions.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/sessions.php
new file mode 100644
index 000000000..00f56fbf7
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/sessions.php
@@ -0,0 +1,7 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> You can enter content for this page in the Sessions menu item in the sidebar.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:shortcode -->
+[sessions orderby="session_time" order="asc"]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/slideshow.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/slideshow.php
new file mode 100644
index 000000000..7536873a9
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/slideshow.php
@@ -0,0 +1,3 @@
+<!-- wp:jetpack/slideshow -->
+<div class="wp-block-jetpack-slideshow aligncenter" data-effect="slide"><div class="wp-block-jetpack-slideshow_container swiper-container"><ul class="wp-block-jetpack-slideshow_swiper-wrappper swiper-wrapper"></ul><a class="wp-block-jetpack-slideshow_button-prev swiper-button-prev swiper-button-white" role="button"></a><a class="wp-block-jetpack-slideshow_button-next swiper-button-next swiper-button-white" role="button"></a><a aria-label="Pause Slideshow" class="wp-block-jetpack-slideshow_button-pause" role="button"></a><div class="wp-block-jetpack-slideshow_pagination swiper-pagination swiper-pagination-white"></div></div></div>
+<!-- /wp:jetpack/slideshow -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/social-media-stream.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/social-media-stream.php
new file mode 100644
index 000000000..7aa6c0ed0
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/social-media-stream.php
@@ -0,0 +1,7 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> The [[tagregator]] shortcode will pull in a stream of social media posts and display them. In order to use it, you\'ll need to follow the setup instructions at http://wordpress.org/plugins/tagregator/installation, and then update "#wcxyz" below with your hashtag.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:shortcode -->
+[tagregator hashtag="#wcxzy"]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/speakers.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/speakers.php
new file mode 100644
index 000000000..b4ef8d6dc
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/speakers.php
@@ -0,0 +1,7 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> You can enter content for this page in the Speakers menu item in the sidebar.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:shortcode -->
+[speakers]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/sponsors.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/sponsors.php
new file mode 100644
index 000000000..4be86779d
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/sponsors.php
@@ -0,0 +1,27 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php printf(
+	/* translators: %s: Global Community Sponsorship page URL */
+	__( "<em>Organizers note:</em> Multi-event sponsors have been automatically created in the Sponsors menu, but you'll need to remove the ones that don't apply to your specific event. To find out which ones apply, please visit the <a href=\"%s\">Global Community Sponsorship</a> handbook page. After that, you should add the sponsors that are specific to your event. For non-English sites, make sure the URL below matches the Call for Sponsors page.", 'wordcamporg' ),
+	'https://make.wordpress.org/community/handbook/wordcamp-organizer/planning-details/fundraising/global-community-sponsorship-for-event-organizers/'
+); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:heading -->
+<h2><?php _e( 'Our Sponsors', 'wordcamporg' ) ?></h2>
+<!-- /wp:heading -->
+
+<!-- wp:paragraph -->
+<p><?php _e( 'Blurb thanking sponsors', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:shortcode -->
+[sponsors]
+<!-- /wp:shortcode -->
+
+<!-- wp:heading -->
+<h2><?php _e( 'Interested in sponsoring WordCamp this year?', 'wordcamporg' ) ?></h2>
+<!-- /wp:heading -->
+
+<!-- wp:paragraph -->
+<p><?php _e( 'Check out our <a href="/call-for-sponsors">Call for Sponsors</a> post for details on how you can help make this year\'s WordCamp the best it can be!', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/tickets.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/tickets.php
new file mode 100644
index 000000000..3cf37ccda
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/tickets.php
@@ -0,0 +1,7 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( "<em>Organizers note:</em> If you'd like to change the slug for this page, please make sure you do that before opening ticket sales. Changing the page slug after tickets have started selling will break the link that users receive in their receipt e-mail.", 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:shortcode -->
+[camptix]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/videos.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/videos.php
new file mode 100644
index 000000000..0d2672532
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/page/videos.php
@@ -0,0 +1,7 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> After your WordCamp is over and the sessions are published to WordPress.tv, you can embed them here. Just enter the event slug into the shortcode below, and hit the <em>Publish</em> button.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:shortcode -->
+[wptv event="enter-event-slug-here"]
+<!-- /wp:shortcode -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-speakers.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-speakers.php
new file mode 100644
index 000000000..2f6f4c187
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-speakers.php
@@ -0,0 +1,25 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> Submissions to this form will automatically create draft posts for the Speaker and Session post types. Feel free to customize the form, but deleting or renaming the following fields will break the automation: Name, Email, WordPress.org Username, Your Bio, Session Title, Session Description.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:paragraph -->
+<p><?php _e( "If you'd like to propose multiple topics, please submit the form multiple times, once for each topic. [Other speaker instructions/info goes here.]", 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:jetpack/contact-form {"subject":"<?php esc_attr_e( 'WordCamp Speaker Request', 'wordcamporg' ); ?>","hasFormSettingsSet":"yes"} -->
+<!-- wp:jetpack/field-name {"label":"<?php esc_attr_e( 'Name', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-email {"label":"<?php esc_attr_e( 'Email Address', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-text {"label":"<?php esc_attr_e( 'WordPress.org Username', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Your Bio', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-text {"label":"<?php esc_attr_e( 'Topic Title', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Topic Description', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-text {"label":"<?php esc_attr_e( 'Intended Audience', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Past Speaking Experience (not necessary to apply)', 'wordcamporg' ); ?>"} /-->
+<!-- /wp:jetpack/contact-form -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-sponsors.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-sponsors.php
new file mode 100644
index 000000000..2c3c115ed
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-sponsors.php
@@ -0,0 +1,21 @@
+<!-- wp:paragraph -->
+<p><?php _e( 'Blurb with information for potential sponsors.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:jetpack/contact-form {"subject":"<?php esc_attr_e( 'WordCamp Sponsor Request', 'wordcamporg' ); ?>","hasFormSettingsSet":"yes"} -->
+<!-- wp:jetpack/field-text {"label":"<?php esc_attr_e( 'Contact Name', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-name {"label":"<?php esc_attr_e( 'Company Name', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-url {"label":"<?php esc_attr_e( 'Company Website', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-email {"label":"<?php esc_attr_e( 'Email', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-telephone {"label":"<?php esc_attr_e( 'Phone Number', 'wordcamporg' ); ?>"} /-->
+
+<!-- wp:jetpack/field-select {"label":"<?php esc_attr_e( 'Sponsorship Level', 'wordcamporg' ); ?>","options":["Bronze","Silver","Gold"]} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Why Would you Like to Sponsor WordCamp?', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Questions / Comments', 'wordcamporg' ); ?>"} /-->
+<!-- /wp:jetpack/contact-form -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-volunteers.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-volunteers.php
new file mode 100644
index 000000000..c395f617b
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/call-for-volunteers.php
@@ -0,0 +1,15 @@
+<!-- wp:paragraph -->
+<p><?php _e( 'Blurb with information for potential volunteers.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:jetpack/contact-form {"subject":"<?php esc_attr_e( 'WordCamp Volunteer Application', 'wordcamporg' ); ?>","hasFormSettingsSet":"yes"} -->
+<!-- wp:jetpack/field-name {"label":"<?php esc_attr_e( 'Name', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-email {"label":"<?php esc_attr_e( 'Email', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Skills / Interests / Experience (not necessary to volunteer)', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-text {"label":"<?php esc_attr_e( 'Number of Hours Available', 'wordcamporg' ); ?>","required":true} /-->
+
+<!-- wp:jetpack/field-textarea {"label":"<?php esc_attr_e( 'Questions / Comments', 'wordcamporg' ); ?>"} /-->
+<!-- /wp:jetpack/contact-form -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/welcome.php wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/welcome.php
new file mode 100644
index 000000000..c10b1d1a9
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/stubs/post/welcome.php
@@ -0,0 +1,15 @@
+<!-- wp:paragraph {"customBackgroundColor":"#eeeeee"} -->
+<p style="background-color:#eeeeee" class="has-background"><?php _e( '<em>Organizers note:</em> Please update the portions <span style="color: red; text-decoration: underline;">with red text</span>.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:paragraph -->
+<p><?php _e( 'We\'re happy to announce that <span style="color: red; text-decoration: underline;">WordCamp YourCityName</span> is officially on the calendar!', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:paragraph -->
+<p><?php _e( '<span style="color: red; text-decoration: underline;">WordCamp YourCityName</span> will be <span style="color: red; text-decoration: underline;">DATE(S)</span> at <span style="color: red; text-decoration: underline;">LOCATION</span>.', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
+
+<!-- wp:paragraph -->
+<p><?php _e( '<span style="color: red; text-decoration: underline;">Subscribe using the form in the sidebar</span> to stay up to date on the most recent news. We’ll be keeping you posted on all the details over the coming months, including speaker submissions, ticket sales and more!', 'wordcamporg' ); ?></p>
+<!-- /wp:paragraph -->
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/meetup/shortcode-application.php wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/meetup/shortcode-application.php
index b0d5e45ce..49c17aed6 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/meetup/shortcode-application.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/meetup/shortcode-application.php
@@ -1,7 +1,7 @@
 <?php
 
 namespace WordPress_Community\Applications\Meetup;
-defined( 'WPINC' ) or die();
+defined( 'WPINC' ) || die();
 
 /**
  * Renders the application form for meetup. Renders shortcode meetup-organizer-application
@@ -149,4 +149,4 @@ function render_meetup_application_form( $countries ) {
 	</form>
 
 	<?php
-}
\ No newline at end of file
+}
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/wordcamp/shortcode-application.php wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/wordcamp/shortcode-application.php
index 90cd1a374..65dc752ef 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/wordcamp/shortcode-application.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/views/applications/wordcamp/shortcode-application.php
@@ -1,7 +1,7 @@
 <?php
 
 namespace WordPress_Community\Applications\WordCamp;
-defined( 'WPINC' ) or die();
+defined( 'WPINC' ) || die();
 
 
 /**
@@ -1481,4 +1481,4 @@ function render_wordcamp_application_form( $countries ) {
 	</form>
 
 	<?php
-}
\ No newline at end of file
+}
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/views/common/metabox-log.php wordcamp.org/public_html/wp-content/plugins/wcpt/views/common/metabox-log.php
index 4f85e8361..370b6a3e9 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/views/common/metabox-log.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/views/common/metabox-log.php
@@ -1,4 +1,4 @@
-<?php defined( 'WPINC' ) or die(); ?>
+<?php defined( 'WPINC' ) || die(); ?>
 
 <table class="widefat striped">
 	<thead>
@@ -14,11 +14,11 @@
 		<?php if ( $entries ) : ?>
 
 			<?php foreach ( $entries as $entry ) : ?>
-				<tr>
-					<th><?php echo esc_html( date( 'Y-m-d h:ia', $entry['timestamp'] ) );          ?></th>
-					<th><?php echo esc_html( ucwords( str_replace( '_', ' ', $entry['type'] ) ) ); ?></th>
-					<th><?php echo esc_html( $entry['user_display_name'] );                        ?></th>
-					<th><?php echo wp_kses(  $entry['message'], wp_kses_allowed_html( 'data') );   ?></th>
+				<tr class="<?php echo esc_attr( str_replace( '_', '-', $entry['type'] ) ); ?>">
+					<th><p><?php echo esc_html( date( 'Y-m-d h:ia', $entry['timestamp'] ) ); ?></p></th>
+					<th><p><?php echo esc_html( ucwords( str_replace( '_', ' ', $entry['type'] ) ) ); ?></p></th>
+					<th><p><?php echo esc_html( $entry['user_display_name'] ); ?></p></th>
+					<th><?php echo wp_kses( wpautop( $entry['message'] ), wp_kses_allowed_html( 'data' ) ); ?></th>
 				</tr>
 			<?php endforeach; ?>
 
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php
index d4195ecf5..2f870cc0d 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-admin.php
@@ -108,11 +108,11 @@ class WCPT_Admin {
 			return false;
 
 		?>
-			<h3><?php _e( 'WordCamps', 'wcpt' ); ?></h3>
+			<h3><?php _e( 'WordCamps', 'wordcamporg' ); ?></h3>
 
 			<table class="form-table">
 				<tr valign="top">
-					<th scope="row"><?php _e( 'WordCamps', 'wcpt' ); ?></th>
+					<th scope="row"><?php _e( 'WordCamps', 'wordcamporg' ); ?></th>
 					<td>
 
 					</td>
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-admin.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-admin.php
index ff8861e33..ca3b919a9 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-admin.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-admin.php
@@ -41,7 +41,8 @@ abstract class Event_Admin {
 		add_filter( 'post_row_actions', array( $this, 'post_row_actions' ), 10, 2 );
 
 		add_filter(
-			'manage_' . $this->get_event_type() . '_posts_columns', array(
+			'manage_' . $this->get_event_type() . '_posts_columns',
+			array(
 				$this,
 				'column_headers',
 			)
@@ -55,10 +56,15 @@ abstract class Event_Admin {
 
 		add_action( 'transition_post_status', array( $this, 'log_status_changes' ), 10, 3 );
 
+		add_action( 'transition_post_status', array( $this, 'notify_application_status_in_slack' ), 10, 3 );
+
 		add_filter( 'redirect_post_location', array( $this, 'add_admin_notices_to_redirect_url' ), 10, 2 );
 
-		// Admin notices
+		// Admin notices.
 		add_action( 'admin_notices', array( $this, 'print_admin_notices' ) );
+
+		add_action( 'send_decline_notification_action',  'Event_Admin::send_decline_notification', 10, 3 );
+
 	}
 
 	/**
@@ -243,6 +249,19 @@ abstract class Event_Admin {
 	 */
 	abstract public static function get_edit_capability();
 
+	/**
+	 * Filter: Set the locale to en_US.
+	 *
+	 * For some purposes, such as internal logging, strings that would normally be translated to the
+	 * current user's locale should be in English, so that other users who may not share the same
+	 * locale can read them.
+	 *
+	 * @return string
+	 */
+	public function set_locale_to_en_us() {
+		return 'en_US';
+	}
+
 	/**
 	 * Log when the post status changes
 	 *
@@ -259,21 +278,80 @@ abstract class Event_Admin {
 			return;
 		}
 
+		// Ensure status labels are in English.
+		add_filter( 'locale', array( $this, 'set_locale_to_en_us' ) );
+
 		$old_status = get_post_status_object( $old_status );
 		$new_status = get_post_status_object( $new_status );
 
 		$log_id = add_post_meta(
-			$post->ID, '_status_change', array(
+			$post->ID,
+			'_status_change',
+			array(
 				'timestamp' => time(),
 				'user_id'   => get_current_user_id(),
 				'message'   => sprintf( '%s &rarr; %s', $old_status->label, $new_status->label ),
 			)
 		);
-		// Encoding $post_type and status_change meta ID in key so that we can fetch it if needed while simultaneously be able to have a where clause on value
-		// Because of the way MySQL works, it will still be able to use index on meta_key when searching, as long as we are querying just the prefix
+
+		// Encoding $post_type and status_change meta ID in key so that we can fetch it if needed while simultaneously be able to have a where clause on value.
+		// Because of the way MySQL works, it will still be able to use index on meta_key when searching, as long as we are querying just the prefix.
 		if ( $log_id ) {
 			add_post_meta( $post->ID, "_status_change_log_$post->post_type $log_id", time() );
 		}
+
+		// Remove the temporary locale change.
+		remove_filter( 'locale', array( $this, 'set_locale_to_en_us' ) );
+	}
+
+	/**
+	 * Hooked to `transition_post_status`, will send notifications to community slack channels based whenever an application status changes to something that we are interested in. Most likely would be when an application is declined or accepted.
+	 *
+	 * @param string  $new_status New status.
+	 * @param string  $old_status Old Status.
+	 * @param WP_Post $event
+	 */
+	abstract public function notify_application_status_in_slack( $new_status, $old_status, WP_Post $event );
+
+	/**
+	 * Schedule notification for declined application. Currently supports WordCamp and Meetup.
+	 *
+	 * @param WP_Post $event Event object.
+	 * @param string  $label Could be WordCamp or Meetup.
+	 * @param string  $location
+	 */
+	public static function schedule_decline_notification( $event, $label, $location ) {
+		wp_schedule_single_event( time() + DAY_IN_SECONDS, 'send_decline_notification_action', array( $event->ID, $label, $location ) );
+	}
+
+	/**
+	 * Send declined notification to community team slack channel.
+	 *
+	 * @param int    $event_id
+	 * @param string $label
+	 * @param string $location
+	 *
+	 * @return null|bool|string
+	 */
+	public static function send_decline_notification( $event_id, $label, $location ) {
+		$declined_notification_key = 'sent_declined_notification';
+		if ( get_post_meta( $event_id, $declined_notification_key, true ) ) {
+			return null;
+		}
+
+		$message = sprintf(
+			'A %s application for %s has been declined, and the applicant has been informed via email.',
+			$label,
+			$location
+		);
+
+		$attachment = create_event_status_attachment( $message, $event_id, '' );
+
+		$notification_sent = wcpt_slack_notify( COMMUNITY_TEAM_SLACK, $attachment );
+		if ( $notification_sent ) {
+			update_post_meta( $event_id, $declined_notification_key, true );
+		}
+		return $notification_sent;
 	}
 
 	/**
@@ -299,9 +377,11 @@ abstract class Event_Admin {
 			$gutenberg_enabled = true;
 		}
 
-		wp_localize_script( 'wcpt-admin', 'wcpt_admin', array(
-			'gutenberg_enabled' => $gutenberg_enabled,
-		) );
+		wp_localize_script(
+			'wcpt-admin',
+			'wcpt_admin',
+			array( 'gutenberg_enabled' => $gutenberg_enabled )
+		);
 
 		wp_enqueue_script( 'wcpt-admin' );
 		wp_enqueue_script( 'select2' );
@@ -354,29 +434,36 @@ abstract class Event_Admin {
 	}
 
 	/**
-	 * Save metadata from form
+	 * Save metadata from form.
+	 *
+	 * @param int     $post_id      The ID of the post being saved.
+	 * @param WP_Post $post         The post being saved.
+	 * @param bool    $verify_nonce Whether or not to verify the nonce. Set to false when calling manually, leave
+	 *                              true when calling via `save_post` hook.
 	 *
-	 * @param int     $post_id Post ID.
-	 * @param WP_Post $post    Post Object.
+	 * @hook save_post
 	 */
-	public function metabox_save( $post_id, $post ) {
+	public function metabox_save( $post_id, $post, $verify_nonce = true ) {
 		// Don't add/remove meta on revisions and auto-saves.
 		if ( wp_is_post_autosave( $post_id ) || wp_is_post_revision( $post_id ) ) {
 			return;
 		}
 
-		// Don't add/remove meta on trash, untrash, restore, etc.
-		if ( empty( $_POST['action'] ) || 'editpost' !== $_POST['action'] ) {
+		if ( $this->get_event_type() !== $post->post_type ) {
 			return;
 		}
 
-		if ( $this->get_event_type() !== get_post_type() ) {
+		// Don't add/remove meta on trash, untrash, restore, etc.
+		// phpcs:ignore WordPress.Security.NonceVerification.Missing
+		if ( empty( $_POST['action'] ) || 'editpost' !== $_POST['action'] ) {
 			return;
 		}
 
-		// Make sure the requset came from the edit post screen.
-		if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'update-post_' . $post_id ) ) {
-			return;
+		// Make sure the request came from the edit post screen.
+		if ( $verify_nonce ) {
+			if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'update-post_' . $post_id ) ) {
+				wp_die( 'Unable to verify nonce.' );
+			}
 		}
 
 		$meta_keys = $this->meta_keys();
@@ -386,7 +473,7 @@ abstract class Event_Admin {
 			$post_value     = wcpt_key_to_str( $key, 'wcpt_' );
 			$values[ $key ] = isset( $_POST[ $post_value ] ) ? esc_attr( $_POST[ $post_value ] ) : '';
 
-			// Don't update protected fields
+			// Don't update protected fields.
 			if ( $this->is_protected_field( $key ) ) {
 				continue;
 			}
@@ -431,6 +518,7 @@ abstract class Event_Admin {
 			}
 		}
 
+		// TODO: This should also pass $_POST params since nonce is verified here.
 		do_action( 'wcpt_metabox_save_done', $post_id, $orig_meta_values );
 
 		$this->validate_and_add_note( $post_id );
@@ -454,7 +542,7 @@ abstract class Event_Admin {
 			$location = add_query_arg( 'wcpt_messages', implode( ',', $this->active_admin_notices ), $location );
 		}
 
-		// Don't show conflicting messages like 'Post submitted.'
+		// Don't show conflicting messages like 'Post submitted'.
 		if ( in_array( 1, $this->active_admin_notices ) && false !== strpos( $location, 'message=8' ) ) {
 			$location = remove_query_arg( 'message', $location );
 		}
@@ -481,7 +569,6 @@ abstract class Event_Admin {
 		global $post;
 		$screen = get_current_screen();
 
-
 		if ( empty( $post->post_type ) || $this->get_event_type() != $post->post_type || 'post' !== $screen->base ) {
 			return;
 		}
@@ -518,15 +605,17 @@ abstract class Event_Admin {
 
 		check_admin_referer( 'wcpt_notes', 'wcpt_notes_nonce' );
 
-		$new_note_message = sanitize_text_field( wp_unslash( $_POST['wcpt_new_note'] ) );
+		$new_note_message = sanitize_textarea_field( wp_unslash( $_POST['wcpt_new_note'] ) );
 
 		if ( empty( $new_note_message ) ) {
 			return;
 		}
 
-		// Note that this is private, see wcpt_get_log_entries()
+		// Note that this is private, see `wcpt_get_log_entries()`.
 		add_post_meta(
-			$post_id, '_note', array(
+			$post_id,
+			'_note',
+			array(
 				'timestamp' => time(),
 				'user_id'   => get_current_user_id(),
 				'message'   => $new_note_message,
@@ -560,64 +649,65 @@ abstract class Event_Admin {
 				<?php if ( 'checkbox' == $value ) : ?>
 
 					<p>
-						<strong><?php echo $key; ?></strong>:
-						<input type="checkbox" name="<?php echo $object_name; ?>"
-							   id="<?php echo $object_name; ?>" <?php checked( get_post_meta( $post_id, $key, true ) ); ?><?php echo $readonly; ?> />
+						<strong><?php echo esc_html( $key ); ?></strong>:
+						<input type="checkbox" name="<?php echo esc_attr( $object_name ); ?>"
+							   id="<?php echo esc_attr( $object_name ); ?>" <?php checked( get_post_meta( $post_id, $key, true ) ); ?><?php echo esc_attr( $readonly ); ?> />
 					</p>
 
 				<?php else : ?>
 
 					<p>
-						<strong><?php echo $key; ?></strong>
+						<strong><?php echo esc_html( $key ); ?></strong>
 						<?php if ( in_array( $key, $required_fields, true ) ) : ?>
-							<span class="description"><?php _e( '(required)', 'wordcamporg' ); ?></span>
+							<span class="description"><?php esc_html_e( '(required)', 'wordcamporg' ); ?></span>
 						<?php endif; ?>
 					</p>
 
 					<p>
 						<label class="screen-reader-text"
-							   for="<?php echo $object_name; ?>"><?php echo $key; ?></label>
+							   for="<?php echo esc_attr( $object_name ); ?>"><?php echo esc_html( $key ); ?></label>
 
 						<?php
 						switch ( $value ) :
 							case 'text':
 								?>
 
-								<input type="text" size="36" name="<?php echo $object_name; ?>"
-									   id="<?php echo $object_name; ?>"
-									   value="<?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?>"<?php echo $readonly; ?> />
+								<input type="text" size="36" name="<?php echo esc_attr( $object_name ); ?>"
+									   id="<?php echo esc_attr( $object_name ); ?>"
+									   value="<?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?>"<?php echo esc_attr( $readonly ); ?> />
 
 								<?php
 								break;
 							case 'number':
 								?>
 
-								<input type="number" size="16" name="<?php echo $object_name; ?>"
-									   id="<?php echo $object_name; ?>"
+								<input type="number" size="16" name="<?php echo esc_attr( $object_name ); ?>"
+									   id="<?php echo esc_attr( $object_name ); ?>"
 									   value="<?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?>"
-									   step="any" min="0"<?php echo $readonly; ?> />
+									   step="any" min="0"<?php echo esc_attr( $readonly ); ?> />
 
 								<?php
 								break;
 							case 'date':
-								// Quick filter on dates
-								if ( $date = get_post_meta( $post_id, $key, true ) ) {
+								// Quick filter on dates.
+								$date = get_post_meta( $post_id, $key, true );
+								if ( $date ) {
 									$date = date( 'Y-m-d', $date );
 								}
 
 								?>
 
-								<input type="text" size="36" class="date-field" name="<?php echo $object_name; ?>"
-									   id="<?php echo $object_name; ?>"
-									   value="<?php echo $date; ?>"<?php echo $readonly; ?> />
+								<input type="text" size="36" class="date-field" name="<?php echo esc_attr( $object_name ); ?>"
+									   id="<?php echo esc_attr( $object_name ); ?>"
+									   value="<?php echo esc_attr( $date ); ?>"<?php echo esc_attr( $readonly ); ?> />
 
 								<?php
 								break;
 							case 'textarea':
 								?>
 
-								<textarea rows="4" cols="23" name="<?php echo $object_name; ?>"
-										  id="<?php echo $object_name; ?>"<?php echo $readonly; ?>><?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?></textarea>
+								<textarea rows="4" cols="23" name="<?php echo esc_attr( $object_name ); ?>"
+										  id="<?php echo esc_attr( $object_name ); ?>"<?php echo esc_attr( $readonly ); ?>><?php echo esc_attr( get_post_meta( $post_id, $key, true ) ); ?></textarea>
 
 								<?php
 								break;
@@ -629,8 +719,8 @@ abstract class Event_Admin {
 								if ( $readonly ) :
 									$value = get_post_meta( $post_id, $key, true );
 									?>
-								<select name="<?php echo $object_name; ?>"
-										id="<?php echo $object_name; ?>"<?php echo $readonly; ?>>
+								<select name="<?php echo esc_attr( $object_name ); ?>"
+										id="<?php echo esc_attr( $object_name ); ?>"<?php echo esc_attr( $readonly ); ?>>
 									<option value="<?php echo esc_attr( $value ); ?>" selected>
 										<?php echo ( $value ) ? esc_html( $currencies[ $value ] . ' (' . $value . ')' ) : ''; ?>
 									</option>
@@ -650,16 +740,18 @@ abstract class Event_Admin {
 								break;
 
 							case 'deputy_list':
-								wp_dropdown_users( array(
-									'role__in'         => array(
-										'administrator',
-										'editor',
-									),
-									'name'             => esc_attr( $object_name ),
-									'id'               => esc_attr( $object_name ),
-									'selected'         => get_post_meta( $post_id, $key, true ),
-									'show_option_none' => 'None',
-								) );
+								wp_dropdown_users(
+									array(
+										'role__in'         => array(
+											'administrator',
+											'editor',
+										),
+										'name'             => esc_attr( $object_name ),
+										'id'               => esc_attr( $object_name ),
+										'selected'         => get_post_meta( $post_id, $key, true ),
+										'show_option_none' => 'None',
+									)
+								);
 								break;
 							default:
 								do_action( 'wcpt_metabox_value', $key, $value, $object_name );
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-application.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-application.php
index 7f32e0f1f..b9ef53983 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-application.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-application.php
@@ -6,6 +6,7 @@
  */
 
 namespace WordPress_Community\Applications;
+require_once WCPT_DIR . 'wcpt-event/notification.php';
 
 /**
  * Class Event_Application
@@ -51,7 +52,7 @@ abstract class Event_Application {
 	}
 
 	/**
-	 * Render the output the of the [meetup-organizer-application] shortcode.
+	 * Render the output the of the application forms shortcode.
 	 *
 	 * @todo Use force_login_to_view_form() and populate_form_based_on_user().
 	 *
@@ -60,8 +61,10 @@ abstract class Event_Application {
 	public function render_application_shortcode() {
 		ob_start();
 
+		// phpcs:ignore WordPress.Security.NonceVerification.Missing -- We do not verify nonce for frontend forms because WP Super Cache may cache an expired nonce token.
 		if ( isset( $_POST['submit-application'] ) ) {
-			$this->submit_application();
+			// phpcs:ignore WordPress.Security.NonceVerification.Missing
+			$this->submit_application( $_POST );
 		} else {
 			$countries = wcorg_get_countries();
 			$this->render_application_form( $countries );
@@ -81,9 +84,12 @@ abstract class Event_Application {
 
 	/**
 	 * Submit application details. Calls `create_post` to actually create the event.
+	 *
+	 * @param array $post_data Form params.
 	 */
-	public function submit_application() {
-		$application_data = $this->validate_data( $_POST );
+	public function submit_application( $post_data ) {
+		$application_data = $this->validate_data( $post_data );
+
 		if ( $this->is_rate_limited() ) {
 			$message        = __( 'You have submitted too many applications recently. Please wait and try again in a few hours.', 'wordcamporg' );
 			$notice_classes = 'notice-error';
@@ -92,7 +98,13 @@ abstract class Event_Application {
 			$notice_classes = 'notice-error';
 		} else {
 			$this->create_post( $application_data );
-			$this->notify_applicant_application_received( $this->get_organizer_email(), $this->get_event_location() );
+			$this->notify_applicant_application_received(
+				$this->get_organizer_email(),
+				$this->get_event_location()
+			);
+
+			$this->notify_new_application_in_slack();
+
 			$message        = __( "Thank you for your application! We've received it, and we'll contact you once we've had a chance to review it.", 'wordcamporg' );
 			$notice_classes = 'notice-success';
 		}
@@ -173,6 +185,20 @@ abstract class Event_Application {
 	 */
 	abstract public function get_event_location();
 
+	/**
+	 * Get default status for a new application.
+	 *
+	 * @return string|null
+	 */
+	abstract public static function get_default_status();
+
+	/**
+	 * Get publicly accessible report url for a event. Should return null if such report is published.
+	 *
+	 * @return string|null
+	 */
+	abstract public static function get_application_report_url();
+
 	/**
 	 * Display a notice to applicant while submitting the form.
 	 *
@@ -191,21 +217,52 @@ abstract class Event_Application {
 	 * Notify the applicant that we've received their application
 	 *
 	 * @param string $email_address
-	 * @param string $meetup_city
+	 * @param string $event_city
 	 */
-	public function notify_applicant_application_received( $email_address, $meetup_city ) {
-		//translators: Name of the event. Egs WordCamp.
-		$subject = sprintf( __( "We've received your %s application", 'wpct' ), $this->get_event_label() );
+	public function notify_applicant_application_received( $email_address, $event_city ) {
+		//translators: Name of the event. E.g. WordCamp or meetup.
+		$subject = sprintf( __( "We've received your %s application", 'wordcamporg' ), $this->get_event_label() );
 		$headers = array( 'Reply-To: support@wordcamp.org' );
-		//translators: Name and city of the event. Egs WordCamp in New York.
+		//translators: Name and city of the event. E.g. WordCamp New York.
 		$message = sprintf(
 			__(
-				"Thank you for applying to organize a %s in %s! We'll send you a follow-up e-mail once we've had a chance to review your application.",
-				'wpct'
+				"Thank you for applying to organize a %1\$s in %2\$s! We'll send you a follow-up e-mail once we've had a chance to review your application.",
+				'wordcamporg'
 			),
-			$this->get_event_label(), sanitize_text_field( $meetup_city )
+			$this->get_event_label(),
+			sanitize_text_field( $event_city )
 		);
 
 		wp_mail( $email_address, $subject, $message, $headers );
 	}
+
+	/**
+	 * Notify in community slack channel that we've received an application.
+	 */
+	public function notify_new_application_in_slack() {
+
+		// Not translating because this will be sent to community events slack channel.
+		$message = sprintf( 'A %s application for %s has been received.', $this->get_event_label(), $this->get_event_location() );
+
+		$public_report_url = $this->get_application_report_url();
+		if ( isset( $public_report_url ) ) {
+			// `<%s|here> is syntax for slack message to hyperlink text `here` with url provided in `%s`
+			$message = sprintf( '%s Public status can be followed on <%s|%s application report page>.', $message, $public_report_url, $this->get_event_label() );
+		}
+
+		$default_status = $this->get_default_status();
+		$queue_size = wp_count_posts( $this->get_event_type() )->$default_status;
+		if ( isset( $queue_size ) ) {
+			$singular = "is $queue_size application";
+			$plural   = "are $queue_size applications";
+			$message = sprintf(
+				"%s\n _There %s in vetting queue._",
+				$message,
+				1 === $queue_size ? $singular : $plural
+			);
+		}
+
+		$attachment = create_event_attachment( $message,  sprintf( 'New %s application ', $this->get_event_label() ) );
+		return wcpt_slack_notify( COMMUNITY_TEAM_SLACK, $attachment );
+	}
 }
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-loader.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-loader.php
index dd6980cf5..84abdb270 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-loader.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/class-event-loader.php
@@ -17,7 +17,7 @@ abstract class Event_Loader {
 		add_action( 'plugins_loaded', array( $this, 'includes' ) );
 		add_action( 'init', array( $this, 'register_post_types' ) );
 		add_action( 'init', array( $this, 'register_post_statuses' ) );
-		add_filter( 'pre_get_posts', array( $this, 'query_public_statuses_on_archives' ) );
+		add_filter( 'pre_get_posts', array( $this, 'query_public_statuses' ) );
 		add_filter( 'cron_schedules', array( $this, 'add_weekly_cron_interval' ) );
 	}
 
@@ -69,23 +69,29 @@ abstract class Event_Loader {
 	abstract public static function get_public_post_statuses();
 
 	/**
-	 * Only query the public post statuses on WordCamp archives and feeds
+	 * Only query the public post statuses on WordCamp archives, feeds and singular views
 	 *
 	 * By default, any public post statuses are queried when the `post_status` parameter is not explicitly passed
 	 * to WP_Query. This causes central.wordcamp.org/wordcamps/ and central.wordcamp.org/wordcamps/feed/ to display
-	 * camps that are `needs-vetting`, etc, which is not desired.
+	 * camps that are `needs-vetting`, etc and have singular pages, which is not desired.
 	 *
 	 * Another way to fix this would have been to register some of the posts statuses as `private`, but they're not
 	 * consistently used in a public or private way, so that would have had more side effects.
 	 *
 	 * @param WP_Query $query
 	 */
-	public function query_public_statuses_on_archives( $query ) {
-		if ( ! $query->is_post_type_archive( WCPT_POST_TYPE_ID ) ) {
+	public function query_public_statuses( $query ) {
+		// Bail if dashboard.
+		if ( is_admin() ) {
 			return;
 		}
 
-		if ( is_admin() ) {
+		// Bail if post type is something other than WordCamp
+		if (
+			! $query->is_post_type_archive( WCPT_POST_TYPE_ID ) &&
+			// For some reason $query->is_singular throws a notice, so lets do it this way
+			! ( isset( $query->query_vars['post_type'] ) && WCPT_POST_TYPE_ID === $query->query_vars['post_type'] )
+		) {
 			return;
 		}
 
@@ -94,6 +100,7 @@ abstract class Event_Loader {
 			$query->set( 'orderby', 'menu_order date' );
 		}
 
+		// Bail if performing a query which already has a post_status
 		if ( ! empty( $query->query_vars['post_status'] ) ) {
 			return;
 		}
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/notification.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/notification.php
new file mode 100644
index 000000000..c8df52042
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-event/notification.php
@@ -0,0 +1,146 @@
+<?php
+/**
+ * Provides helper methods for sending slack notifications in response to status changes in application.
+ */
+
+// Local environments don't have the credentials to send to Slack.
+if ( 'development' === WORDCAMP_ENVIRONMENT && ( ! defined( 'WPORG_SANDBOXED' ) || ! WPORG_SANDBOXED ) ) {
+	return;
+}
+
+if ( defined( 'WPORG_SANDBOXED' ) && WPORG_SANDBOXED ) {
+	// If this is sandbox and then send notification of owner of sandbox (as long as sandbox username and slack username matches).
+	if ( defined( 'SANDBOX_SLACK_USERNAME' ) ) {
+		$slack_username = SANDBOX_SLACK_USERNAME;
+	} else {
+		$slack_username = '@' . str_replace( array( '.dev.ord', '.dev' ), '', WPORG_SANDBOXED );
+	}
+	define( 'COMMUNITY_TEAM_SLACK', $slack_username );
+	define( 'COMMUNITY_EVENTS_SLACK', $slack_username );
+} else {
+	define( 'COMMUNITY_TEAM_SLACK', '#community-team' );
+	define( 'COMMUNITY_EVENTS_SLACK', '#community-events' );
+}
+
+/**
+ * Send attachment to Make WordPress slack. Will be used to send event notifications to community channels
+ *
+ * @param string $channel Name of the channel we want to send the notification to.
+ * @param array  $attachment Attachment object.
+ *
+ * @return bool|string
+ */
+function wcpt_slack_notify( $channel, $attachment ) {
+	if ( ! class_exists( 'Dotorg\Slack\Send' ) ) {
+		return false;
+	}
+
+	if ( ! defined( 'SLACK_ERROR_REPORT_URL' ) ) {
+		return false;
+	}
+
+	$send = new \Dotorg\Slack\Send( SLACK_ERROR_REPORT_URL );
+	$send->add_attachment( $attachment );
+	return $send->send( $channel );
+}
+
+/**
+ * Creates attachment that can be sent using slack notification.
+ * See the structure of attachment here: https://api.slack.com/docs/message-attachments
+ *
+ * @param string $message Main text to send in the notification.
+ * @param string $title   Title of the notification.
+ *
+ * @return array
+ */
+function create_event_attachment( $message, $title ) {
+	// Not translating because this will be send to Slack.
+	return array(
+		'title' => $title,
+		'text'  => $message,
+	);
+}
+
+/**
+ * Returns an attachment object to customize notification for slack.
+ * See https://api.slack.com/docs/message-attachments
+ *
+ * @param string $message  Text that should be in the attachment.
+ * @param int    $event_id Post ID of the event. Will be used to gather props.
+ * @param string $title    TItle of the message.
+ *
+ * @return array
+ */
+function create_event_status_attachment( $message, $event_id, $title ) {
+	$props = get_props_for_event( $event_id );
+
+	$props_string = implode( ', ', $props );
+
+	return array(
+		'title'  => $title,
+		'text'   => $message,
+		'fields' => array(
+			array(
+				"title" => "Application processed by",
+				"value" => $props_string,
+			),
+		),
+	);
+}
+
+/**
+ * Get and array of usernames for everyone contributed to vetting an event application.
+ * This includes people who have changed statuses, added notes etc.
+ * Currently supports WordCamp and Meetups
+ *
+ * @param int $event_id Id of the event to fetch props for.
+ *
+ * @return array Array of usernames of people who have participated in vetting this application
+ */
+function get_props_for_event( $event_id ) {
+	$user_ids = array();
+
+	$status_change_logs = get_post_meta( $event_id, '_status_change' ) ?? array();
+
+	$user_ids = array_merge( $user_ids, wp_list_pluck( $status_change_logs, 'user_id' ) );
+
+	$notes = get_post_meta( $event_id, '_note' ) ?? array();
+
+	$user_ids = array_merge( $user_ids, wp_list_pluck( $notes, 'user_id' ) );
+
+	$user_ids = array_unique( $user_ids );
+
+	$user_nicenames = get_user_nicenames_from_ids( $user_ids );
+
+	// remove bot user `wordcamp`.
+	$user_nicenames = array_diff( $user_nicenames, array( 'wordcamp' ) );
+	return $user_nicenames;
+}
+
+/**
+ * Return user names for list of user ids provided in the function
+ *
+ * @param array $user_ids List of user_ids.
+ *
+ * @return array List of user nicenames
+ */
+function get_user_nicenames_from_ids( $user_ids ) {
+	if ( empty( $user_ids ) ) {
+		return array();
+	}
+
+	$user_query = new WP_User_Query(
+		array(
+			'include' => $user_ids,
+			'fields'  => array( 'user_nicename' ),
+		)
+	);
+
+	$users = $user_query->get_results();
+	$user_display_names = array();
+	foreach ( $users as $user ) {
+		$user_display_names[] = $user->user_nicename;
+	}
+
+	return $user_display_names;
+}
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php
index 2e0be4ee3..688fe8bae 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-loader.php
@@ -1,4 +1,5 @@
 <?php
+
 /*
 Plugin Name: WordCamp Post Type
 Plugin URI: http://wordcamp.org
@@ -17,77 +18,77 @@ define( 'WCPT_VERSION', '0.1' );
 define( 'WCPT_DIR', plugin_dir_path( __FILE__ ) );
 define( 'WCPT_URL', plugins_url( '/', __FILE__ ) );
 
-if ( !class_exists( 'WCPT_Loader' ) ) :
-/**
- * WCPT_Loader
- *
- * @package
- * @subpackage Loader
- * @since WordCamp Post Type (0.1)
- *
- */
-class WCPT_Loader {
-
+if ( ! class_exists( 'WCPT_Loader' ) ) :
 	/**
-	 * The main WordCamp Post Type loader
+	 * WCPT_Loader
+	 *
+	 * @package
+	 * @subpackage Loader
+	 * @since WordCamp Post Type (0.1)
 	 */
-	function __construct() {
-		add_action( 'plugins_loaded', array( $this, 'core_admin' ) );
-		add_action( 'init', array( $this, 'core_text_domain' ) );
+	class WCPT_Loader {
+		/**
+		 * The main WordCamp Post Type loader
+		 */
+		public function __construct() {
+			add_action( 'plugins_loaded', array( $this, 'core_admin' ) );
+			add_action( 'init', array( $this, 'core_text_domain' ) );
 
-		$this->includes();
-	}
+			$this->includes();
+		}
 
-	/**
-	 * WordCamp Core File Includes
-	 */
-	function includes() {
-		// Load the files
-		require_once ( WCPT_DIR . 'wcpt-functions.php' );
-		require_once ( WCPT_DIR . 'wcpt-wordcamp/wordcamp-loader.php' );
-		require_once ( WCPT_DIR . 'wcpt-meetup/meetup-loader.php' );
-		require_once ( WCPT_DIR . 'wcpt-event/tracker.php' );
-		require_once ( WCPT_DIR . 'wcpt-wordcamp/wordcamp.php' );
-		require_once ( WCPT_DIR . 'wcpt-meetup/meetup.php' );
-		require_once ( WCPT_DIR . 'wcpt-meetup/class-meetup-admin.php' );
+		/**
+		 * WordCamp Core File Includes
+		 */
+		public function includes() {
+			// Load the files.
+			require_once( WCPT_DIR . 'wcpt-functions.php' );
+			require_once( WCPT_DIR . 'wcpt-event/class-event-loader.php' );
+			require_once( WCPT_DIR . 'wcpt-wordcamp/wordcamp-loader.php' );
+			require_once( WCPT_DIR . 'wcpt-meetup/meetup-loader.php' );
+			require_once( WCPT_DIR . 'wcpt-event/tracker.php' );
+			require_once( WCPT_DIR . 'wcpt-wordcamp/wordcamp.php' );
+			require_once( WCPT_DIR . 'wcpt-meetup/meetup.php' );
+			require_once( WCPT_DIR . 'wcpt-meetup/class-meetup-admin.php' );
+			require_once( WCPT_DIR . 'wcpt-event/class-event-admin.php' ); // required for declined application cron to work.
 
-		// Require admin files.
-		if ( is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
-			require_once ( WCPT_DIR . 'wcpt-admin.php' );
-			require_once ( WCPT_DIR . 'wcpt-wordcamp/wordcamp-admin.php' );
-			require_once ( WCPT_DIR . 'wcpt-wordcamp/privacy.php' );
-			require_once ( WCPT_DIR . 'mentors/dashboard.php' );
+			// Require admin files.
+			if ( is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
+				require_once( WCPT_DIR . 'wcpt-admin.php' );
+				require_once( WCPT_DIR . 'wcpt-wordcamp/wordcamp-admin.php' );
+				require_once( WCPT_DIR . 'wcpt-wordcamp/privacy.php' );
+				require_once( WCPT_DIR . 'mentors/dashboard.php' );
+			}
 		}
-	}
 
-	function core_admin() {
-		// Quick admin check
-		if ( ! is_admin() && ( ! defined( 'DOING_CRON' ) || ! DOING_CRON ) ) {
-			return;
-		}
+		/**
+		 * Initialize core admin objects
+		 */
+		public function core_admin() {
+			// Quick admin check.
+			if ( ! is_admin() && ( ! defined( 'DOING_CRON' ) || ! DOING_CRON ) ) {
+				return;
+			}
 
-		// Create admin
-		$GLOBALS['wcpt_admin'] = new WCPT_Admin;
-		$GLOBALS['wordcamp_admin'] = new WordCamp_Admin;
-		$GLOBALS['meetup_admin'] = new Meetup_Admin();
-	}
+			// Create admin.
+			$GLOBALS['wcpt_admin']     = new WCPT_Admin();
+			$GLOBALS['wordcamp_admin'] = new WordCamp_Admin();
+			$GLOBALS['meetup_admin']   = new Meetup_Admin();
+		}
 
-	/**
-	 * core_text_domain ()
-	 *
-	 * Load the translation file for current language
-	 */
-	function core_text_domain() {
-		$locale = apply_filters( 'wcpt_textdomain', get_locale() );
-		$mofile = WCPT_DIR . "wcpt-languages/wcpt-$locale.mo";
+		/**
+		 * Load the translation file for current language
+		 */
+		public function core_text_domain() {
+			$locale = apply_filters( 'wcpt_textdomain', get_locale() );
+			$mofile = WCPT_DIR . "wcpt-languages/wcpt-$locale.mo";
 
-		load_textdomain( 'wcpt', $mofile );
+			load_textdomain( 'wcpt', $mofile );
+		}
 	}
-}
-
-endif; // class_exists check
+endif; // class_exists check.
 
-// Load everything up
-$wcpt_loader     = new WCPT_Loader;
-$wordcamp_loader = new WordCamp_Loader;
-$meetup_loader = new Meetup_Loader();
+// Load everything up.
+$wcpt_loader     = new WCPT_Loader();
+$wordcamp_loader = new WordCamp_Loader();
+$meetup_loader   = new Meetup_Loader();
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-admin.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-admin.php
index f06ba49b2..83d9d288e 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-admin.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-admin.php
@@ -8,8 +8,10 @@
 use \WordPress_Community\Applications\Meetup_Application;
 
 require_once WCPT_DIR . 'wcpt-event/class-event-admin.php';
+require_once WCPT_DIR . 'wcpt-event/notification.php';
 
-if ( ! class_exists( 'MeetupAdmin' ) ) :
+
+if ( ! class_exists( 'Meetup_Admin' ) ) :
 
 	/**
 	 * Implements Meetup Admin class
@@ -87,12 +89,12 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		public function column_headers( $columns ) {
 			$columns = array(
 				'cb'                   => '<input type="checkbox" />',
-				'title'                => __( 'Title', 'wcpt' ),
-				'taxonomy-meetup_tags' => __( 'Meetup Tags', 'wcpt' ),
-				'organizer'            => __( 'Organizer', 'wcpt' ),
-				'date'                 => __( 'Date', 'wcpt' ),
-				'meetup.com_url'       => __( 'Meetup URL', 'wcpt' ),
-				'helpscout_url'        => __( 'HelpScout Link', 'wcpt' ),
+				'title'                => __( 'Title',          'wordcamporg' ),
+				'taxonomy-meetup_tags' => __( 'Meetup Tags',    'wordcamporg' ),
+				'organizer'            => __( 'Organizer',      'wordcamporg' ),
+				'date'                 => __( 'Date',           'wordcamporg' ),
+				'meetup.com_url'       => __( 'Meetup URL',     'wordcamporg' ),
+				'helpscout_url'        => __( 'HelpScout Link', 'wordcamporg' ),
 			);
 
 			return $columns;
@@ -117,6 +119,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 		/**
 		 * Checks if a field is read only.
+		 *
 		 * @param string $key Name of the field.
 		 *
 		 * @return bool Whether `$key` is a protected field.
@@ -165,8 +168,8 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		/**
 		 * TODO: Remove quickedit action.
 		 *
-		 * @param $actions
-		 * @param $post
+		 * @param array   $actions
+		 * @param WP_Post $post
 		 *
 		 * @return mixed
 		 */
@@ -181,7 +184,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 			add_meta_box(
 				'wcpt_meetup_meetup_information',
-				__( 'Meetup Information', 'wcpt' ),
+				__( 'Meetup Information', 'wordcamporg' ),
 				array( $this, 'wcpt_meetup_information_metabox' ),
 				Meetup_Application::POST_TYPE,
 				'advanced'
@@ -189,7 +192,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 			add_meta_box(
 				'wcpt_meetup_application',
-				__( 'Application Information', 'wcpt' ),
+				__( 'Application Information', 'wordcamporg' ),
 				array( $this, 'wcpt_application_metabox' ),
 				Meetup_Application::POST_TYPE,
 				'advanced'
@@ -197,7 +200,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 			add_meta_box(
 				'wcpt_meetup_organizer_info',
-				__( 'Organizer Information', 'wcpt' ),
+				__( 'Organizer Information', 'wordcamporg' ),
 				array( $this, 'wcpt_organizer_info_metabox' ),
 				Meetup_Application::POST_TYPE,
 				'advanced'
@@ -205,7 +208,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 			add_meta_box(
 				'wcpt_meetup_swag',
-				__( 'Swag Information', 'wcpt' ),
+				__( 'Swag Information', 'wordcamporg' ),
 				array( $this, 'wcpt_swag_metabox' ),
 				Meetup_Application::POST_TYPE,
 				'advanced'
@@ -213,7 +216,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 			add_meta_box(
 				'wcpt_meetup_metadata',
-				__( 'Meetup.com API sync', 'wcpt' ),
+				__( 'Meetup.com API sync', 'wordcamporg' ),
 				array( $this, 'wcpt_meetup_sync' ),
 				Meetup_Application::POST_TYPE,
 				'side',
@@ -293,16 +296,16 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 			if ( empty( $last_synced_on ) ) {
 				$last_synced_on = 'Never';
 			} else {
-				$last_synced_on = date( "Y-m-d",  substr( $last_synced_on, 0, 10 ) );
+				$last_synced_on = date( 'Y-m-d',  substr( $last_synced_on, 0, 10 ) );
 			}
 			?>
 			<div class="wcb submitbox">
 				<div class="misc-pub-section">
-					<label>Last sync: <?php echo $last_synced_on ?></label>
+					<label>Last sync: <?php echo esc_html( $last_synced_on ); ?></label>
 				</div>
 				<div class="misc-pub-section">
 					<label>
-						<input type="checkbox" name="<?php echo $element_name ?>" >
+						<input type="checkbox" name="<?php echo esc_html( $element_name ); ?>" >
 						Sync Now
 					</label>
 				</div>
@@ -313,15 +316,15 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		/**
 		 * Updates meetup fields using meetup.com API only if Sync now checkbox is checked.
 		 *
-		 * @param int   $post_id
-		 * @param array $original_meta_values
+		 * @param int $post_id
 		 */
-		public function maybe_update_meetup_data( $post_id ){
+		public function maybe_update_meetup_data( $post_id ) {
 			if ( $this->get_event_type() !== get_post_type() ) {
 				return;
 			}
 
-			$should_sync = $_POST[ 'sync_with_meetup_api' ] ?? false;
+			//phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce verified in `metabox_save` in class-event-admin.php.
+			$should_sync = $_POST['sync_with_meetup_api'] ?? false;
 			if ( ! $should_sync ) {
 				return;
 			}
@@ -337,7 +340,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		/**
 		 * Update meetup fields using meetup.com API
 		 *
-		 * @param $post_id
+		 * @param int $post_id
 		 *
 		 * @return array|WP_Error
 		 */
@@ -347,7 +350,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 			$parsed_url = wp_parse_url( $meetup_url, -1 );
 
-			if( ! $parsed_url ) {
+			if ( ! $parsed_url ) {
 				return new WP_Error( 'invalid-url', __('Provided Meetup URL is not a valid URL.', 'wordcamporg' ) );
 			}
 			$url_path_segments = explode( '/', rtrim( $parsed_url['path'], '/' ) );
@@ -388,12 +391,12 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 			if ( isset( $group_leads ) && is_array( $group_leads ) ) {
 				foreach ( $group_leads as $event_host ) {
 					if ( WCPT_WORDPRESS_MEETUP_ID === $event_host['id'] ) {
-						// Skip WordPress admin user
+						// Skip WordPress admin user.
 						continue;
 					}
 					$event_hosts[] = array(
-							'name' => $event_host['name'],
-							'id'   => $event_host['id'],
+						'name' => $event_host['name'],
+						'id'   => $event_host['id'],
 					);
 				}
 			}
@@ -403,7 +406,6 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 			update_post_meta( $post_id, 'Meetup members count', $group_details['members'] );
 			update_post_meta( $post_id, 'Meetup group created on', $group_details['created'] / 1000 );
 
-
 			if ( isset( $group_details['last_event'] ) && is_array( $group_details['last_event'] ) ) {
 				update_post_meta( $post_id, 'Number of past meetups', $group_details['past_event_count'] );
 				update_post_meta( $post_id, 'Last meetup on', $group_details['last_event']['time'] / 1000 );
@@ -420,7 +422,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		 * @param int   $post_id
 		 * @param array $original_data
 		 */
-		public function meetup_organizers_changed( $post_id, $original_data ){
+		public function meetup_organizers_changed( $post_id, $original_data ) {
 			global $post;
 
 			if ( $this->get_event_type() !== get_post_type() ) {
@@ -478,6 +480,65 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 
 		}
 
+		/**
+		 * Send notification to slack when a Meetup becomes active in the chapter or is declined.
+		 *
+		 * @param string  $new_status
+		 * @param string  $old_status
+		 * @param WP_Post $meetup
+		 *
+		 * @return null|bool Will be null if notification was not enabled, or false if notifcation was attempted but failed. true if notification was successful
+		 */
+		public function notify_application_status_in_slack( $new_status, $old_status, WP_Post $meetup ) {
+
+			$notification_enabled = apply_filters( 'meetup_application_notification_enabled', true );
+
+			if ( ! $notification_enabled ) {
+				return null;
+			}
+
+			if ( 'wcpt-mtp-active' === $new_status && 'wcpt-mtp-active' !== $old_status ) {
+				return $this->notify_new_meetup_group_in_slack( $meetup );
+			} elseif ( 'wcpt-mtp-rejected' === $new_status && 'wcpt-mtp-rejected' !== $old_status ) {
+				$location = get_post_meta( $meetup->ID, 'Meetup Location', true );
+				return $this->schedule_decline_notification( $meetup, $this->get_event_label(), $location );
+			}
+		}
+
+		/**
+		 * Send notification when a new Meetup groups is added to the chapter.
+		 *
+		 * @param WP_Post $meetup Meetup post object.
+		 *
+		 * @return null|bool|string
+		 */
+		public static function notify_new_meetup_group_in_slack( $meetup ) {
+			$new_group_notification_key = 'sent_new_group_notification';
+			if ( get_post_meta( $meetup->ID, $new_group_notification_key, true ) ) {
+				return null;
+			}
+			// Not translating strings here because these will be sent to Slack.
+			$city            = get_post_meta( $meetup->ID, 'Meetup Location', true );
+			$organizer_slack = get_post_meta( $meetup->ID, 'Slack', true );
+			$meetup_link     = get_post_meta( $meetup->ID, 'Meetup URL', true );
+			$title           = 'New meetup group added';
+
+			$message = sprintf(
+				"Let's welcome the new WordPress meetup group%s%s, to the chapter! :tada: :community: :wordpress:\n%s",
+				empty( $city ) ? '' : " in $city,",
+				empty( $organizer_slack ) ? '' : " organized by @$organizer_slack",
+				$meetup_link
+			);
+
+			$attachment = create_event_status_attachment( $message, $meetup->ID, $title );
+
+			$notification_sent = wcpt_slack_notify( COMMUNITY_EVENTS_SLACK, $attachment );
+			if ( $notification_sent ) {
+				update_post_meta( $meetup->ID, $new_group_notification_key, true );
+			}
+			return $notification_sent;
+		}
+
 		/**
 		 * Helper function for getting list of organizers.
 		 *
@@ -502,8 +563,8 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		/**
 		 * Helper method which triggers action `update_meetup_organizers`
 		 *
-		 * @param $organizers
-		 * @param $post
+		 * @param array   $organizers
+		 * @param WP_Post $post
 		 */
 		protected function update_meetup_organizers( $organizers, $post ) {
 			if ( ! empty( $organizers ) ) {
@@ -525,15 +586,15 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 				),
 				'invalid-response'   => array(
 					'type'   => 'notice',
-					'notice' => __( 'Received invalid response from Meetup API. Please make sure Meetup URL is correct, or try again after some time.', 'wordcamporg' )
+					'notice' => __( 'Received invalid response from Meetup API. Please make sure Meetup URL is correct, or try again after some time.', 'wordcamporg' ),
 				),
 				'group_error'        => array(
 					'type'   => 'notice',
-					'notice' => __( 'Received invalid response from Meetup API. Please make sure Meetup URL is correct, or try again after some time.', 'wordcamporg' )
+					'notice' => __( 'Received invalid response from Meetup API. Please make sure Meetup URL is correct, or try again after some time.', 'wordcamporg' ),
 				),
 				'http_response_code' => array(
 					'type'   => 'notice',
-					'notice' => __( 'Received invalid response code from Meetup API. Please make sure Meetup URL is correct, or try again after some time.', 'wordcamporg' )
+					'notice' => __( 'Received invalid response code from Meetup API. Please make sure Meetup URL is correct, or try again after some time.', 'wordcamporg' ),
 				),
 			);
 
@@ -542,7 +603,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		/**
 		 * Render list of co-organizer of meetup linking to their profile on meetup.com
 		 *
-		 * @param string $key Name of meetup field. Should be 'Meetup Co-organizer names'
+		 * @param string $key Name of meetup field. Should be 'Meetup Co-organizer names'.
 		 */
 		public function render_co_organizers_list( $key ) {
 			global $post_id;
@@ -550,9 +611,9 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 				return;
 			}
 			$organizers = get_post_meta( $post_id, $key, true );
-			if ( isset ( $organizers ) && is_array( $organizers ) ) {
+			if ( isset( $organizers ) && is_array( $organizers ) ) {
 				$group_slug = get_post_meta( $post_id, 'Meetup URL', true );
-				if ( empty ( $group_slug ) ) {
+				if ( empty( $group_slug ) ) {
 					echo 'Invalid Meetup Group URL';
 					return;
 				}
@@ -570,7 +631,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 				}
 				echo '</ul>';
 			} else {
-				echo __( 'No meetup organizers set.', 'wordcamp.org' );
+				esc_html_e( 'No meetup organizers set.', 'wordcamp.org' );
 			}
 		}
 
@@ -687,12 +748,14 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 		 * Cron worker for syncing with Meetup.com API data
 		 */
 		public static function meetup_api_sync() {
-			$query = new WP_Query( array(
-				'post_type'   => self::get_event_type(),
-				'post_status' => 'wcpt-mtp-active',
-				'fields'      => 'ids',
-				'posts_per_page' => -1,
-			) );
+			$query = new WP_Query(
+				array(
+					'post_type'      => self::get_event_type(),
+					'post_status'    => 'wcpt-mtp-active',
+					'fields'         => 'ids',
+					'posts_per_page' => - 1,
+				)
+			);
 
 			$new_meetup_org_data = array();
 			foreach ( $query->posts as $post_id ) {
@@ -714,7 +777,7 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 					);
 				}
 
-				if ( empty ( $new_ids ) ) {
+				if ( empty( $new_ids ) ) {
 					continue;
 				}
 
@@ -726,53 +789,8 @@ if ( ! class_exists( 'MeetupAdmin' ) ) :
 					}
 				}
 			}
-			self::new_meetup_organizers_notify( $new_meetup_org_data );
 		}
 
-		/**
-		 * Send email containing new meetup organizers to WordCamp Support team. Also adds a tag - `Needs to update Organizer list`
-		 *
-		 * @param array $new_meetup_org_data
-		 */
-		public static function new_meetup_organizers_notify( $new_meetup_org_data ) {
-			if ( empty( $new_meetup_org_data ) ) {
-				return;
-			}
-
-			$template = <<<HTML
-Hi,
-<br><br>
-New organizers have been added for following meetups. Please update their wporg usernames in their meetup tracker page.
-<br><br>
-HTML;
-			$count = 0;
-			foreach ( $new_meetup_org_data as $post_id => $new_meetup_org ) {
-				$count += 1;
-				$title = get_the_title( $post_id );
-				$meetup_tracker_url = get_site_url() . "/wp-admin/post.php?post=$post_id&action=edit";
-				$template = $template . "$count. <a href='$meetup_tracker_url' rel='noreferrer' target='_blank' >$title</a> : ";
-				$meetup_group_url = get_post_meta( $post_id, 'Meetup URL', true );
-				$meetup_members = array();
-				foreach ( $new_meetup_org as $organizer ) {
-					$organizer_id = esc_html( $organizer['id'] );
-					$organizer_name = esc_html( $organizer['name'] );
-					$meetup_members[] = "<a href='$meetup_group_url/members/$organizer_id' target='_blank' rel='noreferrer' >$organizer_name</a>";
-				}
-				$template = $template . join( ', ', $meetup_members ) . "<br>";
-
-				// Add a tag for meetup
-				wp_set_object_terms( $post_id, 'Needs to update Organizer list', 'meetup_tags', true );
-			}
-			wp_mail(
-				array( 'support@wordcamp.org' ),
-				'New Meetup organizer added',
-				$template,
-				array(
-					'From:         noreply@wordcamp.org',
-					'Content-Type: text/html; charset=UTF-8',
-				)
-			);
-		}
 	}
 
 endif;
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-application.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-application.php
index f3c1daffc..63bf2e0d9 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-application.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/class-meetup-application.php
@@ -54,6 +54,7 @@ class Meetup_Application extends Event_Application {
 	public static function get_post_statuses() {
 		return array(
 			'wcpt-mtp-nds-vet'   => _x( 'Needs Vetting', 'Meetup status', 'wordcamporg' ),
+			'wcpt-mpt-awt-fdb'   => _x( 'Awaiting Feedback', 'Meetup status', 'wordcamporg' ),
 			'wcpt-mtp-nds-ori'   => _x( 'Needs Orientation/Interview', 'Meetup status', 'wordcamporg' ),
 			'wcpt-mtp-schdlng'   => _x( 'Scheduling', 'Meetup status', 'wordcamporg' ),
 			'wcpt-mtp-schdld'    => _x( 'Scheduled', 'Meetup status', 'wordcamporg' ),
@@ -80,7 +81,7 @@ class Meetup_Application extends Event_Application {
 	/**
 	 * Enqueue scripts and stylesheets.
 	 */
-	function enqueue_assets() {
+	public function enqueue_assets() {
 		global $post;
 
 		wp_register_script(
@@ -161,7 +162,7 @@ class Meetup_Application extends Event_Application {
 	 * @return array
 	 */
 	public function get_default_application_values() {
-		// WordCamp uses an ID with questions. Not sure how are they used. Ask @corey
+		// WordCamp uses an ID with questions. Not sure how are they used. Ask @corey.
 		$values = array(
 			'q_name'                => '',
 			'q_email'               => '',
@@ -230,14 +231,22 @@ ADDRESS;
 		add_post_meta( $post_id, 'Date Applied', time() );
 		add_post_meta( $post_id, 'Extra Comments', $data['q_additional_comments'] );
 		add_post_meta( $post_id, 'Meetup Location', $data['q_mtp_loc'] );
-		add_post_meta(
-			$post_id, '_status_change', array(
+
+		$status_log_id = add_post_meta(
+			$post_id,
+			'_status_change',
+			array(
 				'timestamp' => time(),
 				'user_id'   => $wordcamp_user_id,
 				'message'   => sprintf( '%s &rarr; %s', 'Application', $statuses[ self::get_default_status() ] ),
 			)
 		);
 
+		// See Event_admin::log_status_changes().
+		if ( $status_log_id ) {
+			add_post_meta( $post_id, "_status_change_log_{$post['post_type']} $status_log_id", time() );
+		}
+
 		$this->post = get_post( $post_id );
 
 		return true;
@@ -270,8 +279,15 @@ ADDRESS;
 	 */
 	public function get_event_location() {
 		if ( isset( $this->post->ID ) ) {
-			return get_post_meta( $this->post->ID, 'q_city', true );
+			return get_post_meta( $this->post->ID, 'Meetup Location', true );
 		}
 	}
 
+	/**
+	 * Public report URL for Meetup Applications
+	 */
+	public static function get_application_report_url() {
+		return 'https://central.wordcamp.org/reports/meetup-applications/';
+	}
+
 }
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup.php
index 21bc4a68a..6c87b6a42 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-meetup/meetup.php
@@ -2,10 +2,10 @@
 
 namespace WordPress_Community\Applications\Meetup;
 
-require_once 'class-meetup-application.php';
+require_once WCPT_DIR . 'wcpt-meetup/class-meetup-application.php';
 use WordPress_Community\Applications\Meetup_Application;
 
-defined( 'WPINC' ) or die();
+defined( 'WPINC' ) || die();
 
 /*
  * todo
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/class-wordcamp-application.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/class-wordcamp-application.php
index 8c6bd27ab..5ebf3eca0 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/class-wordcamp-application.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/class-wordcamp-application.php
@@ -13,8 +13,13 @@ class WordCamp_Application extends Event_Application {
 
 	const SHORTCODE_SLUG = 'wordcamp-organizer-application';
 
-	static function get_event_label() {
-		__( 'WordCamp', 'wordcamporg' );
+	/**
+	 * Return publicly displayed name of the event
+	 *
+	 * @return string
+	 */
+	public static function get_event_label() {
+		return __( 'WordCamp', 'wordcamporg' );
 	}
 
 	/**
@@ -22,14 +27,14 @@ class WordCamp_Application extends Event_Application {
 	 *
 	 * @return string
 	 */
-	static function get_event_type() {
+	public static function get_event_type() {
 		return WCPT_POST_TYPE_ID;
 	}
 
 	/**
 	 * Enqueue scripts and stylesheets
 	 */
-	function enqueue_assets() {
+	public function enqueue_assets() {
 		global $post;
 
 		wp_register_script(
@@ -52,7 +57,7 @@ class WordCamp_Application extends Event_Application {
 	 *
 	 * @return null|void
 	 */
-	function render_application_form( $countries ) {
+	public function render_application_form( $countries ) {
 		render_wordcamp_application_form( $countries );
 	}
 
@@ -63,7 +68,7 @@ class WordCamp_Application extends Event_Application {
 	 *
 	 * @return array|\WP_Error
 	 */
-	function validate_data( $unsafe_data ) {
+	public function validate_data( $unsafe_data ) {
 		$safe_data   = array();
 		$unsafe_data = shortcode_atts( $this->get_default_application_values(), $unsafe_data );
 
@@ -97,9 +102,9 @@ class WordCamp_Application extends Event_Application {
 	 *
 	 * @return array
 	 */
-	function get_default_application_values() {
+	public function get_default_application_values() {
 		$values = array(
-			// Part 1
+			// Part 1.
 			'q_1079074_first_name'                       => '',
 			'q_1079074_last_name'                        => '',
 			'q_1079059_email'                            => '',
@@ -117,7 +122,7 @@ class WordCamp_Application extends Event_Application {
 			'q_1068223_hope_to_accomplish'               => array(),
 			'q_1068223_hope_to_accomplish_other'         => '',
 
-			// Part 2
+			// Part 2.
 			'q_1045950_active_meetup'                    => '',
 			'q_1045953_role_in_meetup'                   => '',
 			'q_1045972_meetup_url'                       => '',
@@ -127,7 +132,7 @@ class WordCamp_Application extends Event_Application {
 			'q_1079086_other_tech_events'                => '',
 			'q_1079082_other_tech_events_success'        => '',
 
-			// Part 3
+			// Part 3.
 			'q_1079103_wordcamp_location'                => '',
 			'q_1046006_wordcamp_date'                    => '',
 			'q_1046007_how_many_attendees'               => '',
@@ -148,7 +153,7 @@ class WordCamp_Application extends Event_Application {
 			'where_find_online'                          => '',
 			'q_1079098_anything_else'                    => '',
 
-			// Bonus
+			// Bonus.
 			'q_1079112_best_describes_you'               => '',
 			'q_1079112_best_describes_you_other'         => '',
 		);
@@ -156,6 +161,24 @@ class WordCamp_Application extends Event_Application {
 		return $values;
 	}
 
+	/**
+	 * Gets default status of new WordCamp application
+	 *
+	 * @return string
+	 */
+	public static function get_default_status() {
+		return WCPT_DEFAULT_STATUS;
+	}
+
+	/**
+	 * Public report URL for WordCamp applications.
+	 *
+	 * @return string
+	 */
+	public static function get_application_report_url() {
+		return 'https://central.wordcamp.org/reports/application-status/';
+	}
+
 	/**
 	 * Create a WordCamp post from an application
 	 *
@@ -163,8 +186,8 @@ class WordCamp_Application extends Event_Application {
 	 *
 	 * @return bool|\WP_Error
 	 */
-	function create_post( $data ) {
-		// Create the post
+	public function create_post( $data ) {
+		// Create the post.
 		$user      = wcorg_get_user_by_canonical_names( $data['q_4236565_wporg_username'] );
 		$statues   = \WordCamp_Loader::get_post_statuses();
 		$countries = wcorg_get_countries();
@@ -173,7 +196,7 @@ class WordCamp_Application extends Event_Application {
 			'post_type'   => $this->get_event_type(),
 			'post_title'  => 'WordCamp ' . $data['q_1079103_wordcamp_location'],
 			'post_status' => WCPT_DEFAULT_STATUS,
-			'post_author' => is_a( $user, 'WP_User' ) ? $user->ID : 7694169, // Set `wordcamp` as author if supplied username is not valid
+			'post_author' => is_a( $user, 'WP_User' ) ? $user->ID : 7694169, // Set `wordcamp` as author if supplied username is not valid.
 		);
 
 		$post_id = wp_insert_post( $post, true );
@@ -182,12 +205,14 @@ class WordCamp_Application extends Event_Application {
 			return $post_id;
 		}
 
-		// Populate the meta fields
+		// Populate the meta fields.
 		add_post_meta( $post_id, '_application_data', $data );
 		add_post_meta( $post_id, '_application_submitter_ip_address', $_SERVER['REMOTE_ADDR'] );
 
 		add_post_meta(
-			$post_id, 'Organizer Name', sprintf(
+			$post_id,
+			'Organizer Name',
+			sprintf(
 				'%s %s',
 				$data['q_1079074_first_name'],
 				$data['q_1079074_last_name']
@@ -200,7 +225,9 @@ class WordCamp_Application extends Event_Application {
 		add_post_meta( $post_id, 'WordPress.org Username', $data['q_4236565_wporg_username'] );
 
 		add_post_meta(
-			$post_id, 'Mailing Address', sprintf(
+			$post_id,
+			'Mailing Address',
+			sprintf(
 				"%s\n%s%s%s %s\n%s",
 				$data['q_1079060_add1'],
 				$data['q_1079060_add2'] ? $data['q_1079060_add2'] . "\n" : '',
@@ -212,7 +239,9 @@ class WordCamp_Application extends Event_Application {
 		);
 
 		add_post_meta(
-			$post_id, '_status_change', array(
+			$post_id,
+			'_status_change',
+			array(
 				'timestamp' => time(),
 				'user_id'   => is_a( $user, 'WP_User' ) ? $user->ID : 0,
 				'message'   => sprintf( '%s &rarr; %s', 'Application', $statues[ WCPT_DEFAULT_STATUS ] ),
@@ -228,9 +257,9 @@ class WordCamp_Application extends Event_Application {
 	 *
 	 * @return null|string
 	 */
-	function get_organizer_email() {
+	public function get_organizer_email() {
 		if ( isset( $this->post ) && isset( $this->post->ID ) ) {
-			return get_post_meta( $this->post->ID, 'q_1079059_email' );
+			return get_post_meta( $this->post->ID, 'Email Address', true );
 		}
 	}
 
@@ -239,9 +268,9 @@ class WordCamp_Application extends Event_Application {
 	 *
 	 * @return null|string
 	 */
-	function get_event_location() {
+	public function get_event_location() {
 		if ( isset( $this->post ) && isset( $this->post->ID ) ) {
-			return get_post_meta( $this->post->ID, 'q_1079103_wordcamp_location' );
+			return get_post_meta( $this->post->ID, 'Location', true );
 		}
 	}
 
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php
index 18eabc13a..87c13fdcf 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-admin.php
@@ -5,6 +5,7 @@ use WordCamp\Mentors_Dashboard;
 use WordPress_Community\Applications\WordCamp_Application;
 
 require_once WCPT_DIR . 'wcpt-event/class-event-admin.php';
+require_once WCPT_DIR . 'wcpt-event/notification.php';
 
 if ( ! class_exists( 'WordCamp_Admin' ) ) :
 	/**
@@ -21,17 +22,17 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		/**
 		 * Initialize WCPT Admin
 		 */
-		function __construct() {
+		public function __construct() {
 
 			parent::__construct();
 
-			// Add some general styling to the admin area
+			// Add some general styling to the admin area.
 			add_action( 'wcpt_admin_head', array( $this, 'admin_head' ) );
 
-			// Scripts and CSS
+			// Scripts and CSS.
 			add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
 
-			// Post status transitions
+			// Post status transitions.
 			add_action( 'transition_post_status', array( $this, 'trigger_schedule_actions' ), 10, 3 );
 			add_action( 'wcpt_approved_for_pre_planning', array( $this, 'add_organizer_to_central' ), 10 );
 			add_action( 'wcpt_approved_for_pre_planning', array( $this, 'mark_date_added_to_planning_schedule' ), 10 );
@@ -39,13 +40,16 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 			add_filter( 'wp_insert_post_data', array( $this, 'enforce_post_status' ), 10, 2 );
 
 			add_filter(
-				'wp_insert_post_data', array(
+				'wp_insert_post_data',
+				array(
 					$this,
 					'require_complete_meta_to_publish_wordcamp',
-				), 11, 2
-			); // after enforce_post_status
+				),
+				11,
+				2
+			); // after enforce_post_status.
 
-			// Cron jobs
+			// Cron jobs.
 			add_action( 'plugins_loaded', array( $this, 'schedule_cron_jobs' ), 11 );
 			add_action( 'wcpt_close_wordcamps_after_event', array( $this, 'close_wordcamps_after_event' ) );
 			add_action( 'wcpt_metabox_save_done', array( $this, 'update_venue_address' ), 10, 2 );
@@ -53,16 +57,14 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		}
 
 		/**
-		 * metabox ()
-		 *
 		 * Add the metabox
 		 *
 		 * @uses add_meta_box
 		 */
-		function metabox() {
+		public function metabox() {
 			add_meta_box(
 				'wcpt_information',
-				__( 'WordCamp Information', 'wcpt' ),
+				__( 'WordCamp Information', 'wordcamporg' ),
 				'wcpt_wordcamp_metabox',
 				WCPT_POST_TYPE_ID,
 				'advanced',
@@ -71,7 +73,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 
 			add_meta_box(
 				'wcpt_organizer_info',
-				__( 'Organizing Team', 'wcpt' ),
+				__( 'Organizing Team', 'wordcamporg' ),
 				'wcpt_organizer_metabox',
 				WCPT_POST_TYPE_ID,
 				'advanced',
@@ -80,7 +82,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 
 			add_meta_box(
 				'wcpt_venue_info',
-				__( 'Venue Information', 'wcpt' ),
+				__( 'Venue Information', 'wordcamporg' ),
 				'wcpt_venue_metabox',
 				WCPT_POST_TYPE_ID,
 				'advanced',
@@ -89,7 +91,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 
 			add_meta_box(
 				'wcpt_contributor_info',
-				__( 'Contributor Day Information', 'wcpt' ),
+				__( 'Contributor Day Information', 'wordcamporg' ),
 				'wcpt_contributor_metabox',
 				WCPT_POST_TYPE_ID,
 				'advanced'
@@ -102,7 +104,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 *
 		 * @return string
 		 */
-		static function get_event_label() {
+		public static function get_event_label() {
 			return WordCamp_Application::get_event_label();
 		}
 
@@ -111,29 +113,35 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 *
 		 * @return string
 		 */
-		static function get_event_type() {
+		public static function get_event_type() {
 			return WordCamp_Application::get_event_type();
 		}
 
 		/**
 		 * Check if a field is readonly.
 		 *
-		 * @param $key
+		 * @param string $key
 		 *
 		 * @return bool
 		 */
-		function _is_protected_field( $key ) {
+		public function _is_protected_field( $key ) {
 			return self::is_protected_field( $key );
 		}
 
+		/**
+		 * Update mentor username.
+		 *
+		 * @param int $post_id
+		 */
 		public function update_mentor( $post_id ) {
 			if ( $this->get_event_type() !== get_post_type() ) {
 				return;
 			}
 
-			// If the Mentor username changed, update the site
+			// If the Mentor username changed, update the site.
+			//phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce verified in `metabox_save` in class-event-admin.php.
 			$mentor_username = $_POST[ wcpt_key_to_str( 'Mentor WordPress.org User Name', 'wcpt_' ) ];
-			if ( $mentor_username !== get_post_meta( $post_id, 'Mentor WordPress.org User Name', true ) ) {
+			if ( get_post_meta( $post_id, 'Mentor WordPress.org User Name', true ) !== $mentor_username ) {
 				$this->add_mentor( get_post( $post_id ), $mentor_username );
 			}
 
@@ -144,36 +152,41 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 *
 		 * These are used for the maps on Central, stats, etc.
 		 *
-		 * @param int   $post_id              Post id
-		 * @param array $original_meta_values Original meta values before save
+		 * @param int   $post_id              Post id.
+		 * @param array $original_meta_values Original meta values before save.
 		 */
 		public function update_venue_address( $post_id, $original_meta_values ) {
 			if ( $this->get_event_type() !== get_post_type() ) {
 				return;
 			}
 
-			// If the venue address was changed, update its coordinates
+			// If the venue address was changed, update its coordinates.
+			//phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce verified in `metabox_save` in class-event-admin.php.
 			$new_address = $_POST[ wcpt_key_to_str( 'Physical Address', 'wcpt_' ) ];
-			if ( $new_address === $original_meta_values['Physical Address'][0] ) {
+			if ( ! empty( $original_meta_values['Physical Address'][0] ) && $new_address === $original_meta_values['Physical Address'][0] ) {
 				return;
 			}
 
-			$request_url = add_query_arg( array(
-				'address' => rawurlencode( $new_address ),
-			), 'https://maps.googleapis.com/maps/api/geocode/json' );
+			$request_url = add_query_arg(
+				array(
+					'address' => rawurlencode( $new_address ),
+				),
+				'https://maps.googleapis.com/maps/api/geocode/json'
+			);
 
 			$key = apply_filters( 'wordcamp_google_maps_api_key', '', 'server' );
 
 			if ( $key ) {
-				$request_url = add_query_arg( array(
-					'key' => $key,
-				), $request_url );
+				$request_url = add_query_arg(
+					array( 'key' => $key ),
+					$request_url
+				);
 			}
 
 			$response = wcorg_redundant_remote_get( $request_url );
 			$body     = json_decode( wp_remote_retrieve_body( $response ) );
 
-			// Don't delete the existing (and probably good) values if the request failed
+			// Don't delete the existing (and probably good) values if the request failed.
 			if ( is_wp_error( $response ) || empty( $body->results[0]->address_components ) ) {
 				Logger\log( 'geocoding_failure', compact( 'request_url', 'response' ) );
 				return;
@@ -196,7 +209,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 *
 		 * @see https://developers.google.com/maps/documentation/geocoding/intro#Types API response schema
 		 *
-		 * @param $response
+		 * @param array $response
 		 *
 		 * @return array
 		 */
@@ -223,7 +236,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 								break;
 
 							case 'country':
-								$country_code = $component->short_name; // This is not guaranteed to be ISO 3166-1 alpha-2, but should match in most cases
+								$country_code = $component->short_name; // This is not guaranteed to be ISO 3166-1 alpha-2, but should match in most cases.
 								$country_name = $component->long_name;
 								break;
 
@@ -270,7 +283,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 *
 		 * @return array
 		 */
-		static function meta_keys( $meta_group = '' ) {
+		public static function meta_keys( $meta_group = '' ) {
 			/*
 			 * Warning: These keys are used for both the input field label and the postmeta key, so if you want to
 			 * modify an existing label then you'll also need to migrate any rows in the database to use the new key.
@@ -287,7 +300,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 					$retval = array(
 						'Organizer Name'                   => 'text',
 						'WordPress.org Username'           => 'text',
-						'Email Address'                    => 'text', // Note: This is the lead organizer's e-mail address, which is different than the "E-mail Address" field
+						'Email Address'                    => 'text', // Note: This is the lead organizer's e-mail address, which is different than the "E-mail Address" field.
 						'Telephone'                        => 'text',
 						'Mailing Address'                  => 'textarea',
 						'Sponsor Wrangler Name'            => 'text',
@@ -340,7 +353,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 					break;
 
 				case 'contributor':
-					// These fields names need to be unique, hence the 'Contributor' prefix on each one
+					// These fields names need to be unique, hence the 'Contributor' prefix on each one.
 					$retval = array(
 						'Contributor Day'                => 'checkbox',
 						'Contributor Day Date (YYYY-mm-dd)' => 'date',
@@ -359,7 +372,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 						'Location'                        => 'text',
 						'URL'                             => 'wc-url',
 						'E-mail Address'                  => 'text',
-						// Note: This is the address for the entire organizing team, which is different than the "Email Address" field
+						// Note: This is the address for the entire organizing team, which is different than the "Email Address" field.
 						'Twitter'                         => 'text',
 						'WordCamp Hashtag'                => 'text',
 						'Number of Anticipated Attendees' => 'text',
@@ -455,7 +468,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 *
 		 * @return array
 		 */
-		static function get_venue_address_meta_keys() {
+		public static function get_venue_address_meta_keys() {
 			return array(
 				'_venue_coordinates',
 				'_venue_city',
@@ -470,12 +483,12 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 * Fired during admin_print_styles
 		 * Adds jQuery UI
 		 */
-		function admin_scripts() {
+		public function admin_scripts() {
 
-			// Edit WordCamp screen
+			// Edit WordCamp screen.
 			if ( WCPT_POST_TYPE_ID === get_post_type() ) {
 
-				// Default data
+				// Default data.
 				$data = array(
 					'Mentors' => array(
 						'l10n' => array(
@@ -485,7 +498,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 					),
 				);
 
-				// Only include mentor data if the Mentor username field is editable
+				// Only include mentor data if the Mentor username field is editable.
 				if ( current_user_can( 'wordcamp_manage_mentors' ) ) {
 					$data['Mentors']['data'] = Mentors_Dashboard\get_all_mentor_data();
 				}
@@ -499,12 +512,10 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		}
 
 		/**
-		 * admin_head ()
-		 *
 		 * Add some general styling to the admin area
 		 */
-		function admin_head() {
-			if ( ! empty( $_GET['post_type'] ) && $_GET['post_type'] == WCPT_POST_TYPE_ID ) : ?>
+		public function admin_head() {
+			if ( ! empty( $_GET['post_type'] ) && WCPT_POST_TYPE_ID == $_GET['post_type'] ) : ?>
 
 			.column-title { width: 40%; }
 			.column-wcpt_location, .column-wcpt_date, column-wcpt_organizer { white-space: nowrap; }
@@ -514,36 +525,32 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		}
 
 		/**
-		 * user_profile_update ()
-		 *
 		 * Responsible for showing additional profile options and settings
 		 *
 		 * @todo Everything
 		 */
-		function user_profile_update( $user_id ) {
+		public function user_profile_update( $user_id ) {
 			if ( ! wcpt_has_access() ) {
 				return false;
 			}
 		}
 
 		/**
-		 * user_profile_wordcamp ()
-		 *
 		 * Responsible for saving additional profile options and settings
 		 *
 		 * @todo Everything
 		 */
-		function user_profile_wordcamp( $profileuser ) {
+		public function user_profile_wordcamp( $profileuser ) {
 			if ( ! wcpt_has_access() ) {
 				return false;
 			}
 			?>
 
-		<h3><?php _e( 'WordCamps', 'wcpt' ); ?></h3>
+		<h3><?php esc_html_e( 'WordCamps', 'wordcamporg' ); ?></h3>
 
 		<table class="form-table">
 			<tr valign="top">
-				<th scope="row"><?php _e( 'WordCamps', 'wcpt' ); ?></th>
+				<th scope="row"><?php esc_html_e( 'WordCamps', 'wordcamporg' ); ?></th>
 
 				<td>
 				</td>
@@ -554,99 +561,97 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		}
 
 		/**
-		 * column_headers ()
-		 *
 		 * Manage the column headers
 		 *
 		 * @param array $columns
+		 *
 		 * @return array $columns
 		 */
-		function column_headers( $columns ) {
+		public function column_headers( $columns ) {
 			$columns = array(
 				'cb'             => '<input type="checkbox" />',
-				'title'          => __( 'Title', 'wcpt' ),
-				// 'wcpt_location'    => __( 'Location', 'wcpt' ),
-				'wcpt_date'      => __( 'Date', 'wcpt' ),
-				'wcpt_organizer' => __( 'Organizer', 'wcpt' ),
-				'wcpt_venue'     => __( 'Venue', 'wcpt' ),
-				'date'           => __( 'Status', 'wcpt' ),
+				'title'          => __( 'Title',     'wordcamporg' ),
+				// 'wcpt_location'    => __( 'Location', 'wordcamporg' ),
+				'wcpt_date'      => __( 'Date',      'wordcamporg' ),
+				'wcpt_organizer' => __( 'Organizer', 'wordcamporg' ),
+				'wcpt_venue'     => __( 'Venue',     'wordcamporg' ),
+				'date'           => __( 'Status',    'wordcamporg' ),
 			);
 			return $columns;
 		}
 
 		/**
-		 * column_data ( $column, $post_id )
-		 *
 		 * Print extra columns
 		 *
 		 * @param string $column
 		 * @param int    $post_id
 		 */
-		function column_data( $column, $post_id ) {
-			if ( $_GET['post_type'] !== WCPT_POST_TYPE_ID ) {
+		public function column_data( $column, $post_id ) {
+			if ( WCPT_POST_TYPE_ID !== $_GET['post_type'] ) {
 				return $column;
 			}
 
 			switch ( $column ) {
 				case 'wcpt_location':
-					echo wcpt_get_wordcamp_location() ? wcpt_get_wordcamp_location() : __( 'No Location', 'wcpt' );
+					echo esc_html( wcpt_get_wordcamp_location() ? wcpt_get_wordcamp_location() : __( 'No Location', 'wordcamporg' ) );
 					break;
 
 				case 'wcpt_date':
-					// Has a start date
-					if ( $start = wcpt_get_wordcamp_start_date() ) {
-
-						// Has an end date
-						if ( $end = wcpt_get_wordcamp_end_date() ) {
-							$string_date = sprintf( __( 'Start: %1$s<br />End: %2$s', 'wcpt' ), $start, $end );
-
-							// No end date
+					// Has a start date.
+					$start = wcpt_get_wordcamp_start_date();
+					if ( $start ) {
+
+						// Has an end date.
+						$end = wcpt_get_wordcamp_end_date();
+						if ( $end ) {
+							$string_date = sprintf( __( 'Start: %1$s<br />End: %2$s', 'wordcamporg' ), $start, $end );
+							// No end date.
 						} else {
-							$string_date = sprintf( __( 'Start: %1$s', 'wcpt' ), $start );
+							$string_date = sprintf( __( 'Start: %1$s', 'wordcamporg' ), $start );
 						}
 
-						// No date
+						// No date.
 					} else {
-						$string_date = __( 'No Date', 'wcpt' );
+						$string_date = __( 'No Date', 'wordcamporg' );
 					}
 
-					echo $string_date;
+					echo wp_kses( $string_date, array( 'br' => array() ) );
 					break;
 
 				case 'wcpt_organizer':
-					echo wcpt_get_wordcamp_organizer_name() ? wcpt_get_wordcamp_organizer_name() : __( 'No Organizer', 'wcpt' );
+					echo esc_html( wcpt_get_wordcamp_organizer_name() ? wcpt_get_wordcamp_organizer_name() : __( 'No Organizer', 'wordcamporg' ) );
 					break;
 
 				case 'wcpt_venue':
-					echo wcpt_get_wordcamp_venue_name() ? wcpt_get_wordcamp_venue_name() : __( 'No Venue', 'wcpt' );
+					echo esc_html( wcpt_get_wordcamp_venue_name() ? wcpt_get_wordcamp_venue_name() : __( 'No Venue', 'wordcamporg' ) );
 					break;
 			}
 		}
 
 		/**
-		 * post_row_actions ( $actions, $post )
-		 *
 		 * Remove the quick-edit action link and display the description under
 		 *
 		 * @param array $actions
 		 * @param array $post
 		 * @return array $actions
 		 */
-		function post_row_actions( $actions, $post ) {
+		public function post_row_actions( $actions, $post ) {
 			if ( WCPT_POST_TYPE_ID == $post->post_type ) {
 				unset( $actions['inline hide-if-no-js'] );
 
 				$wc = array();
 
-				if ( $wc_location = wcpt_get_wordcamp_location() ) {
+				$wc_location = wcpt_get_wordcamp_location();
+				if ( $wc_location ) {
 					$wc['location'] = $wc_location;
 				}
 
-				if ( $wc_url = make_clickable( wcpt_get_wordcamp_url() ) ) {
+				$wc_url = make_clickable( wcpt_get_wordcamp_url() );
+				if ( $wc_url ) {
 					$wc['url'] = $wc_url;
 				}
 
-				echo implode( ' - ', (array) $wc );
+				echo wp_kses( implode( ' - ', (array) $wc ), wp_kses_allowed_html() );
 			}
 
 			return $actions;
@@ -670,7 +675,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 
 			if ( 'wcpt-pre-planning' == $new_status ) {
 				do_action( 'wcpt_approved_for_pre_planning', $post );
-			} elseif ( $old_status == 'wcpt-needs-schedule' && $new_status == 'wcpt-scheduled' ) {
+			} elseif ( 'wcpt-needs-schedule' == $old_status && 'wcpt-scheduled' == $new_status ) {
 				do_action( 'wcpt_added_to_final_schedule', $post );
 			}
 
@@ -687,6 +692,8 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 * @param WP_Post $post
 		 */
 		public function add_organizer_to_central( $post ) {
+
+			// phpcs:ignore WordPress.Security.NonceVerification.Missing -- WordCamp status can be moved to pre-planning status only from the admin edit screen where nonce is already verified.
 			$lead_organizer = get_user_by( 'login', $_POST['wcpt_wordpress_org_username'] );
 
 			if ( $lead_organizer && add_user_to_blog( get_current_blog_id(), $lead_organizer->ID, 'contributor' ) ) {
@@ -706,6 +713,66 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 			update_post_meta( $wordcamp->ID, '_timestamp_added_to_planning_schedule', time() );
 		}
 
+		/**
+		 * Send notification to slack when a WordCamp is scheduled or declined. Runs whenever status of an applications changes
+		 *
+		 * @param string  $new_status
+		 * @param string  $old_status
+		 * @param WP_Post $wordcamp
+		 *
+		 * @return null|bool
+		 */
+		public function notify_application_status_in_slack( $new_status, $old_status, WP_Post $wordcamp ) {
+
+			$notification_enabled = apply_filters( 'wordcamp_application_notification_enabled', true );
+
+			if ( ! $notification_enabled ) {
+				return null;
+			}
+
+			if ( 'wcpt-scheduled' === $new_status && 'wcpt-scheduled' !== $old_status ) {
+				return $this->notify_new_wordcamp_in_slack( $wordcamp );
+			} elseif ( 'wcpt-rejected' === $new_status && 'wcpt-rejected' !== $old_status ) {
+				$location = get_post_meta( $wordcamp->ID, 'Location', true );
+				return $this->schedule_decline_notification( $wordcamp, 'WordCamp', $location );
+			}
+		}
+
+		/**
+		 * Send notification when a new WordCamp comes in scheduled status.
+		 *
+		 * @param WP_Post $wordcamp
+		 *
+		 * @return null|bool|string
+		 */
+		public static function notify_new_wordcamp_in_slack( $wordcamp ) {
+			$scheduled_notification_key = 'sent_scheduled_notification';
+			if ( get_post_meta( $wordcamp->ID, $scheduled_notification_key, true ) ) {
+				return null;
+			}
+
+			// Not translating any string because they will be sent to slack.
+			$city             = get_post_meta( $wordcamp->ID, 'Location', true );
+			$start_date       = get_post_meta( $wordcamp->ID, 'Start Date (YYYY-mm-dd)', true );
+			$wordcamp_url     = get_post_meta( $wordcamp->ID, 'URL', true );
+			$title            = 'New WordCamp scheduled!!!';
+
+			$message = sprintf(
+				"<%s|WordCamp $city> has been scheduled for a start date of %s. :tada: :community: :wordpress:\n\n%s",
+				$wordcamp_url,
+				date( 'F j, Y', $start_date ),
+				$wordcamp_url
+			);
+
+			$attachment = create_event_status_attachment( $message, $wordcamp->ID, $title );
+
+			$notification_sent = wcpt_slack_notify( COMMUNITY_EVENTS_SLACK, $attachment );
+			if ( $notification_sent ) {
+				update_post_meta( $wordcamp->ID, $scheduled_notification_key, true );
+			}
+			return $notification_sent;
+		}
+
 		/**
 		 * Enforce a valid post status for WordCamps.
 		 *
@@ -714,11 +781,11 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		 * @return array
 		 */
 		public function enforce_post_status( $post_data, $post_data_raw ) {
-			if ( $post_data['post_type'] != WCPT_POST_TYPE_ID || empty( $_POST['post_ID'] ) ) {
+			if ( WCPT_POST_TYPE_ID != $post_data['post_type'] || empty( $post_data_raw['ID'] ) ) {
 				return $post_data;
 			}
 
-			$post = get_post( $_POST['post_ID'] );
+			$post = get_post( $post_data_raw['post_ID'] );
 			if ( ! $post ) {
 				return $post_data;
 			}
@@ -761,9 +828,11 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 			$required_needs_site_fields = $this->get_required_fields( 'needs-site' );
 			$required_scheduled_fields  = $this->get_required_fields( 'scheduled' );
 
-			// Check pending posts
-			if ( 'wcpt-needs-site' == $post_data['post_status'] && absint( $_POST['post_ID'] ) > $min_site_id ) {
+			// Check pending posts.
+			if ( 'wcpt-needs-site' == $post_data['post_status'] && absint( $post_data_raw['ID'] ) > $min_site_id ) {
 				foreach ( $required_needs_site_fields as $field ) {
+
+					// phpcs:ignore WordPress.Security.NonceVerification.Missing -- nonce check would have done in `metabox_save`.
 					$value = $_POST[ wcpt_key_to_str( $field, 'wcpt_' ) ];
 
 					if ( empty( $value ) || 'null' == $value ) {
@@ -774,9 +843,10 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 				}
 			}
 
-			// Check published posts
-			if ( 'wcpt-scheduled' == $post_data['post_status'] && isset( $_POST['post_ID'] ) && absint( $_POST['post_ID'] ) > $min_site_id ) {
+			// Check published posts.
+			if ( 'wcpt-scheduled' == $post_data['post_status'] && isset( $post_data_raw['ID'] ) && absint( $post_data_raw['ID'] ) > $min_site_id ) {
 				foreach ( $required_scheduled_fields as $field ) {
+					// phpcs:ignore WordPress.Security.NonceVerification.Missing -- nonce check would have done in `metabox_save`.
 					$value = $_POST[ wcpt_key_to_str( $field, 'wcpt_' ) ];
 
 					if ( empty( $value ) || 'null' == $value ) {
@@ -793,7 +863,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 		/**
 		 * Get a list of fields required to move to a certain post status
 		 *
-		 * @param string $status 'needs-site' | 'scheduled' | 'any'
+		 * @param string $status 'needs-site' | 'scheduled' | 'any'.
 		 *
 		 * @return array
 		 */
@@ -801,7 +871,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 			$needs_site = array( 'E-mail Address' );
 
 			$scheduled = array(
-				// WordCamp
+				// WordCamp.
 				'Start Date (YYYY-mm-dd)',
 				'Location',
 				'URL',
@@ -809,7 +879,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 				'Number of Anticipated Attendees',
 				'Multi-Event Sponsor Region',
 
-				// Organizing Team
+				// Organizing Team.
 				'Organizer Name',
 				'WordPress.org Username',
 				'Email Address',
@@ -820,8 +890,8 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 				'Budget Wrangler Name',
 				'Budget Wrangler E-mail Address',
 
-				// Venue
-				'Physical Address', // used to build stats
+				// Venue.
+				'Physical Address', // used to build stats.
 			);
 
 			switch ( $status ) {
@@ -842,12 +912,18 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 			return $required_fields;
 		}
 
+		/**
+		 * TODO: Add description.
+		 *
+		 * @return array
+		 */
 		public static function get_protected_fields() {
 			$protected_fields = array();
 
 			if ( ! current_user_can( 'wordcamp_manage_mentors' ) ) {
 				$protected_fields = array_merge(
-					$protected_fields, array(
+					$protected_fields,
+					array(
 						'Mentor WordPress.org User Name',
 						'Mentor Name',
 						'Mentor E-mail Address',
@@ -857,7 +933,8 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 
 			if ( ! current_user_can( 'wordcamp_wrangle_wordcamps' ) ) {
 				$protected_fields = array_merge(
-					$protected_fields, array(
+					$protected_fields,
+					array(
 						'Multi-Event Sponsor Region',
 					)
 				);
@@ -889,7 +966,6 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 
 			$screen = get_current_screen();
 
-
 			if ( empty( $post->post_type ) || $this->get_event_type() != $post->post_type || 'post' !== $screen->base ) {
 				return array();
 			}
@@ -1003,7 +1079,7 @@ if ( ! class_exists( 'WordCamp_Admin' ) ) :
 			}
 		}
 	}
-endif; // class_exists check
+endif; // class_exists check.
 
 /**
  * Functions for displaying specific meta boxes
@@ -1013,24 +1089,31 @@ function wcpt_wordcamp_metabox() {
 	wcpt_metabox( $meta_keys );
 }
 
+/**
+ * Displays organizer metabox
+ */
 function wcpt_organizer_metabox() {
 	$meta_keys = $GLOBALS['wordcamp_admin']->meta_keys( 'organizer' );
 	wcpt_metabox( $meta_keys );
 }
 
+/**
+ * Displays venue metabox
+ */
 function wcpt_venue_metabox() {
 	$meta_keys = $GLOBALS['wordcamp_admin']->meta_keys( 'venue' );
 	wcpt_metabox( $meta_keys );
 }
 
+/**
+ * Displays contributor metabox
+ */
 function wcpt_contributor_metabox() {
 	$meta_keys = $GLOBALS['wordcamp_admin']->meta_keys( 'contributor' );
 	wcpt_metabox( $meta_keys );
 }
 
 /**
- * wcpt_metabox ()
- *
  * The metabox that holds all of the additional information
  *
  * @package WordCamp Post Type
@@ -1042,11 +1125,11 @@ function wcpt_metabox( $meta_keys ) {
 
 	$required_fields = WordCamp_Admin::get_required_fields( 'any' );
 
-	// @todo When you refactor meta_keys() to support changing labels -- see note in meta_keys() -- also make it support these notes
+	// @todo When you refactor meta_keys() to support changing labels -- see note in meta_keys() -- also make it support these notes.
 	$messages = array(
 		'Telephone'                       => 'Required for shipping.',
 		'Mailing Address'                 => 'Shipping address.',
-		'Physical Address'                => 'Please include the city, state/province and country.', // So it can be geocoded correctly for the map
+		'Physical Address'                => 'Please include the city, state/province and country.', // So it can be geocoded correctly for the map.
 		'Global Sponsorship Grant Amount' => 'No commas, thousands separators or currency symbols. Ex. 1234.56',
 		'Global Sponsorship Grant'        => 'Deprecated.',
 	);
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php
index be9e1a7f5..35f231c73 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-loader.php
@@ -6,8 +6,6 @@ define( 'WCPT_SLUG',           'wordcamps'          );
 define( 'WCPT_DEFAULT_STATUS', 'wcpt-needs-vetting' );
 define( 'WCPT_FINAL_STATUS',   'wcpt-closed'        );
 
-require_once WCPT_DIR . 'wcpt-event/class-event-loader.php';
-
 if ( ! class_exists( 'WordCamp_Loader' ) ) :
 /**
  * WordCamp_Loader
@@ -63,19 +61,19 @@ class WordCamp_Loader extends Event_Loader {
 	function register_post_types() {
 		// WordCamp post type labels
 		$wcpt_labels = array (
-			'name'                  => __( 'WordCamps',                   'wcpt' ),
-			'singular_name'         => __( 'WordCamp',                    'wcpt' ),
-			'add_new'               => __( 'Add New',                     'wcpt' ),
-			'add_new_item'          => __( 'Create New WordCamp',         'wcpt' ),
-			'edit'                  => __( 'Edit',                        'wcpt' ),
-			'edit_item'             => __( 'Edit WordCamp',               'wcpt' ),
-			'new_item'              => __( 'New WordCamp',                'wcpt' ),
-			'view'                  => __( 'View WordCamp',               'wcpt' ),
-			'view_item'             => __( 'View WordCamp',               'wcpt' ),
-			'search_items'          => __( 'Search WordCamps',            'wcpt' ),
-			'not_found'             => __( 'No WordCamps found',          'wcpt' ),
-			'not_found_in_trash'    => __( 'No WordCamps found in Trash', 'wcpt' ),
-			'parent_item_colon'     => __( 'Parent WordCamp:',            'wcpt' )
+			'name'                  => __( 'WordCamps',                   'wordcamporg' ),
+			'singular_name'         => __( 'WordCamp',                    'wordcamporg' ),
+			'add_new'               => __( 'Add New',                     'wordcamporg' ),
+			'add_new_item'          => __( 'Create New WordCamp',         'wordcamporg' ),
+			'edit'                  => __( 'Edit',                        'wordcamporg' ),
+			'edit_item'             => __( 'Edit WordCamp',               'wordcamporg' ),
+			'new_item'              => __( 'New WordCamp',                'wordcamporg' ),
+			'view'                  => __( 'View WordCamp',               'wordcamporg' ),
+			'view_item'             => __( 'View WordCamp',               'wordcamporg' ),
+			'search_items'          => __( 'Search WordCamps',            'wordcamporg' ),
+			'not_found'             => __( 'No WordCamps found',          'wordcamporg' ),
+			'not_found_in_trash'    => __( 'No WordCamps found in Trash', 'wordcamporg' ),
+			'parent_item_colon'     => __( 'Parent WordCamp:',            'wordcamporg' )
 		);
 
 		// WordCamp post type rewrite
@@ -136,7 +134,7 @@ class WordCamp_Loader extends Event_Loader {
 	 * Save the date that the camp was moved on to the official schedule
 	 *
 	 * It's stored in the `menu_order` field because the purpose of storing it is so we can sort the archives
-	 * by this timestamp. See WordCamp_Loader::query_public_statuses_on_archives().
+	 * by this timestamp. See WordCamp_Loader::query_public_statuses().
 	 *
 	 * Sorting by meta fields would be significantly slower, and the `menu_order` field is a good candidate for
 	 * re-purposing because it makes semantic sense and isn't being used.
@@ -251,6 +249,20 @@ class WordCamp_Loader extends Event_Loader {
 		);
 	}
 
+	/**
+	 * Get all the status that occur after a camp has a signed contract.
+	 *
+	 * @return array
+	 */
+	public static function get_after_contract_statuses() {
+		return array(
+			'wcpt-needs-fill-list',
+			'wcpt-needs-schedule',
+			'wcpt-scheduled',
+			'wcpt-closed',
+		);
+	}
+
 	/**
 	 * Get the milestones that correspond to each status
 	 *
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-new-site.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-new-site.php
index 1a0f2a026..4fa949aec 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-new-site.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-new-site.php
@@ -162,9 +162,18 @@ class WordCamp_New_Site {
 		$path              = isset( $url_components['path'] ) ? $url_components['path'] : '';
 		$wordcamp_meta     = get_post_custom( $wordcamp_id );
 		$lead_organizer    = $this->get_user_or_current_user( $wordcamp_meta['WordPress.org Username'][0] );
-		$site_meta         = array( 'public' => 1 );
-		$this->new_site_id = wpmu_create_blog( $url_components['host'], $path, 'WordCamp Event', $lead_organizer->ID, $site_meta );
-		// todo can probably just set the final name here, rather than a generic one here and the final one in set_default_options()
+
+		$blog_name = apply_filters( 'the_title', $wordcamp->post_title );
+		if ( ! empty( $wordcamp->{'Start Date (YYYY-mm-dd)'} ) ) {
+			$blog_name .= date( ' Y', $wordcamp->{'Start Date (YYYY-mm-dd)'} );
+		}
+
+		$this->new_site_id = wp_insert_site( array(
+			'domain'  => $url_components['host'],
+			'path'    => $path,
+			'title'   => $blog_name,
+			'user_id' => $lead_organizer->ID,
+		) );
 
 		if ( is_int( $this->new_site_id ) ) {
 			update_post_meta( $wordcamp_id, '_site_id', $this->new_site_id );    // this is used in other plugins to map the `wordcamp` post to it's corresponding site
@@ -391,13 +400,7 @@ class WordCamp_New_Site {
 		$coming_soon_settings            = $WCCSP_Settings->get_settings();
 		$coming_soon_settings['enabled'] = 'on';
 
-		$blog_name = apply_filters( 'the_title', $wordcamp->post_title );
-		if ( isset( $meta['Start Date (YYYY-mm-dd)'] ) && $meta['Start Date (YYYY-mm-dd)'][0] > 0 ) {
-			$blog_name .= date( ' Y', $meta['Start Date (YYYY-mm-dd)'][0] );
-		}
-
 		update_option( 'admin_email',                  $admin_email );
-		update_option( 'blogname',                     $blog_name );
 		update_option( 'blogdescription',              __( 'Just another WordCamp', 'wordcamporg' ) );
 		update_option( 'close_comments_for_old_posts', 1 );
 		update_option( 'close_comments_days_old',      30 );
@@ -488,50 +491,31 @@ class WordCamp_New_Site {
 	 * @return array
 	 */
 	protected function get_stub_pages( $wordcamp, $meta ) {
-		// todo remove the to field from all contact forms and notes, just let it default to the admin email
-
 		$pages = array(
 			array(
 				'title'   => __( 'Schedule', 'wordcamporg' ),
-				'content' =>
-					'<p>'  . __( '<em>Organizers note:</em> You can enter content for this page in the Sessions menu item in the sidebar.', 'wordcamporg' ) . '</p> ' .
-					'<h1>' . __( 'Saturday, January 1st', 'wordcamporg' ) . '</h1> ' .
-					'<p>[schedule date="YYYY-MM-DD" tracks="example-track,another-example-track,yet-another-example-track"]</p>',
+				'content' => $this->get_stub_content( 'page', 'schedule' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Speakers', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( '<em>Organizers note:</em> You can enter content for this page in the Speakers menu item in the sidebar.', 'wordcamporg' ) . '</p> ' .
-					'<p>[speakers]</p>',
+				'content' => $this->get_stub_content( 'page', 'speakers' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Sessions', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( '<em>Organizers note:</em> You can enter content for this page in the Sessions menu item in the sidebar.', 'wordcamporg' ) . '</p> ' .
-					'<p>[sessions orderby="session_time" order="asc"]</p>',
+				'content' => $this->get_stub_content( 'page', 'sessions' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Sponsors', 'wordcamporg' ),
-				'content' =>
-					'<p>' . sprintf(
-						/* translators: %s: Global Community Sponsorship page URL */
-						__( "<em>Organizers note:</em> Multi-event sponsors have been automatically created in the Sponsors menu, but you'll need to remove the ones that don't apply to your specific event. To find out which ones apply, please visit the <a href=\"%s\">Global Community Sponsorship</a> handbook page. After that, you should add the sponsors that are specific to your event. For non-English sites, make sure the URL below matches the Call for Sponsors page.", 'wordcamporg' ),
-						'https://make.wordpress.org/community/handbook/wordcamp-organizer/planning-details/fundraising/global-community-sponsorship-for-event-organizers/'
-					) . '</p> ' .
-					'<h3>' . __( 'Our Sponsors', 'wordcamporg' ) . '</h3> ' .
-					'<p>'  . __( 'Blurb thanking sponsors', 'wordcamporg' ) . '</p> ' .
-					'<p>[sponsors]</p> ' .
-					'<h3>' . __( 'Interested in sponsoring WordCamp this year?', 'wordcamporg' ) . '</h3> ' .
-					'<p>'  . __( 'Check out our <a href="/call-for-sponsors">Call for Sponsors</a> post for details on how you can help make this year\'s WordCamp the best it can be!</p>', 'wordcamporg' ),
+				'content' => $this->get_stub_content( 'page', 'sponsors' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
@@ -545,97 +529,56 @@ class WordCamp_New_Site {
 
 			array(
 				'title'   => __( 'Organizers', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( '<em>Organizers note:</em> You can enter content for this page in the Organizers menu item in the sidebar.', 'wordcamporg' ) . '</p> ' .
-					'<p>[organizers]</p>',
+				'content' => $this->get_stub_content( 'page', 'organizers' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Tickets', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( "<em>Organizers note:</em> If you'd like to change the slug for this page, please make sure you do that before opening ticket sales. Changing the page slug after tickets have started selling will break the link that users receive in their receipt e-mail.", 'wordcamporg' ) . '</p> ' .
-					'<p>[camptix]</p>',
+				'content' => $this->get_stub_content( 'page', 'tickets' ),
 				'status'  => 'draft',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Attendees', 'wordcamporg' ),
-				'content' => '[camptix_attendees columns="3"]',
+				'content' => $this->get_stub_content( 'page', 'attendees' ),
 				'status'  => 'draft',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Videos', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( '<em>Organizers note:</em> After your WordCamp is over and the sessions are published to WordPress.tv, you can embed them here. Just enter the event slug into the shortcode below, and hit the <em>Publish</em> button.', 'wordcamporg' ) . '</p> ' .
-					 '<p>[wptv event="enter-event-slug-here"]</p>',
+				'content' => $this->get_stub_content( 'page', 'videos' ),
 				'status'  => 'draft',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Slideshow', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( "<em>Organizers note:</em> Upload photos to this page and they'll automagically appear in a slideshow!", 'wordcamporg' ) . '</p> ' .
-					'<p>[slideshow]</p>',
+				'content' => $this->get_stub_content( 'page', 'slideshow' ),
 				'status'  => 'draft',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Contact', 'wordcamporg' ),
-				'content' => sprintf(
-					'<p>' .
-						'[contact-form to="%s" subject="%s"]' .
-							'[contact-field label="%s" type="name"     required="1" /]' .
-							'[contact-field label="%s" type="email"    required="1" /]' .
-							'[contact-field label="%s" type="textarea" required="1" /]' .
-						'[/contact-form]' .
-					'</p>',
-					get_option( 'admin_email' ),
-					__( 'WordCamp Contact Request', 'wordcamporg' ),
-					__( 'Name', 'wordcamporg' ),
-					__( 'Email', 'wordcamporg' ),
-					__( 'Message', 'wordcamporg' )
-				),
+				'content' => $this->get_stub_content( 'page', 'contact' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Social Media Stream', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( '<em>Organizers note:</em> The [[tagregator]] shortcode will pull in a stream of social media posts and display them. In order to use it, you\'ll need to follow the setup instructions at http://wordpress.org/plugins/tagregator/installation, and then update "#wcxyz" below with your hashtag.', 'wordcamporg' ) . '</p> ' .
-					'<p>[tagregator hashtag="#wcxzy"]</p>',
+				'content' => $this->get_stub_content( 'page', 'social-media-stream' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
 
 			array(
 				'title'   => __( 'Code of Conduct', 'wordcamporg' ),
-				'content' =>
-					'<p>' .
-						sprintf(
-							// translators: %s: URL for code of conduct policy
-							__( '<em>Organizers note:</em> Below is a boilerplate code of conduct that you can customize; another great example is the Ada Initiative <a href="%s">anti-harassment policy.</a>', 'wordcamporg' ),
-							'http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy'
-						) .
-					'</p> ' .
-
-					'<p>' .
-						sprintf(
-							// translators: %s: URL for article about harassment reports
-							__( 'We also recommend the organizing team read this article on <a href="%s">how to take a harassment report</a>', 'wordcamporg' ),
-							'http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Responding_to_reports'
-						) .
-					'</p> ' .
-
-					'<p>' . __( 'Please update the portions <span style="color: red; text-decoration: underline;">with red text</span>. You can use the "Remove Formatting" button on the toolbar (the eraser icon on the second line) to remove the color and underline.', 'wordcamporg' ) .
-					$this->get_code_of_conduct(),
+				'content' => $this->get_stub_content( 'page', 'code-of-conduct' ),
 				'status'  => 'publish',
 				'type'    => 'page',
 			),
@@ -657,74 +600,21 @@ class WordCamp_New_Site {
 			array(
 				// translators: %s: site title
 				'title'   => sprintf( __( 'Welcome to %s', 'wordcamporg' ), get_option( 'blogname' ) ),
-				'content' =>
-					'<p>' . __( '<em>Organizers note:</em> Please update the portions <span style="color: red; text-decoration: underline;">with red text</span>.', 'wordcamporg' ) . '</p> ' .
-					'<p>' . __( 'We\'re happy to announce that <span style="color: red; text-decoration: underline;">WordCamp YourCityName</span> is officially on the calendar!', 'wordcamporg' ) . '</p> ' .
-					'<p>' . __( '<span style="color: red; text-decoration: underline;">WordCamp YourCityName</span> will be <span style="color: red; text-decoration: underline;">DATE(S)</span> at <span style="color: red; text-decoration: underline;">LOCATION</span>.', 'wordcamporg' ) . '</p> ' .
-					'<p>' . __( '<span style="color: red; text-decoration: underline;">Subscribe using the form in the sidebar</span> to stay up to date on the most recent news. We’ll be keeping you posted on all the details over the coming months, including speaker submissions, ticket sales and more!', 'wordcamporg' ) . '</p> ',
+				'content' => $this->get_stub_content( 'post', 'welcome' ),
 				'status'  => 'publish',
 				'type'    => 'post',
 			),
 
 			array(
 				'title'   => __( 'Call for Sponsors', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( 'Blurb with information for potential sponsors.', 'wordcamporg' ) . '</p> ' .
-					'<p>' .
-						sprintf( '
-							[contact-form to="%s" subject="%s"]
-							[contact-field label="%s" type="text"     required="1" /]
-							[contact-field label="%s" type="name"     required="1" /]
-							[contact-field label="%s" type="email"    required="1" /]
-							[contact-field label="%s" type="text"                  /]
-							[contact-field label="%s" type="text"                  /]
-							[contact-field label="%s" type="textarea" required="1" /]
-							[contact-field label="%s" type="textarea"              /]
-							[/contact-form]',
-							get_option( 'admin_email' ),
-							__( 'WordCamp Sponsor Request', 'wordcamporg' ),
-							__( 'Contact Name', 'wordcamporg' ),
-							__( 'Company Name', 'wordcamporg' ),
-							__( 'Email', 'wordcamporg' ),
-							__( 'Phone Number', 'wordcamporg' ),
-							__( 'Sponsorship Level', 'wordcamporg' ),
-							__( 'Why Would you Like to Sponsor WordCamp?', 'wordcamporg' ),
-							__( 'Questions / Comments', 'wordcamporg' )
-						) .
-					'</p>',
+				'content' => $this->get_stub_content( 'post', 'call-for-sponsors' ),
 				'status'  => 'draft',
 				'type'    => 'post',
 			),
 
 			array(
 				'title'   => __( 'Call for Speakers', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( '<em>Organizers note:</em> Submissions to this form will automatically create draft posts for the Speaker and Session post types. Feel free to customize the form, but deleting or renaming the following fields will break the automation: Name, Email, WordPress.org Username, Your Bio, Session Title, Session Description.', 'wordcamporg' ) . '</p>' .
-					'<p>' . __( "If you'd like to propose multiple topics, please submit the form multiple times, once for each topic. [Other speaker instructions/info goes here.]", 'wordcamporg' ) . '</p>' .
-					'<p>' .
-						sprintf( '
-							[contact-form to="%s" subject="%s"]
-								[contact-field label="%s" type="name"     required="1" /]
-								[contact-field label="%s" type="email"    required="1" /]
-								[contact-field label="%s" type="text"     required="1" /]
-								[contact-field label="%s" type="textarea" required="1" /]
-								[contact-field label="%s" type="text"     required="1" /]
-								[contact-field label="%s" type="textarea" required="1" /]
-								[contact-field label="%s" type="text"     required="1" /]
-								[contact-field label="%s" type="textarea"              /]
-							[/contact-form]',
-							get_option( 'admin_email' ),
-							__( 'WordCamp Speaker Request', 'wordcamporg' ),
-							__( 'Name', 'wordcamporg' ),
-							__( 'Email Address', 'wordcamporg' ),
-							__( 'WordPress.org Username', 'wordcamporg' ),
-							__( 'Your Bio', 'wordcamporg' ),
-							__( 'Topic Title', 'wordcamporg' ),
-							__( 'Topic Description', 'wordcamporg' ),
-							__( 'Intended Audience', 'wordcamporg' ),
-							__( 'Past Speaking Experience (not necessary to apply)', 'wordcamporg' )
-						) .
-					'</p>',
+				'content' => $this->get_stub_content( 'post', 'call-for-speakers' ),
 				'status'  => 'draft',
 				'type'    => 'post',
 				'meta'    => array(
@@ -734,26 +624,7 @@ class WordCamp_New_Site {
 
 			array(
 				'title'   => __( 'Call for Volunteers', 'wordcamporg' ),
-				'content' =>
-					'<p>' . __( 'Blurb with information for potential volunteers.', 'wordcamporg' ) . '</p> ' .
-					'<p>' .
-						sprintf( '
-							[contact-form to="%s" subject="%s"]
-								[contact-field label="%s" type="text"     required="1" /]
-								[contact-field label="%s" type="email"    required="1" /]
-								[contact-field label="%s" type="textarea" required="1" /]
-								[contact-field label="%s" type="text"     required="1" /]
-								[contact-field label="%s" type="textarea"              /]
-							[/contact-form]',
-							get_option( 'admin_email' ),
-							__( 'WordCamp Volunteer Application', 'wordcamporg' ),
-							__( 'Name', 'wordcamporg' ),
-							__( 'Email', 'wordcamporg' ),
-							__( 'Skills / Interests / Experience (not necessary to volunteer)', 'wordcamporg' ),
-							__( 'Number of Hours Available', 'wordcamporg' ),
-							__( 'Questions / Comments', 'wordcamporg' )
-						) .
-					'</p>',
+				'content' => $this->get_stub_content( 'post', 'call-for-volunteers' ),
 				'status'  => 'draft',
 				'type'    => 'post',
 			),
@@ -762,6 +633,27 @@ class WordCamp_New_Site {
 		return $posts;
 	}
 
+	/**
+	 * Load the content for a stub from an include file.
+	 *
+	 * @param string $post_type
+	 * @param string $stub_name
+	 *
+	 * @return string
+	 */
+	protected function get_stub_content( $post_type, $stub_name ) {
+		$content   = '';
+		$stub_file = WCPT_DIR . "stubs/$post_type/$stub_name.php";
+
+		if ( is_readable( $stub_file ) ) {
+			ob_start();
+			require $stub_file;
+			$content = ob_get_clean();
+		}
+
+		return $content;
+	}
+
 	/**
 	 * Create the sponsorship levels for the assigned Multi-Event Sponsors
 	 *
diff --git wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php
index c982aac26..26a164ef1 100644
--- wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php
+++ wordcamp.org/public_html/wp-content/plugins/wcpt/wcpt-wordcamp/wordcamp-template.php
@@ -503,9 +503,9 @@ function wcpt_wordcamp_pagination_count() {
 
 		// Set return string
 		if ( $total > 1 )
-			$retstr = sprintf( __( 'Viewing %1$s to %2$s (of %3$s)', 'wcpt' ), $from_num, $to_num, $total );
+			$retstr = sprintf( __( 'Viewing %1$s to %2$s (of %3$s)', 'wordcamporg' ), $from_num, $to_num, $total );
 		else
-			$retstr = sprintf( __( 'Viewing %1$s WordCamp', 'wcpt' ), $total );
+			$retstr = sprintf( __( 'Viewing %1$s WordCamp', 'wordcamporg' ), $total );
 
 		// Filter and return
 		return apply_filters( 'wcpt_get_wordcamp_pagination_count', $retstr );
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/classes/wordcamp-coming-soon-page.php wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/classes/wordcamp-coming-soon-page.php
index 9f8936868..20fa11f37 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/classes/wordcamp-coming-soon-page.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/classes/wordcamp-coming-soon-page.php
@@ -62,7 +62,7 @@ class WordCamp_Coming_Soon_Page {
 			'open-sans',
 			'https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600',
 			array(),
-			null
+			2
 		);
 
 		wp_enqueue_style(
@@ -92,6 +92,8 @@ class WordCamp_Coming_Soon_Page {
 			return;
 		}
 
+		// TODO: Figure out an alternative here. 
+		//phpcs:ignore WordPress.PHP.DontExtract.extract_extract -- Not sure whats the alternative to this could be.
 		extract( $GLOBALS['WordCamp_Coming_Soon_Page']->get_template_variables() );
 
 		require_once( dirname( __DIR__ ) . '/css/template-coming-soon-dynamic.php' );
@@ -178,17 +180,23 @@ class WordCamp_Coming_Soon_Page {
 			$color     = new Jetpack_Color( $background, 'hex' );
 			$color_hsl = $color->toHsl();
 
-			$lighter_color = new Jetpack_Color( array(
-				$color_hsl['h'],
-				$color_hsl['s'],
-				( $color_hsl['l'] >= 85 ) ? 100 : $color_hsl['l'] + 15,
-			), 'hsl' );
+			$lighter_color = new Jetpack_Color(
+				array(
+					$color_hsl['h'],
+					$color_hsl['s'],
+					( $color_hsl['l'] >= 85 ) ? 100 : $color_hsl['l'] + 15,
+				),
+				'hsl'
+			);
 
-			$darker_color = new Jetpack_Color( array(
-				$color_hsl['h'],
-				$color_hsl['s'],
-				( $color_hsl['l'] < 10 ) ? 0 : $color_hsl['l'] - 10,
-			), 'hsl' );
+			$darker_color = new Jetpack_Color(
+				array(
+					$color_hsl['h'],
+					$color_hsl['s'],
+					( $color_hsl['l'] < 10 ) ? 0 : $color_hsl['l'] - 10,
+				),
+				'hsl'
+			);
 
 			$background_lighter = '#' . $lighter_color->toHex();
 			$background_darker  = '#' . $darker_color->toHex();
@@ -263,7 +271,7 @@ class WordCamp_Coming_Soon_Page {
 	}
 
 	/**
-	 * Retrieve the contact form shortcode string
+	 * Loop through all pages and renders first contact-us form or contact-us block.
 	 *
 	 * We can't just create an arbitrary shortcode because of https://github.com/Automattic/jetpack/issues/102. Instead we have to use a form that's tied to a page.
 	 * This is somewhat fragile, though. It should work in most cases because the first $page that contains [contact-form] will be the one we automatically create
@@ -274,8 +282,8 @@ class WordCamp_Coming_Soon_Page {
 	 * @return string|false
 	 */
 	public function get_contact_form_shortcode() {
-		$contact_form_shortcode = false;
-		$shortcode_regex        = get_shortcode_regex();
+		$contact_form_content = false;
+		$shortcode_regex      = get_shortcode_regex();
 
 		$all_pages = get_posts( array(
 			'post_type'      => 'page',
@@ -283,25 +291,46 @@ class WordCamp_Coming_Soon_Page {
 		) );
 
 		foreach ( $all_pages as $page ) {
-			preg_match_all( '/' . $shortcode_regex . '/s', $page->post_content, $matches, PREG_SET_ORDER );
-
-			foreach ( $matches as $shortcode ) {
-				if ( 'contact-form' === $shortcode[2] ) {
-					global $post;
-					$post = $page;
-					setup_postdata( $post );
-
-					ob_start();
-					echo do_shortcode( $shortcode[0] );
-					$contact_form_shortcode = ob_get_clean();
 
-					wp_reset_postdata();
-					break;
+			if ( has_shortcode( $page->post_content, 'contact-form' ) ) {
+				preg_match_all( '/' . $shortcode_regex . '/s', $page->post_content, $matches, PREG_SET_ORDER );
+				foreach ( $matches as $shortcode ) {
+					if ( 'contact-form' === $shortcode[2] ) {
+						global $post;
+						//phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- We need this because of jetpack bug #102
+						$post = $page;
+						setup_postdata( $post );
+
+						ob_start();
+						echo do_shortcode( $shortcode[0] );
+						$contact_form_content = ob_get_clean();
+
+						wp_reset_postdata();
+						break;
+					}
+				}
+			} elseif ( has_block( 'jetpack/contact-form', $page->post_content ) ) {
+				// Along with shortcodes, also check for blocks.
+				$blocks = parse_blocks( $page->post_content );
+				foreach ( $blocks as $block ) {
+					if ( 'jetpack/contact-form' === $block['blockName'] ) {
+						global $post;
+						//phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- We need this because of jetpack bug #102
+						$post = $page;
+						setup_postdata( $post );
+						$contact_form_content = render_block( $block );
+						wp_reset_postdata();
+						break;
+					}
 				}
 			}
+
+			if ( $contact_form_content ) {
+				break;
+			}
 		}
 
-		return $contact_form_shortcode;
+		return $contact_form_content;
 	}
 
 	/**
@@ -437,7 +466,7 @@ class WordCamp_Coming_Soon_Page {
 	 * post, we will see a message that post has been cross posted in social media accounts. That message is incorrect,
 	 * but can only be fixed in JetPack, not here.
 	 *
-	 * @param bool $should_publicize Whether this post can be publicized or not
+	 * @param bool $should_publicize Whether this post can be publicized or not.
 	 *
 	 * @return bool
 	 */
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-forms-to-drafts/wordcamp-forms-to-drafts.php wordcamp.org/public_html/wp-content/plugins/wordcamp-forms-to-drafts/wordcamp-forms-to-drafts.php
index b69266bb4..d94022418 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-forms-to-drafts/wordcamp-forms-to-drafts.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-forms-to-drafts/wordcamp-forms-to-drafts.php
@@ -269,6 +269,8 @@ class WordCamp_Forms_To_Drafts {
 	 *   taxonomy and the selected term is applied to the drafted post. Maybe need to send PR to add filter to
 	 *   insert custom fields programmatically.
 	 * - Sideload the logo from submitted URL and set it as the featured image.
+	 * - Add a Company Description field to the Call For Sponsors form stub, or populate content from something else?
+	 * - Also ensure content is formatted for the block editor.
 	 *
 	 * @param int   $submission_id
 	 * @param array $all_values
@@ -378,11 +380,19 @@ class WordCamp_Forms_To_Drafts {
 	 * @return int | WP_Error
 	 */
 	protected function create_draft_speaker( $speaker ) {
+		$content = $speaker['Your Bio'] ?? '';
+
+		if ( $content ) {
+			$content = wpautop( $content );
+			$content = str_replace( '<p>', "<!-- wp:paragraph -->\n<p>", $content );
+			$content = str_replace( '</p>', "</p>\n<!-- /wp:paragraph -->", $content );
+		}
+
 		$speaker_id = wp_insert_post(
 			array(
 				'post_type'    => 'wcb_speaker',
 				'post_title'   => $speaker['Name'],
-				'post_content' => $speaker['Your Bio'],
+				'post_content' => $content,
 				'post_status'  => 'draft',
 				'post_author'  => $this->get_user_id_from_username( 'wordcamp' ),
 			),
@@ -406,11 +416,19 @@ class WordCamp_Forms_To_Drafts {
 	 * @return int | WP_Error
 	 */
 	protected function create_draft_session( $session, $speaker ) {
+		$content = $session['Topic Description'] ?? '';
+
+		if ( $content ) {
+			$content = wpautop( $content );
+			$content = str_replace( '<p>', "<!-- wp:paragraph -->\n<p>", $content );
+			$content = str_replace( '</p>', "</p>\n<!-- /wp:paragraph -->", $content );
+		}
+
 		$session_id = wp_insert_post(
 			array(
 				'post_type'    => 'wcb_session',
 				'post_title'   => $session['Topic Title'],
-				'post_content' => $session['Topic Description'],
+				'post_content' => $content,
 				'post_status'  => 'draft',
 				'post_author'  => $this->get_user_id_from_username( $session['WordPress.org Username'] ),
 			),
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/tests/bootstrap.php wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/tests/bootstrap.php
new file mode 100755
index 000000000..734f1376a
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/tests/bootstrap.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace WordCamp\Organizer_Reminders\Tests;
+
+if ( 'cli' !== php_sapi_name() ) {
+	return;
+}
+
+/**
+ * Load the plugins that we'll need to be active for the tests.
+ */
+function manually_load_plugin() {
+	require_once( dirname( __DIR__ )            . '/bootstrap.php'                      );
+	require_once( dirname( dirname( __DIR__ ) ) . '/multi-event-sponsors/bootstrap.php' );
+	require_once( dirname( dirname( __DIR__ ) ) . '/wcpt/wcpt-event/class-event-loader.php' );
+	require_once( dirname( dirname( __DIR__ ) ) . '/wcpt/wcpt-wordcamp/wordcamp-loader.php' );
+	require_once( dirname( dirname( __DIR__ ) ) . '/wcpt/wcpt-functions.php'            );
+}
+tests_add_filter( 'muplugins_loaded', __NAMESPACE__ . '\manually_load_plugin' );
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/tests/test-wcor-mailer.php wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/tests/test-wcor-mailer.php
new file mode 100644
index 000000000..0de7fbb86
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/tests/test-wcor-mailer.php
@@ -0,0 +1,239 @@
+<?php
+
+namespace WordCamp\Organizer_Reminders\Tests;
+use WP_UnitTestCase, WP_UnitTest_Factory;
+use WCOR_Reminder, WCOR_Mailer;
+
+defined( 'WPINC' ) || die();
+
+/**
+ * Class Test_WCOR_Mailer
+ *
+ * These are intentionally closer to integration tests than unit tests.
+ *
+ * @group wordcamp-organizer-reminders
+ */
+class Test_WCOR_Mailer extends WP_UnitTestCase {
+	/**
+	 * @var int $triggered_reminder_post_id The ID of an Organizer Reminder post which is configured to be sent on a trigger.
+	 */
+	protected static $triggered_reminder_post_id;
+
+	/**
+	 * @var int $timed_reminder_post_id The ID of an Organizer Reminder post which is configured to be sent at a specific time.
+	 */
+	protected static $timed_reminder_post_id;
+
+	/**
+	 * @var int $wordcamp_dayton_post_id The ID of a WordCamp post for Dayton, Ohio, USA.
+	 */
+	protected static $wordcamp_dayton_post_id;
+
+	/**
+	 * Set up the mocked PHPMailer instance before each test method.
+	 */
+	public function setUp() {
+		parent::setUp();
+		reset_phpmailer_instance();
+	}
+
+	/**
+	 * Create fixtures that are shared by multiple test cases.
+	 *
+	 * @param WP_UnitTest_Factory $factory The base factory object.
+	 */
+	public static function wpSetUpBeforeClass( $factory ) {
+		/*
+		 * Reminders must be created _before_ WordCamps, to avoid triggering the early return in
+		 * `timed_email_is_ready_to_send()`. To test that early return, you can modify the
+		 * `post_date` inside that specific test function.
+		 */
+		self::$triggered_reminder_post_id = $factory->post->create(
+			array(
+				'post_type'    => WCOR_Reminder::AUTOMATED_POST_TYPE_SLUG,
+				'post_title'   => '[wordcamp_name] has been added to the final schedule',
+				'post_content' => "Huzzah! A new WordCamp is coming soon to [wordcamp_location]! The lead organizer is [lead_organizer_username], and the venue is at:\n\n[venue_address]",
+			)
+		);
+
+		update_post_meta( self::$triggered_reminder_post_id, 'wcor_send_when',  'wcor_send_trigger'    );
+		update_post_meta( self::$triggered_reminder_post_id, 'wcor_send_where', 'wcor_send_organizers' );
+
+		self::$timed_reminder_post_id = $factory->post->create(
+			array(
+				'post_type'    => WCOR_Reminder::AUTOMATED_POST_TYPE_SLUG,
+				'post_title'   => "It's time to submit [wordcamp_name] reimbursement requests",
+				'post_content' => "Howdy [budget_wrangler_name], now's the perfect time to request reimbursement for any out of pocket expenses. You can do that at [wordcamp_url]/wp-admin/edit.php?post_type=wcb_reimbursement.",
+			)
+		);
+
+		update_post_meta( self::$timed_reminder_post_id, 'wcor_send_where', 'wcor_send_budget_wrangler' );
+
+		self::$wordcamp_dayton_post_id = $factory->post->create(
+			array(
+				'post_type'  => WCPT_POST_TYPE_ID,
+				'post_title' => 'WordCamp Dayton',
+			)
+		);
+
+		update_post_meta( self::$wordcamp_dayton_post_id, 'Location',                       'Dayton, Ohio, USA'                      );
+		update_post_meta( self::$wordcamp_dayton_post_id, 'URL',                            'https://2019.dayton.wordcamp.org'       );
+		update_post_meta( self::$wordcamp_dayton_post_id, 'E-mail Address',                 'dayton@wordcamp.org'                    );
+		update_post_meta( self::$wordcamp_dayton_post_id, 'WordPress.org Username',         'janedoe'                                );
+		update_post_meta( self::$wordcamp_dayton_post_id, 'Physical Address',               '3640 Colonel Glenn Hwy, Dayton, OH, US' );
+		update_post_meta( self::$wordcamp_dayton_post_id, 'Budget Wrangler Name',           'Sally Smith'                            );
+		update_post_meta( self::$wordcamp_dayton_post_id, 'Budget Wrangler E-mail Address', 'sally.smith+trez@gmail.com'             );
+	}
+
+	/**
+	 * Reset the mocked PHPMailer instance after each test method.
+	 */
+	public function tearDown() {
+		reset_phpmailer_instance();
+		parent::tearDown();
+	}
+
+	/**
+	 * Assert that an email was successfully sent.
+	 *
+	 * @param string $to      The expected recipient of the message.
+	 * @param string $subject The expected subject of the message.
+	 * @param string $body    The expected body of the message.
+	 * @param bool   $result  The returned value from `wp_mail()`, if available. It defaults to `true` because it
+	 *                        isn't always accessible to the testing function.
+	 */
+	protected function assert_mail_succeeded( $to, $subject, $body, $result = true ) {
+		$mailer = tests_retrieve_phpmailer_instance();
+
+		$this->assertSame( true, $result );
+		$this->assertSame( 0, did_action( 'wp_mail_failed' ) );
+
+		$this->assertSame( $to,      $mailer->get_recipient( 'to' )->address );
+		$this->assertSame( $subject, $mailer->get_sent()->subject );
+		$this->assertSame( $body,    $mailer->get_sent()->body );
+	}
+
+	/**
+	 * Test that triggered reminders are sent.
+	 *
+	 * @covers WCOR_Mailer::send_trigger_added_to_schedule
+	 */
+	public function test_triggered_message_sent() {
+		/** @var WCOR_Mailer $WCOR_Mailer */
+		global $WCOR_Mailer;
+
+		update_post_meta( self::$triggered_reminder_post_id, 'wcor_which_trigger', 'wcor_added_to_schedule' );
+
+		$wordcamp = get_post( self::$wordcamp_dayton_post_id );
+
+		$this->assertSame( '', $wordcamp->wcor_sent_email_ids );
+
+		do_action( 'wcpt_added_to_final_schedule', $wordcamp );
+
+		$this->assert_mail_succeeded(
+			'dayton@wordcamp.org',
+			'WordCamp Dayton has been added to the final schedule',
+			"Huzzah! A new WordCamp is coming soon to Dayton, Ohio, USA! The lead organizer is janedoe, and the venue is at:\n\n3640 Colonel Glenn Hwy, Dayton, OH, US\n"
+		);
+
+		$this->assertInternalType( 'array', $wordcamp->wcor_sent_email_ids );
+		$this->assertContains( self::$triggered_reminder_post_id, $wordcamp->wcor_sent_email_ids );
+	}
+
+	/**
+	 * Test that timed messages are sent.
+	 *
+	 * @dataProvider data_timed_messages_sent
+	 *
+	 * @param string $send_when        The type of schedule when the email is sent (e.g., before the camp).
+	 * @param string $send_when_period Which period of time the message is scheduled for (e.g., days before the camp).
+	 * @param int    $send_when_days   The number of days before/after the period when the message is scheduled for.
+	 * @param string $compare_date     The date that the scheduled message is compared do, in order to determine if
+	 *                                 it's ready to be sent (e.g., the start date of the camp when sending before
+	 *                                 the camp starts).
+	 *
+	 * @covers WCOR_Mailer::send_timed_emails
+	 */
+	public function test_timed_messages_sent( $send_when, $send_when_period, $send_when_days, $compare_date ) {
+		/** @var WCOR_Mailer $WCOR_Mailer */
+		global $WCOR_Mailer;
+
+		update_post_meta( self::$timed_reminder_post_id, 'wcor_send_when',  $send_when      );
+		update_post_meta( self::$timed_reminder_post_id, $send_when_period, $send_when_days );
+
+		if ( in_array( $send_when, array( 'wcor_send_before', 'wcor_send_after' ) ) ) {
+			update_post_meta( self::$wordcamp_dayton_post_id, 'Start Date (YYYY-mm-dd)', $compare_date );
+		} elseif ( 'wcor_send_after_pending' === $send_when ) {
+			update_post_meta( self::$wordcamp_dayton_post_id, '_timestamp_added_to_planning_schedule', $compare_date );
+		}
+
+		$wordcamp = get_post( self::$wordcamp_dayton_post_id );
+
+		$this->assertSame( '', $wordcamp->wcor_sent_email_ids );
+
+		do_action( 'wcor_send_timed_emails' );
+
+		$this->assert_mail_succeeded(
+			'sally.smith+trez@gmail.com',
+			"It's time to submit WordCamp Dayton reimbursement requests",
+			"Howdy Sally Smith, now's the perfect time to request reimbursement for any out of pocket expenses. You can do that at https://2019.dayton.wordcamp.org/wp-admin/edit.php?post_type=wcb_reimbursement.\n"
+		);
+
+		$this->assertInternalType( 'array', $wordcamp->wcor_sent_email_ids );
+		$this->assertContains( self::$timed_reminder_post_id, $wordcamp->wcor_sent_email_ids );
+	}
+
+	/**
+	 * Provide test cases for test_timed_messages_sent().
+	 *
+	 * @return array See `test_timed_messages_sent()` for parameter documentation.
+	 */
+	public function data_timed_messages_sent() {
+		return array(
+			// Before the camp starts
+			array(
+				'wcor_send_before',
+				'wcor_send_days_before',
+				3,
+				strtotime( 'now + 3 days' ),
+			),
+
+			// After the camp ends
+			array(
+				'wcor_send_after',
+				'wcor_send_days_after',
+				3,
+				strtotime( 'now - 3 days' )
+			),
+
+			// After added to the pending schedule
+			array(
+				'wcor_send_after_pending',
+				'wcor_send_days_after_pending',
+				3,
+				strtotime( 'now - 3 days' )
+			),
+		);
+	}
+
+	/**
+	 * Test that manual reminders are sent.
+	 *
+	 * @covers WCOR_Mailer::send_manual_email
+	 */
+	public function test_manual_message_sent() {
+		/** @var WCOR_Mailer $WCOR_Mailer */
+		global $WCOR_Mailer;
+
+		$message  = get_post( self::$triggered_reminder_post_id );
+		$wordcamp = get_post( self::$wordcamp_dayton_post_id );
+		$result   = $WCOR_Mailer->send_manual_email( $message, $wordcamp );
+
+		$this->assert_mail_succeeded(
+			'dayton@wordcamp.org',
+			'WordCamp Dayton has been added to the final schedule',
+			"Huzzah! A new WordCamp is coming soon to Dayton, Ohio, USA! The lead organizer is janedoe, and the venue is at:\n\n3640 Colonel Glenn Hwy, Dayton, OH, US\n",
+			$result
+		);
+	}
+}
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/views/metabox-placeholders.php wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/views/metabox-placeholders.php
new file mode 100644
index 000000000..53ef0adb4
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/views/metabox-placeholders.php
@@ -0,0 +1,76 @@
+<?php defined( 'WPINC' ) || die(); ?>
+
+<h4>Available Placeholders:</h4>
+
+<h5>The WordCamp:</h5>
+
+<ul class="ul-disc">
+	<li>[wordcamp_name]</li>
+	<li>[wordcamp_start_date]</li>
+	<li>[wordcamp_location]</li>
+	<li>[wordcamp_url]</li>
+	<li>[edit_wordcamp_url]</li>
+	<li>[wordcamp_email]</li>
+	<li>[wordcamp_twitter]</li>
+	<li>[wordcamp_hashtag]</li>
+	<li>[wordcamp_anticipated_attendees]</li>
+	<li>[multi_event_sponsor_region]</li>
+</ul>
+
+<h5>The organizing team:</h5>
+
+<ul class="ul-disc">
+	<li>[organizer_name]</li>
+	<li>[lead_organizer_username]</li>
+	<li>[lead_organizer_email]</li>
+	<li>[lead_organizer_telephone]</li>
+	<li>[organizer_address]</li>
+	<li>[sponsor_wrangler_name]</li>
+	<li>[sponsor_wrangler_email]</li>
+	<li>[budget_wrangler_name]</li>
+	<li>[budget_wrangler_email]</li>
+	<li>[venue_wrangler_name]</li>
+	<li>[venue_wrangler_email]</li>
+	<li>[speaker_wrangler_name]</li>
+	<li>[speaker_wrangler_email]</li>
+	<li>[food_wrangler_name]</li>
+	<li>[food_wrangler_email]</li>
+	<li>[swag_wrangler_name]</li>
+	<li>[swag_wrangler_email]</li>
+	<li>[volunteer_wrangler_name]</li>
+	<li>[volunteer_wrangler_email]</li>
+	<li>[printing_wrangler_name]</li>
+	<li>[printing_wrangler_email]</li>
+	<li>[design_wrangler_name]</li>
+	<li>[design_wrangler_email]</li>
+	<li>[website_wrangler_name]</li>
+	<li>[website_wrangler_email]</li>
+	<li>[social_wrangler_name]</li>
+	<li>[social_wrangler_email]</li>
+	<li>[a_v_wrangler_name]</li>
+	<li>[a_v_wrangler_email]</li>
+	<li>[party_wrangler_name]</li>
+	<li>[party_wrangler_email]</li>
+	<li>[travel_wrangler_name]</li>
+	<li>[travel_wrangler_email]</li>
+	<li>[safety_wrangler_name]</li>
+	<li>[safety_wrangler_email]</li>
+</ul>
+
+<h5>Venue</h5>
+
+<ul class="ul-disc">
+	<li>[venue_name]</li>
+	<li>[venue_address]</li>
+	<li>[venue_max_capacity]</li>
+	<li>[venue_available_rooms]</li>
+	<li>[venue_url]</li>
+	<li>[venue_contact_info]</li>
+	<li>[venue_exhibition_space_message]</li>
+</ul>
+
+<h5>Miscellaneous</h5>
+
+<ul class="ul-disc">
+	<li>[multi_event_sponsor_info]</li>
+</ul>
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/views/metabox-reminder-details.php wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/views/metabox-reminder-details.php
new file mode 100644
index 000000000..c9fcae521
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/views/metabox-reminder-details.php
@@ -0,0 +1,160 @@
+<?php
+
+defined( 'WPINC' ) || die();
+
+/**
+ * @var WP_Post $post
+ * @var array   $send_where
+ */
+
+?>
+
+<h4>Who should this e-mail be sent to?</h4>
+
+<table>
+	<tbody>
+		<tr>
+			<th><input id="wcor_send_organizers" name="wcor_send_where[]" type="checkbox" value="wcor_send_organizers" <?php checked( in_array( 'wcor_send_organizers', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_organizers">The organizing team</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_sponsor_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_sponsor_wrangler" <?php checked( in_array( 'wcor_send_sponsor_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_sponsor_wrangler">The Sponsor Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_budget_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_budget_wrangler" <?php checked( in_array( 'wcor_send_budget_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_budget_wrangler">The Budget Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_venue_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_venue_wrangler" <?php checked( in_array( 'wcor_send_venue_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_venue_wrangler">The Venue Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_speaker_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_speaker_wrangler" <?php checked( in_array( 'wcor_send_speaker_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_speaker_wrangler">The Speaker Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_food_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_food_wrangler" <?php checked( in_array( 'wcor_send_food_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_food_wrangler">The Food/Beverage Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_swag_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_swag_wrangler" <?php checked( in_array( 'wcor_send_swag_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_swag_wrangler">The Swag Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_volunteer_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_volunteer_wrangler" <?php checked( in_array( 'wcor_send_volunteer_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_volunteer_wrangler">The Volunteer Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_printing_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_printing_wrangler" <?php checked( in_array( 'wcor_send_printing_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_printing_wrangler">The Printing Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_design_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_design_wrangler" <?php checked( in_array( 'wcor_send_design_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_design_wrangler">The Design Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_website_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_website_wrangler" <?php checked( in_array( 'wcor_send_website_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_website_wrangler">The Website Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_social_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_social_wrangler" <?php checked( in_array( 'wcor_send_social_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_social_wrangler">The Social Media/Publicity Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_a_v_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_a_v_wrangler" <?php checked( in_array( 'wcor_send_a_v_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_a_v_wrangler">The A/V Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_party_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_party_wrangler" <?php checked( in_array( 'wcor_send_party_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_party_wrangler">The Party Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_travel_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_travel_wrangler" <?php checked( in_array( 'wcor_send_travel_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_travel_wrangler">The Travel Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_safety_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_safety_wrangler" <?php checked( in_array( 'wcor_send_safety_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_safety_wrangler">The Safety Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_mes" name="wcor_send_where[]" type="checkbox" value="wcor_send_mes" <?php checked( in_array( 'wcor_send_mes', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_mes">The WordCamp's Multi-Event Sponsors</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_camera_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_camera_wrangler" <?php checked( in_array( 'wcor_send_camera_wrangler', $send_where ) ); ?>></th>
+			<td colspan="2"><label for="wcor_send_camera_wrangler">The Region's Camera Kit Wrangler</label></td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_custom" name="wcor_send_where[]" type="checkbox" value="wcor_send_custom" <?php checked( in_array( 'wcor_send_custom', $send_where ) ); ?>></th>
+			<td><label for="wcor_send_custom">A custom address: </label></td>
+			<td><input id="wcor_send_custom_address" name="wcor_send_custom_address" type="text" class="regular-text" value="<?php echo esc_attr( $post->wcor_send_custom_address ); ?>" /></td>
+		</tr>
+	</tbody>
+</table>
+
+
+<h4>When should this e-mail be sent?</h4>
+
+<table>
+	<tbody>
+		<tr>
+			<th><input id="wcor_send_before" name="wcor_send_when" type="radio" value="wcor_send_before" <?php checked( $post->wcor_send_when, 'wcor_send_before' ); ?>></th>
+			<td><label for="wcor_send_before">before the camp starts: </label></td>
+			<td>
+				<input id="wcor_send_days_before" name="wcor_send_days_before" type="text" class="small-text" value="<?php echo esc_attr( $post->wcor_send_days_before ); ?>" />
+				<label for="wcor_send_days_before">days</label>
+			</td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_after" name="wcor_send_when" type="radio" value="wcor_send_after" <?php checked( $post->wcor_send_when, 'wcor_send_after' ); ?>></th>
+			<td><label for="wcor_send_after">after the camp ends: </label></td>
+			<td>
+				<input id="wcor_send_days_after" name="wcor_send_days_after" type="text" class="small-text" value="<?php echo esc_attr( $post->wcor_send_days_after ); ?>" />
+				<label for="wcor_send_days_after">days</label>
+			</td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_after_pending" name="wcor_send_when" type="radio" value="wcor_send_after_pending" <?php checked( $post->wcor_send_when, 'wcor_send_after_pending' ); ?>></th>
+			<td><label for="wcor_send_after_pending">after added to pending schedule: </label></td>
+			<td>
+				<input id="wcor_send_days_after_pending" name="wcor_send_days_after_pending" type="text" class="small-text" value="<?php echo esc_attr( $post->wcor_send_days_after_pending ); ?>" />
+				<label for="wcor_send_days_after_pending">days</label>
+			</td>
+		</tr>
+
+		<tr>
+			<th><input id="wcor_send_trigger" name="wcor_send_when" type="radio" value="wcor_send_trigger" <?php checked( $post->wcor_send_when, 'wcor_send_trigger' ); ?>></th>
+			<td><label for="wcor_send_trigger">on a trigger: </label></td>
+			<td>
+				<select name="wcor_which_trigger">
+					<option value="null" <?php selected( $post->wcor_which_trigger, false ); ?>></option>
+
+					<?php foreach ( $GLOBALS['WCOR_Mailer']->triggers as $trigger_id => $trigger ) : ?>
+						<option value="<?php echo esc_attr( $trigger_id ); ?>" <?php selected( $post->wcor_which_trigger, $trigger_id ); ?>><?php echo esc_html( $trigger['name'] ); ?></option>
+					<?php endforeach; ?>
+				</select>
+			</td>
+		</tr>
+	</tbody>
+</table>
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-mailer.php wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-mailer.php
index dfe0eec23..d882c429c 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-mailer.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-mailer.php
@@ -1,5 +1,7 @@
 <?php
 
+use function WordCamp\Logger\log;
+
 /**
  * Sends e-mails at time-based intervals and on triggers
  * @package WordCampOrganizerReminders
@@ -111,6 +113,7 @@ class WCOR_Mailer {
 	 */
 	protected function mail( $to, $subject, $body, $headers = array(), $email, $wordcamp ) {
 		if ( ! $this->validate_email_addresses( $to ) ) {
+			log( 'Message not sent because of invalid recipients.', compact( 'email', 'wordcamp' ) );
 			return false;
 		}
 
@@ -129,11 +132,16 @@ class WCOR_Mailer {
 		if ( is_array( $to ) && $this->send_individual_emails( $email->ID ) ) {
 			foreach ( $to as $individual_recipient ) {
 				if ( ! wp_mail( $individual_recipient, $subject, $body, $headers ) ) {
+					log( 'Message failed to send', compact( 'individual_recipient', 'email', 'wordcamp' ) );
 					$status = false;
 				}
 			}
 		} else {
 			$status = wp_mail( $to, $subject, $body, $headers );
+
+			if ( ! $status ) {
+				log( 'Message failed to send', compact( 'email', 'wordcamp' ) );
+			}
 		}
 
 		return $status;
@@ -161,8 +169,11 @@ class WCOR_Mailer {
 		global $wordcamp_admin;
 
 		// Make sure postmeta is synced with $_POST when this is called in the middle of updating a post
-		if ( did_action( 'transition_post_status' ) || did_action( 'save_post' ) ) {
-			$wordcamp_admin->metabox_save( $wordcamp->ID, $wordcamp );
+		$saving_post     = ( did_action( 'transition_post_status' ) || did_action( 'save_post' ) ) && isset( $_POST['post_type'] );
+		$saving_wordcamp = $saving_post && defined( 'WCPT_POST_TYPE_ID' ) && $_POST['post_type'] === WCPT_POST_TYPE_ID;
+
+		if ( $saving_wordcamp ) {
+			$wordcamp_admin->metabox_save( $wordcamp->ID, $wordcamp, false );
 		}
 
 		$wordcamp_meta = get_post_custom( $wordcamp->ID );
@@ -234,51 +245,51 @@ class WCOR_Mailer {
 			// The WordCamp
 			$wordcamp->post_title,
 			empty( $wordcamp_meta['Start Date (YYYY-mm-dd)'][0] ) ? '' : date( 'l, F jS, Y', $wordcamp_meta['Start Date (YYYY-mm-dd)'][0] ),
-			$wordcamp_meta['Location'][0],
-			esc_url( $wordcamp_meta['URL'][0] ),
+			$wordcamp_meta['Location'][0] ?? '',
+			empty( $wordcamp_meta['URL'][0] ) ? '' : esc_url( $wordcamp_meta['URL'][0] ),
 			esc_url( admin_url( 'post.php?post=' . $wordcamp->ID . '&action=edit' ) ),
-			$wordcamp_meta['E-mail Address'][0],
+			$wordcamp_meta['E-mail Address'][0] ?? '',
 			empty( $wordcamp_meta['Twitter'][0] ) ? 'N/A' : esc_url( 'https://twitter.com/' . $wordcamp_meta['Twitter'][0] ),
 			empty( $wordcamp_meta['WordCamp Hashtag'][0] ) ? 'N/A' : esc_url( 'https://twitter.com/hashtag/' . $wordcamp_meta['WordCamp Hashtag'][0] ),
-			absint( $wordcamp_meta['Number of Anticipated Attendees'][0] ),
+			empty( $wordcamp_meta['Number of Anticipated Attendees'][0] ) ? '' : absint( $wordcamp_meta['Number of Anticipated Attendees'][0] ),
 			empty( $wordcamp_meta['Multi-Event Sponsor Region'][0] ) ? '' : get_term( $wordcamp_meta['Multi-Event Sponsor Region'][0], MES_Region::TAXONOMY_SLUG )->name,
 
 			// The organizing team
-			$wordcamp_meta['Organizer Name'][0],
-			$wordcamp_meta['WordPress.org Username'][0],
-			$wordcamp_meta['Email Address'][0],
-			$wordcamp_meta['Telephone'][0],
-			$wordcamp_meta['Mailing Address'][0],
-			$wordcamp_meta['Sponsor Wrangler Name'][0],
-			$wordcamp_meta['Sponsor Wrangler E-mail Address'][0],
-			$wordcamp_meta['Budget Wrangler Name'][0],
-			$wordcamp_meta['Budget Wrangler E-mail Address'][0],
-			$wordcamp_meta['Venue Wrangler Name'][0],
-			$wordcamp_meta['Venue Wrangler E-mail Address'][0],
-			$wordcamp_meta['Speaker Wrangler Name'][0],
-			$wordcamp_meta['Speaker Wrangler E-mail Address'][0],
-			$wordcamp_meta['Food/Beverage Wrangler Name'][0],
-			$wordcamp_meta['Food/Beverage Wrangler E-mail Address'][0],
-			$wordcamp_meta['Swag Wrangler Name'][0],
-			$wordcamp_meta['Swag Wrangler E-mail Address'][0],
-			$wordcamp_meta['Volunteer Wrangler Name'][0],
-			$wordcamp_meta['Volunteer Wrangler E-mail Address'][0],
-			$wordcamp_meta['Printing Wrangler Name'][0],
-			$wordcamp_meta['Printing Wrangler E-mail Address'][0],
-			$wordcamp_meta['Design Wrangler Name'][0],
-			$wordcamp_meta['Design Wrangler E-mail Address'][0],
-			$wordcamp_meta['Website Wrangler Name'][0],
-			$wordcamp_meta['Website Wrangler E-mail Address'][0],
-			$wordcamp_meta['Social Media/Publicity Wrangler Name'][0],
-			$wordcamp_meta['Social Media/Publicity Wrangler E-mail Address'][0],
-			$wordcamp_meta['A/V Wrangler Name'][0],
-			$wordcamp_meta['A/V Wrangler E-mail Address'][0],
-			$wordcamp_meta['Party Wrangler Name'][0],
-			$wordcamp_meta['Party Wrangler E-mail Address'][0],
-			$wordcamp_meta['Travel Wrangler Name'][0],
-			$wordcamp_meta['Travel Wrangler E-mail Address'][0],
-			$wordcamp_meta['Safety Wrangler Name'][0],
-			$wordcamp_meta['Safety Wrangler E-mail Address'][0],
+			$wordcamp_meta['Organizer Name'][0] ?? '',
+			$wordcamp_meta['WordPress.org Username'][0] ?? '',
+			$wordcamp_meta['Email Address'][0] ?? '',
+			$wordcamp_meta['Telephone'][0] ?? '',
+			$wordcamp_meta['Mailing Address'][0] ?? '',
+			$wordcamp_meta['Sponsor Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Sponsor Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Budget Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Budget Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Venue Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Venue Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Speaker Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Speaker Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Food/Beverage Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Food/Beverage Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Swag Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Swag Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Volunteer Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Volunteer Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Printing Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Printing Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Design Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Design Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Website Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Website Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Social Media/Publicity Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Social Media/Publicity Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['A/V Wrangler Name'][0] ?? '',
+			$wordcamp_meta['A/V Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Party Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Party Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Travel Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Travel Wrangler E-mail Address'][0] ?? '',
+			$wordcamp_meta['Safety Wrangler Name'][0] ?? '',
+			$wordcamp_meta['Safety Wrangler E-mail Address'][0] ?? '',
 
 			// Venue
 			empty( $wordcamp_meta['Venue Name'][0] )          ? 'N/A' : $wordcamp_meta['Venue Name'][0],
@@ -487,7 +498,7 @@ class WCOR_Mailer {
 
 		$reminder_emails = get_posts( array(
 			'posts_per_page' => -1,
-			'post_type'      => WCOR_Reminder::POST_TYPE_SLUG,
+			'post_type'      => WCOR_Reminder::AUTOMATED_POST_TYPE_SLUG,
 			'meta_query'     => array(
 				array(
 					'key'     => 'wcor_send_when',
@@ -498,7 +509,10 @@ class WCOR_Mailer {
 		) );
 
 		foreach ( $wordcamps as $wordcamp ) {
-			$sent_email_ids = (array) get_post_meta( $wordcamp->ID, 'wcor_sent_email_ids', true );
+			$sent_email_ids = get_post_meta( $wordcamp->ID, 'wcor_sent_email_ids', true );
+			if ( ! is_array( $sent_email_ids ) ) {
+				$sent_email_ids = array();
+			}
 
 			foreach ( $reminder_emails as $email ) {
 				$recipient = $this->get_recipients( $wordcamp->ID, $email->ID );
@@ -535,6 +549,7 @@ class WCOR_Mailer {
 	protected function timed_email_is_ready_to_send( $wordcamp, $email, $sent_email_ids ) {
 		$ready = false;
 
+		// Don't retroactively send new emails to old camps, since they're already closed.
 		if ( strtotime( $wordcamp->post_date ) < strtotime( $email->post_date ) ) {
 			return $ready;
 		}
@@ -594,7 +609,7 @@ class WCOR_Mailer {
 	protected function get_triggered_posts( $trigger ) {
 		$posts = get_posts( array(
 			'posts_per_page' => -1,
-			'post_type'      => WCOR_Reminder::POST_TYPE_SLUG,
+			'post_type'      => WCOR_Reminder::AUTOMATED_POST_TYPE_SLUG,
 			'meta_query'     => array(
 				array(
 					'key'    => 'wcor_send_when',
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-reminder.php wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-reminder.php
index 5c6a2bc76..249327431 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-reminder.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-organizer-reminders/wcor-reminder.php
@@ -6,7 +6,8 @@
  */
 
 class WCOR_Reminder {
-	const POST_TYPE_SLUG = 'organizer-reminder';
+	const AUTOMATED_POST_TYPE_SLUG = 'organizer-reminder';
+	const REQUIRED_CAPABILITY      = 'manage_options';
 
 	/**
 	 * Constructor
@@ -14,36 +15,38 @@ class WCOR_Reminder {
 	public function __construct() {
 		add_action( 'init',                              array( $this, 'register_post_type' ) );
 		add_action( 'admin_init',                        array( $this, 'add_meta_boxes' ) );
-		add_action( 'save_post_' . self::POST_TYPE_SLUG, array( $this, 'save_post' ), 10, 2 );
+		add_action( 'admin_menu',                        array( $this, 'register_menu_pages' ) );
+		add_action( 'save_post_' . self::AUTOMATED_POST_TYPE_SLUG, array( $this, 'save_post' ), 10, 2 );
 	}
 
 	/**
 	 * Registers the Reminder post type
 	 */
 	public function register_post_type() {
-		$labels = array(
-			'name'               => 'Organizer Reminders',
-			'singular_name'      => 'Organizer Reminder',
-			'add_new'            => 'Add New',
-			'add_new_item'       => 'Add New Reminder',
+		$automated_labels = array(
+			'name'               => 'Automated Reminders',
+			'singular_name'      => 'Automated Reminder',
+			'add_new'            => 'Add New Automated',
+			'add_new_item'       => 'Add New Automated Reminder',
 			'edit'               => 'Edit',
-			'edit_item'          => 'Edit Reminder',
-			'new_item'           => 'New Reminder',
-			'view'               => 'View Reminders',
-			'view_item'          => 'View Reminder',
-			'search_items'       => 'Search Reminders',
-			'not_found'          => 'No reminders',
-			'not_found_in_trash' => 'No reminders',
-			'parent'             => 'Parent Reminder',
+			'edit_item'          => 'Edit Automated Reminder',
+			'new_item'           => 'New Automated Reminder',
+			'view'               => 'View Automated Reminders',
+			'view_item'          => 'View Automated Reminder',
+			'search_items'       => 'Search Automated Reminders',
+			'not_found'          => 'No automated reminders',
+			'not_found_in_trash' => 'No automated reminders',
+			'parent'             => 'Parent Automated Reminder',
 		);
 
-		$params = array(
-			'labels'              => $labels,
-			'singular_label'      => 'Reminder',
+		$automated_params = array(
+			'labels'              => $automated_labels,
+			'singular_label'      => 'Automated Reminder',
 			'public'              => true,
 			'exclude_from_search' => true,
 			'publicly_queryable'  => false,
 			'show_ui'             => true,
+			'show_in_menu'        => 'organizer-reminders',
 			'show_in_nav_menus'   => false,
 			'hierarchical'        => false,
 			'capability_type'     => 'post',
@@ -53,7 +56,7 @@ class WCOR_Reminder {
 			'supports'            => array( 'title', 'editor', 'author', 'revisions' ),
 		);
 
-		register_post_type( self::POST_TYPE_SLUG, $params );
+		register_post_type( self::AUTOMATED_POST_TYPE_SLUG, $automated_params );
 	}
 
 	/**
@@ -64,7 +67,7 @@ class WCOR_Reminder {
 			'wcor_reminder_details',
 			'Reminder Details',
 			array( $this, 'markup_reminder_details' ),
-			self::POST_TYPE_SLUG,
+			self::AUTOMATED_POST_TYPE_SLUG,
 			'normal',
 			'high'
 		);
@@ -73,7 +76,15 @@ class WCOR_Reminder {
 			'wcor_manually_send',
 			__( 'Manually Send', 'wordcamporg' ),
 			array( $this, 'markup_manually_send' ),
-			self::POST_TYPE_SLUG,
+			self::AUTOMATED_POST_TYPE_SLUG,
+			'side'
+		);
+
+		add_meta_box(
+			'wcor_available_placeholders',
+			'Available Placeholders',
+			array( $this, 'render_available_placeholders' ),
+			self::AUTOMATED_POST_TYPE_SLUG,
 			'side'
 		);
 	}
@@ -85,238 +96,15 @@ class WCOR_Reminder {
 	 */
 	public function markup_reminder_details( $post ) {
 		$send_where              = get_post_meta( $post->ID, 'wcor_send_where' );
-		$send_custom_address     = get_post_meta( $post->ID, 'wcor_send_custom_address', true );
-		$send_when               = get_post_meta( $post->ID, 'wcor_send_when', true );
-		$send_days_before        = get_post_meta( $post->ID, 'wcor_send_days_before', true );
-		$send_days_after         = get_post_meta( $post->ID, 'wcor_send_days_after', true );
-		$send_days_after_pending = get_post_meta( $post->ID, 'wcor_send_days_after_pending', true );
-		$which_trigger           = get_post_meta( $post->ID, 'wcor_which_trigger', true );
 
-		?>
-
-		<h4>Who should this e-mail be sent to?</h4>
-
-		<table>
-			<tbody>
-				<tr>
-					<th><input id="wcor_send_organizers" name="wcor_send_where[]" type="checkbox" value="wcor_send_organizers" <?php checked( in_array( 'wcor_send_organizers', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_organizers">The organizing team</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_sponsor_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_sponsor_wrangler" <?php checked( in_array( 'wcor_send_sponsor_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_sponsor_wrangler">The Sponsor Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_budget_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_budget_wrangler" <?php checked( in_array( 'wcor_send_budget_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_budget_wrangler">The Budget Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_venue_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_venue_wrangler" <?php checked( in_array( 'wcor_send_venue_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_venue_wrangler">The Venue Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_speaker_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_speaker_wrangler" <?php checked( in_array( 'wcor_send_speaker_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_speaker_wrangler">The Speaker Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_food_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_food_wrangler" <?php checked( in_array( 'wcor_send_food_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_food_wrangler">The Food/Beverage Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_swag_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_swag_wrangler" <?php checked( in_array( 'wcor_send_swag_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_swag_wrangler">The Swag Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_volunteer_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_volunteer_wrangler" <?php checked( in_array( 'wcor_send_volunteer_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_volunteer_wrangler">The Volunteer Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_printing_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_printing_wrangler" <?php checked( in_array( 'wcor_send_printing_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_printing_wrangler">The Printing Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_design_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_design_wrangler" <?php checked( in_array( 'wcor_send_design_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_design_wrangler">The Design Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_website_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_website_wrangler" <?php checked( in_array( 'wcor_send_website_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_website_wrangler">The Website Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_social_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_social_wrangler" <?php checked( in_array( 'wcor_send_social_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_social_wrangler">The Social Media/Publicity Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_a_v_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_a_v_wrangler" <?php checked( in_array( 'wcor_send_a_v_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_a_v_wrangler">The A/V Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_party_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_party_wrangler" <?php checked( in_array( 'wcor_send_party_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_party_wrangler">The Party Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_travel_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_travel_wrangler" <?php checked( in_array( 'wcor_send_travel_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_travel_wrangler">The Travel Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_safety_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_safety_wrangler" <?php checked( in_array( 'wcor_send_safety_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_safety_wrangler">The Safety Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_mes" name="wcor_send_where[]" type="checkbox" value="wcor_send_mes" <?php checked( in_array( 'wcor_send_mes', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_mes">The WordCamp's Multi-Event Sponsors</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_camera_wrangler" name="wcor_send_where[]" type="checkbox" value="wcor_send_camera_wrangler" <?php checked( in_array( 'wcor_send_camera_wrangler', $send_where ) ); ?>></th>
-					<td colspan="2"><label for="wcor_send_camera_wrangler">The Region's Camera Kit Wrangler</label></td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_custom" name="wcor_send_where[]" type="checkbox" value="wcor_send_custom" <?php checked( in_array( 'wcor_send_custom', $send_where ) ); ?>></th>
-					<td><label for="wcor_send_custom">A custom address: </label></td>
-					<td><input id="wcor_send_custom_address" name="wcor_send_custom_address" type="text" class="regular-text" value="<?php echo esc_attr( $send_custom_address ); ?>" /></td>
-				</tr>
-			</tbody>
-		</table>
-
-
-		<h4>When should this e-mail be sent?</h4>
-
-		<table>
-			<tbody>
-				<tr>
-					<th><input id="wcor_send_before" name="wcor_send_when" type="radio" value="wcor_send_before" <?php checked( $send_when, 'wcor_send_before' ); ?>></th>
-					<td><label for="wcor_send_before">before the camp starts: </label></td>
-					<td>
-						<input id="wcor_send_days_before" name="wcor_send_days_before" type="text" class="small-text" value="<?php echo esc_attr( $send_days_before ); ?>" />
-						<label for="wcor_send_days_before">days</label>
-					</td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_after" name="wcor_send_when" type="radio" value="wcor_send_after" <?php checked( $send_when, 'wcor_send_after' ); ?>></th>
-					<td><label for="wcor_send_after">after the camp ends: </label></td>
-					<td>
-						<input id="wcor_send_days_after" name="wcor_send_days_after" type="text" class="small-text" value="<?php echo esc_attr( $send_days_after ); ?>" />
-						<label for="wcor_send_days_after">days</label>
-					</td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_after_pending" name="wcor_send_when" type="radio" value="wcor_send_after_pending" <?php checked( $send_when, 'wcor_send_after_pending' ); ?>></th>
-					<td><label for="wcor_send_after_pending">after added to pending schedule: </label></td>
-					<td>
-						<input id="wcor_send_days_after_pending" name="wcor_send_days_after_pending" type="text" class="small-text" value="<?php echo esc_attr( $send_days_after_pending ); ?>" />
-						<label for="wcor_send_days_after_pending">days</label>
-					</td>
-				</tr>
-
-				<tr>
-					<th><input id="wcor_send_trigger" name="wcor_send_when" type="radio" value="wcor_send_trigger" <?php checked( $send_when, 'wcor_send_trigger' ); ?>></th>
-					<td><label for="wcor_send_trigger">on a trigger: </label></td>
-					<td>
-						<select name="wcor_which_trigger">
-							<option value="null" <?php selected( $which_trigger, false ); ?>></option>
-
-							<?php foreach ( $GLOBALS['WCOR_Mailer']->triggers as $trigger_id => $trigger ) : ?>
-								<option value="<?php echo esc_attr( $trigger_id ); ?>" <?php selected( $which_trigger, $trigger_id ); ?>><?php echo esc_html( $trigger['name'] ); ?></option>
-							<?php endforeach; ?>
-						</select>
-					</td>
-				</tr>
-			</tbody>
-		</table>
-
-		<h4>Available Placeholders:</h4>
-
-		<h5>The WordCamp:</h5>
-
-		<ul class="ul-disc">
-			<li>[wordcamp_name]</li>
-			<li>[wordcamp_start_date]</li>
-			<li>[wordcamp_location]</li>
-			<li>[wordcamp_url]</li>
-			<li>[edit_wordcamp_url]</li>
-			<li>[wordcamp_email]</li>
-			<li>[wordcamp_twitter]</li>
-			<li>[wordcamp_hashtag]</li>
-			<li>[wordcamp_anticipated_attendees]</li>
-			<li>[multi_event_sponsor_region]</li>
-		</ul>
-
-		<h5>The organizing team:</h5>
-		<ul class="ul-disc">
-			<li>[organizer_name]</li>
-			<li>[lead_organizer_username]</li>
-			<li>[lead_organizer_email]</li>
-			<li>[lead_organizer_telephone]</li>
-			<li>[organizer_address]</li>
-			<li>[sponsor_wrangler_name]</li>
-			<li>[sponsor_wrangler_email]</li>
-			<li>[budget_wrangler_name]</li>
-			<li>[budget_wrangler_email]</li>
-			<li>[venue_wrangler_name]</li>
-			<li>[venue_wrangler_email]</li>
-			<li>[speaker_wrangler_name]</li>
-			<li>[speaker_wrangler_email]</li>
-			<li>[food_wrangler_name]</li>
-			<li>[food_wrangler_email]</li>
-			<li>[swag_wrangler_name]</li>
-			<li>[swag_wrangler_email]</li>
-			<li>[volunteer_wrangler_name]</li>
-			<li>[volunteer_wrangler_email]</li>
-			<li>[printing_wrangler_name]</li>
-			<li>[printing_wrangler_email]</li>
-			<li>[design_wrangler_name]</li>
-			<li>[design_wrangler_email]</li>
-			<li>[website_wrangler_name]</li>
-			<li>[website_wrangler_email]</li>
-			<li>[social_wrangler_name]</li>
-			<li>[social_wrangler_email]</li>
-			<li>[a_v_wrangler_name]</li>
-			<li>[a_v_wrangler_email]</li>
-			<li>[party_wrangler_name]</li>
-			<li>[party_wrangler_email]</li>
-			<li>[travel_wrangler_name]</li>
-			<li>[travel_wrangler_email]</li>
-			<li>[safety_wrangler_name]</li>
-			<li>[safety_wrangler_email]</li>
-		</ul>
-
-		<h5>Venue</h5>
-		<ul class="ul-disc">
-			<li>[venue_name]</li>
-			<li>[venue_address]</li>
-			<li>[venue_max_capacity]</li>
-			<li>[venue_available_rooms]</li>
-			<li>[venue_url]</li>
-			<li>[venue_contact_info]</li>
-			<li>[venue_exhibition_space_message]</li>
-		</ul>
-
-		<h5>Miscellaneous</h5>
-		<ul class="ul-disc">
-			<li>[multi_event_sponsor_info]</li>
-		</ul>
+		require_once( __DIR__ . '/views/metabox-reminder-details.php' );
+	}
 
-		<?php
+	/**
+	 * Builds the markup for the Available Placeholders metabox.
+	 */
+	public function render_available_placeholders() {
+		require_once( __DIR__ . '/views/metabox-placeholders.php' );
 	}
 
 	/**
@@ -343,11 +131,26 @@ class WCOR_Reminder {
 		<?php
 	}
 
+	/**
+	 * Register new admin pages
+	 */
+	public function register_menu_pages() {
+		add_menu_page(
+			'Organizer Reminders',
+			'Organizer Reminders',
+			self::REQUIRED_CAPABILITY,
+			'organizer-reminders',
+			'',
+			'dashicons-email-alt',
+			30
+		);
+	}
+
 	/**
 	 * Checks to make sure the conditions for saving post meta are met
 	 *
 	 * @param int $post_id
-	 * @param object $post
+	 * @param WP_Post $post
 	 */
 	public function save_post( $post_id, $post ) {
 		$ignored_actions = array( 'trash', 'untrash', 'restore' );
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/payment-requests-dashboard.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/payment-requests-dashboard.php
index ba5824dd7..699d10a15 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/payment-requests-dashboard.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/payment-requests-dashboard.php
@@ -22,8 +22,11 @@ class Payment_Requests_Dashboard {
 		add_action( 'save_post', array( __CLASS__, 'save_post' ) );
 		add_action( 'delete_post', array( __CLASS__, 'delete_post' ) );
 
-		if ( ! empty( $_GET['wcp-debug-network'] ) && current_user_can( 'manage_network' ) )
-			add_action( 'admin_init', function() { do_action( 'wordcamp_payments_aggregate' ); }, 99 );
+		if ( ! empty( $_GET['wcp-debug-network'] ) && current_user_can( 'manage_network' ) ) {
+			add_action( 'admin_init', function() {
+				do_action( 'wordcamp_payments_aggregate' );
+			}, 99 );
+		}
 	}
 
 	/**
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/sponsor-invoices-dashboard.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/sponsor-invoices-dashboard.php
index 55914807e..436976f97 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/sponsor-invoices-dashboard.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/sponsor-invoices-dashboard.php
@@ -14,18 +14,20 @@ if ( defined( 'DOING_AJAX' ) ) {
 } elseif ( defined( 'DOING_CRON' ) ) {
 	add_action( 'wcbdsi_check_for_paid_invoices', __NAMESPACE__ . '\check_for_paid_invoices'       );
 	add_action( 'save_post',                      __NAMESPACE__ . '\update_index_row',       10, 2 );
+	add_action( 'plugins_loaded',                 __NAMESPACE__ . '\schedule_sent_invoice_reminder' );
 
 } elseif ( is_network_admin() ) {
 	add_action( 'plugins_loaded',        __NAMESPACE__ . '\schedule_cron_events'  );
 	add_action( 'network_admin_menu',    __NAMESPACE__ . '\register_submenu_page' );
 	add_action( 'init',                  __NAMESPACE__ . '\upgrade_database'      );
-
 } elseif ( is_admin() ) {
 	add_action( 'save_post',    __NAMESPACE__ . '\update_index_row', 11, 2 );   // See note in callback about priority
 	add_action( 'trashed_post', __NAMESPACE__ . '\delete_index_row'        );
 	add_action( 'delete_post',  __NAMESPACE__ . '\delete_index_row'        );
 }
 
+add_action( 'send_invoice_pending_reminder', __NAMESPACE__ . '\send_invoice_pending_reminder' );
+
 /**
  * Schedule cron job when plugin is activated
  */
@@ -461,3 +463,173 @@ function delete_index_row( $invoice_id ) {
 		)
 	);
 }
+
+/**
+ * Schedule cron to send reminder mails to organizers for unpaid invoices.
+ */
+function schedule_sent_invoice_reminder() {
+	if ( wp_next_scheduled( 'send_invoice_pending_reminder' ) ) {
+		return;
+	}
+
+	wp_schedule_event( time(), 'daily', 'send_invoice_pending_reminder' );
+}
+
+/**
+ * Send reminder to organizer about the unpaid invoice.
+ */
+function send_invoice_pending_reminder() {
+	global $wpdb;
+
+	$table_name    = get_index_table_name();
+	$sent_invoices = $wpdb->get_results( "
+		SELECT blog_id, invoice_id
+		FROM $table_name
+		WHERE status = 'wcbsi_approved'
+		LIMIT 1000"
+		// Don't forget to add a prepare() call here if you ever add user input.
+	);
+
+	foreach ( $sent_invoices as $invoice_data ) {
+		$blog_id    = $invoice_data->blog_id;
+		$invoice_id = $invoice_data->invoice_id;
+
+		switch_to_blog( $blog_id );
+
+		$invoice_sent_at = get_post_meta( $invoice_id, 'Sent at', true );
+
+		if ( empty( $invoice_sent_at ) ) {
+			// Backfill for older invoices.
+			update_post_meta( $invoice_id, 'Sent at', time() );
+			update_post_meta( $invoice_id, 'Backfilled Sent at', true );
+			restore_current_blog();
+			continue;
+		}
+
+		$last_reminder       = get_post_meta( $invoice_id, 'last_reminder_details', true );
+		$invoice_defaulted   = get_post_meta( $invoice_id, 'invoice_defaulted', true );
+		$reminder_step       = 1;
+		$last_step_time      = $invoice_sent_at;
+		$wordcamp_post       = get_wordcamp_post();
+		$wordcamp_start_date = $wordcamp_post->meta['Start Date (YYYY-mm-dd)'][0] ?? false;
+		$wordcamp_lead_email = $wordcamp_post->meta['Email Address'][0]           ?? false;
+
+		if ( empty( $wordcamp_post ) || ! $wordcamp_lead_email ) {
+			// Maybe this is a central.wordcamp.org test sponsor invoice.
+			restore_current_blog();
+			continue;
+		}
+
+		if ( ! empty ( $invoice_defaulted ) ) {
+			restore_current_blog();
+			continue;
+		}
+
+		if ( ! empty( $last_reminder ) ) {
+			$reminder_step  = $last_reminder['step'] + 1;
+			$last_step_time = $last_reminder['sent_at'];
+		}
+
+		// We will send reminders after 30, 45, and 60 days.
+		$reminder_schedule = array(
+			1 => 30,
+			2 => 15,
+			3 => 15,
+		);
+
+		if ( $reminder_step > count( $reminder_schedule ) || ( $wordcamp_start_date && time() > ( (int) $wordcamp_start_date + 2 * MONTH_IN_SECONDS ) ) ) {
+			send_invoice_defaulted_notification( $invoice_id );
+			update_post_meta( $invoice_id, 'invoice_defaulted', true );
+			restore_current_blog();
+			continue;
+		}
+
+		$next_reminder_in = $last_step_time + $reminder_schedule[ $reminder_step ] * DAY_IN_SECONDS;
+
+		if ( time() < (int) $next_reminder_in ) {
+			restore_current_blog();
+			continue;
+		}
+
+		$current_reminder_details = array(
+			'sent_at' => time(),
+			'step'    => $reminder_step,
+		);
+
+		send_invoice_pending_reminder_mail( $invoice_id, $wordcamp_lead_email );
+
+		update_post_meta( $invoice_id, 'last_reminder_details', $current_reminder_details );
+
+		restore_current_blog();
+	}
+}
+
+/**
+ * Send mail to organizer about a pending sponsor invoice.
+ *
+ * @param int    $invoice_id
+ * @param string $organizer_mail
+ */
+function send_invoice_pending_reminder_mail( $invoice_id, $organizer_mail ) {
+	$invoice   = get_post( $invoice_id );
+	$edit_link = get_site_url() . "/wp-admin/post.php?post=$invoice_id&action=edit";
+
+	$reminder_body = str_replace(
+		"\t",
+		'',
+		sprintf(
+			__(
+				"Howdy organizers,
+				<br>
+				It looks like the invoice <a href='%s'>%s</a> is still unpaid. If you still expect the sponsor to pay this invoice, please contact them to find out when we should expect payment. If this invoice needs to be cancelled, please email support@wordcamp.org.
+				<br>
+				Thanks for all your hard work on WordCamp.",
+				'wordcamporg'
+			),
+			$edit_link,
+			$invoice->post_title
+		)
+	);
+
+	$author = get_user_by( 'ID', $invoice->post_author );
+	wp_mail(
+		array( $author->user_email ),
+		sprintf( __( "Pending invoice: %s" ,'wordcamporg' ), $invoice->post_title ),
+		$reminder_body,
+		array(
+			'From: WordCamp Central <support@wordcamp.org>',
+			'Content-Type: text/html; charset=UTF-8',
+			'Sender: wordpress@' . strtolower( $_SERVER['SERVER_NAME'] ),
+			sprintf( "CC: %s", $organizer_mail ), // CC to lead organizer in case post author is not active anymore.
+		)
+	);
+}
+
+/**
+ * Send email to support@wordcamp.org about Sponsor invoice that has been pending for too long.
+ *
+ * @param int $invoice_id
+ */
+function send_invoice_defaulted_notification( $invoice_id ) {
+	$edit_link = get_site_url() . "/wp-admin/post.php?post=$invoice_id&action=edit";
+
+	$notification_body = str_replace(
+		"\t",
+		'',
+		"A Sponsor Invoice has been in pending state for too long now. Please check to see if we want to cancel this. No further reminders will be sent to the organizers.
+		<br>
+		Invoice link: $edit_link
+		<br>"
+	);
+
+	wp_mail(
+		array( "support@wordcamp.org" ),
+		"Sponsor Invoice pending for too long",
+		$notification_body,
+		array(
+			'From: WordCamp Central <support@wordcamp.org>',
+			'Content-Type: text/html; charset=UTF-8',
+			'Sender: wordpress@' . strtolower( $_SERVER['SERVER_NAME'] ),
+		)
+	);
+}
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/wordcamp-budgets-dashboard.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/wordcamp-budgets-dashboard.php
index 317bbb47a..769bcfcbe 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/wordcamp-budgets-dashboard.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments-network/includes/wordcamp-budgets-dashboard.php
@@ -785,7 +785,7 @@ function process_import_request() {
 			default:
 				$entry['message'] = 'Unknown payment type.';
 				$results[] = $entry;
-				continue;
+				continue 2;
 		}
 
 		if ( empty( $entry['blog_id'] ) || empty( $entry['post_id'] ) ) {
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/bootstrap.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/bootstrap.php
index a9dc2f14e..3cbfe78de 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/bootstrap.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/bootstrap.php
@@ -8,6 +8,8 @@ Author URI:  https://wordcamp.org
 Version:     0.1
 */
 
+define( 'WORDCAMP_PAYMENTS_PATH', plugin_dir_path( __FILE__ ) );
+
 if ( ! defined( 'ABSPATH' ) ) {
 	die( 'Access denied.' );
 }
@@ -15,7 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
 if ( is_admin() ) {
 	require_once( __DIR__ . '/includes/wordcamp-budgets.php' );
 	require_once( __DIR__ . '/includes/payment-request.php' );
-	require_once( __DIR__ . '/includes/sponsor-invoice.php' );
 	require_once( __DIR__ . '/includes/reimbursement-request.php' );
 	require_once( __DIR__ . '/includes/encryption.php' );
 	require_once( __DIR__ . '/includes/budget-tool.php' );
@@ -26,4 +27,5 @@ if ( is_admin() ) {
 
 if ( is_admin() || wp_doing_cron() || wp_doing_ajax() ) {
 	require_once( __DIR__ . '/includes/privacy.php' );
+	require_once( __DIR__ . '/includes/sponsor-invoice.php' );
 }
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/payment-request.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/payment-request.php
index c90dd0d37..c48da93f9 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/payment-request.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/payment-request.php
@@ -110,6 +110,15 @@ class WCP_Payment_Request {
 		);
 	}
 
+	/**
+	 * Get a list of statuses for which posts can be edited by non-admins.
+	 *
+	 * @return array
+	 */
+	protected static function get_editable_statuses() {
+		return [ 'auto-draft', 'draft', 'wcb-incomplete' ];
+	}
+
 	/**
 	 * Register meta boxes
 	 */
@@ -230,16 +239,23 @@ class WCP_Payment_Request {
 			$post->post_status = $back_compat_statuses[ $post->post_status ];
 		}
 
-		$editable_statuses = array( 'auto-draft', 'draft', 'wcb-incomplete' );
+		$editable_statuses = self::get_editable_statuses();
 		$current_user_can_edit_request = false;
 		$submit_text = esc_html_x( 'Update', 'payment request', 'wordcamporg' );
 		$submit_note = '';
+		$submit_note_class = 'warning';
 
 		if ( current_user_can( 'manage_network' ) ) {
 			$current_user_can_edit_request = true;
 		} elseif ( in_array( $post->post_status, $editable_statuses ) ) {
-			$submit_text = esc_html__( 'Submit for Review', 'wordcamporg' );
-			$submit_note = esc_html__( 'Once submitted for review, this request can not be edited.', 'wordcamporg' );
+			if ( WordCamp_Budgets::can_submit_request( $post ) ) {
+				$submit_text = __( 'Submit for Review', 'wordcamporg' );
+				$submit_note = __( 'Once submitted for review, this request cannot be edited.', 'wordcamporg' );
+			} else {
+				$submit_note = __( 'Please add an invoice or other supporting documentation in the Files section and save the draft.', 'wordcamporg' );
+				$submit_note_class = 'error';
+			}
+
 			$current_user_can_edit_request = true;
 		}
 
@@ -583,7 +599,7 @@ class WCP_Payment_Request {
 
 		// Submit for Review button was clicked.
 		if ( ! current_user_can( 'manage_network' ) ) {
-			$editable_statuses = array( 'auto-draft', 'draft', 'wcb-incomplete' );
+			$editable_statuses = self::get_editable_statuses();
 			if ( ! empty( $post_data_raw['wcb-update'] ) && in_array( $post_data['post_status'], $editable_statuses ) ) {
 				$post_data['post_status'] = 'wcb-pending-approval';
 			}
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/reimbursement-request.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/reimbursement-request.php
index b85b18cf3..770e0c043 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/reimbursement-request.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/reimbursement-request.php
@@ -5,10 +5,12 @@
  */
 
 namespace WordCamp\Budgets\Reimbursement_Requests;
+defined( 'WPINC' ) or die();
+
+use WP_Post;
 use WCP_Encryption;
 use WordCamp\Utilities;
-
-defined( 'WPINC' ) or die();
+use WordCamp_Budgets;
 
 const POST_TYPE = 'wcb_reimbursement';
 
@@ -250,7 +252,7 @@ function enqueue_assets() {
  * requests and to submit notes, but they should only be able to change the form fields if the post hasn't been
  * submitted yet, or if we've asked for more information.
  *
- * @param \WP_Post $post
+ * @param WP_Post $post
  *
  * @return bool
  */
@@ -262,7 +264,7 @@ function user_can_edit_request( $post ) {
 /**
  * Render the Status metabox
  *
- * @param \WP_Post $post
+ * @param WP_Post $post
  */
 function render_status_metabox( $post ) {
 	wp_nonce_field( 'status', 'status_nonce' );
@@ -285,12 +287,19 @@ function render_status_metabox( $post ) {
 	$current_user_can_edit_request = false;
 	$submit_text = esc_html_x( 'Update', 'payment request', 'wordcamporg' );
 	$submit_note = '';
+	$submit_note_class = 'warning';
 
 	if ( current_user_can( 'manage_network' ) ) {
 		$current_user_can_edit_request = true;
 	} elseif ( in_array( $post->post_status, $editable_statuses ) ) {
-		$submit_text = esc_html__( 'Submit for Review', 'wordcamporg' );
-		$submit_note = esc_html__( 'Once submitted for review, this request can not be edited.', 'wordcamporg' );
+		if ( WordCamp_Budgets::can_submit_request( $post ) ) {
+			$submit_text = __( 'Submit for Review', 'wordcamporg' );
+			$submit_note = __( 'Once submitted for review, this request cannot be edited.', 'wordcamporg' );
+		} else {
+			$submit_note = __( 'Please add an invoice or other supporting documentation in the Files section and save the draft.', 'wordcamporg' );
+			$submit_note_class = 'error';
+		}
+
 		$current_user_can_edit_request = true;
 	}
 
@@ -299,7 +308,6 @@ function render_status_metabox( $post ) {
 
 	$request_id         = get_current_blog_id() . '-' . $post->ID;
 	$requested_by       = \WordCamp_Budgets::get_requester_name( $post->post_author );
-	$update_text        = current_user_can( 'manage_network' ) ? esc_html__( 'Update Request', 'wordcamporg' ) : esc_html__( 'Send Request', 'wordcamporg' );
 
 	require_once( dirname( __DIR__ ) . '/views/reimbursement-request/metabox-status.php' );
 }
@@ -307,7 +315,7 @@ function render_status_metabox( $post ) {
 /**
  * Render the Notes metabox
  *
- * @param \WP_Post $post
+ * @param WP_Post $post
  */
 function render_notes_metabox( $post ) {
 	wp_nonce_field( 'notes', 'notes_nonce' );
@@ -320,7 +328,7 @@ function render_notes_metabox( $post ) {
 /**
  * Render General Information Metabox
  *
- * @param \WP_Post $post
+ * @param WP_Post $post
  *
  */
 function render_general_information_metabox( $post ) {
@@ -364,7 +372,7 @@ function get_reimbursement_reasons() {
 /**
  * Render Expenses Metabox
  *
- * @param \WP_Post $post
+ * @param WP_Post $post
  *
  */
 function render_expenses_metabox( $post ) {
@@ -439,7 +447,7 @@ function set_request_status( $post_data, $post_data_raw ) {
  * Save the post's data
  *
  * @param int      $post_id
- * @param \WP_Post $post
+ * @param WP_Post $post
  */
 function save_request( $post_id, $post ) {
 	if ( ! \WordCamp_Budgets::post_edit_is_actionable( $post, POST_TYPE ) ) {
@@ -464,7 +472,7 @@ function save_request( $post_id, $post ) {
 	 * To avoid that, we create a stub WP_Post with the original post status, and give that to
 	 * user_can_edit_request() instead.
 	 */
-	$original_post = new \WP_Post( (object) array( 'post_status' => $_POST['original_post_status'] ) );
+	$original_post = new WP_Post( (object) array( 'post_status' => $_POST['original_post_status'] ) );
 
 	if ( user_can_edit_request( $original_post ) ) {
 		$text_fields = array( 'name_of_payer', 'currency', 'reason', 'reason_other' );
@@ -670,7 +678,7 @@ function validate_and_save_expenses( $post_id, $expenses ) {
 /**
  * Validate and save expense data
  *
- * @param \WP_Post $post
+ * @param WP_Post $post
  * @param array    $expenses
  */
 function validate_and_save_notes( $post, $new_note_message ) {
@@ -715,7 +723,7 @@ function validate_and_save_notes( $post, $new_note_message ) {
 /**
  * Notify WordCamp Central or the request author when new notes are added
  *
- * @param \WP_Post $request
+ * @param WP_Post $request
  * @param array    $note
  */
 function notify_parties_of_new_note( $request, $note ) {
@@ -761,7 +769,7 @@ function notify_parties_of_new_note( $request, $note ) {
  *
  * @param string   $new_status
  * @param string   $old_status
- * @param \WP_Post $request
+ * @param WP_Post $request
  */
 function notify_organizer_request_updated( $new_status, $old_status, $request ) {
 	if ( $request->post_type !== POST_TYPE ) {
@@ -1549,4 +1557,4 @@ function _generate_payment_report_jpm_wires( $args ) {
 	// JPM chokes on accents and non-latin characters.
 	$results = remove_accents( $results );
 	return $results;
-}
\ No newline at end of file
+}
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/sponsor-invoice.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/sponsor-invoice.php
index d749db967..05d591826 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/sponsor-invoice.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/sponsor-invoice.php
@@ -5,6 +5,8 @@
  */
 
 namespace WordCamp\Budgets\Sponsor_Invoices;
+use WP_Post;
+use WordCamp_Loader;
 
 defined( 'WPINC' ) or die();
 
@@ -243,12 +245,16 @@ function required_fields_complete( $submitted_values, $required_fields ) {
 /**
  * Render the Status metabox
  *
- * @param \WP_Post $post
+ * @param WP_Post $post The invoice post
  */
 function render_status_metabox( $post ) {
+	require_once( WP_PLUGIN_DIR . '/wcpt/wcpt-event/class-event-loader.php' );
+	require_once( WP_PLUGIN_DIR . '/wcpt/wcpt-wordcamp/wordcamp-loader.php' );
+
 	wp_nonce_field( 'status', 'status_nonce' );
 
 	$delete_text = EMPTY_TRASH_DAYS ? esc_html__( 'Move to Trash' ) : esc_html__( 'Delete Permanently' );
+	$wordcamp    = get_wordcamp_post();
 
 	/*
 	 * We can't use current_user_can( 'edit_post', N ) in this case, because the restriction only applies when
@@ -268,7 +274,9 @@ function render_status_metabox( $post ) {
 		$allowed_edit_statuses[] = 'wcbsi_submitted';
 	}
 
+	$allowed_submit_statuses         = WordCamp_Loader::get_after_contract_statuses();
 	$current_user_can_edit_request = in_array( $post->post_status, $allowed_edit_statuses, true );
+	$current_user_can_submit_request = $wordcamp && in_array( $wordcamp->post_status, $allowed_submit_statuses, true );
 
 	require_once( dirname( __DIR__ ) . '/views/sponsor-invoice/metabox-status.php' );
 }
@@ -419,6 +427,13 @@ function save_invoice( $post_id, $post ) {
 			update_post_meta( $post_id, $meta_key, $value );
 		}
 	}
+
+	if ( 'wcbsi_approved' === $post->post_status ) {
+		$invoice_sent_at = get_post_meta( $post_id, 'Sent at', true );
+		if ( empty( $invoice_sent_at ) ) {
+			update_post_meta( $post_id, 'Sent at', time() );
+		}
+	}
 }
 
 /**
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/wordcamp-budgets.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/wordcamp-budgets.php
index 616a30681..8242944ef 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/wordcamp-budgets.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/wordcamp-budgets.php
@@ -170,7 +170,7 @@ class WordCamp_Budgets {
 			'wordcamp-budgets',
 			plugins_url( 'javascript/wordcamp-budgets.js', __DIR__ ),
 			array( 'jquery', 'jquery-ui-datepicker', 'media-upload', 'media-views' ),
-			3,
+			filemtime( WORDCAMP_PAYMENTS_PATH . '/javascript/wordcamp-budgets.js' ),
 			true
 		);
 
@@ -2571,6 +2571,7 @@ class WordCamp_Budgets {
 	 */
 	public static function get_payment_categories() {
 		return array(
+			// Changes here may need to be synchronized with `_get_default_budget()`.
 			'after-party'     => esc_html__( 'After Party',                    'wordcamporg' ),
 			'audio-visual'    => esc_html__( 'Audio Visual',                   'wordcamporg' ),
 			'camera-shipping' => esc_html__( 'Camera Shipping',                'wordcamporg' ),
@@ -2666,6 +2667,23 @@ class WordCamp_Budgets {
 		return $address;
 	}
 
+	/**
+	 * Check if a request post meets the requirements to be submitted for review.
+	 *
+	 * @param WP_Post $post
+	 */
+	public static function can_submit_request( $post ) {
+		if ( ! current_user_can( 'manage_network' ) ) {
+			// A request must have documentation attached before it can be submitted.
+			$files = self::get_attached_files( $post );
+			if ( empty( $files ) ) {
+				return false;
+			}
+		}
+
+		return true;
+	}
+
 	/**
 	 * Get the files attached to a post
 	 *
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/budget-tool.js wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/budget-tool.js
index a03ecacab..8c4e3819c 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/budget-tool.js
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/budget-tool.js
@@ -1,544 +1,588 @@
-window.wcb = window.wcb || {models:{}, input:[]};
-
-(function($){
-    var $document = $(document),
-        $container = $('.wcb-budget-container tbody'),
-        $income = $container.find('.wcb-income-placeholder'),
-        $expense = $container.find('.wcb-expense-placeholder'),
-        $meta = $container.find('.wcb-meta-placeholder'),
-        $summary = $('.wcb-summary-placeholder'),
-        $form = $('.wcb-submit-form');
-
-    var template_options = {
-		evaluate:    /<#([\s\S]+?)#>/g,
-		interpolate: /\{\{\{([\s\S]+?)\}\}\}/g,
-		escape:      /\{\{([^\}]+?)\}\}(?!\})/g,
-		variable:    'data'
-    };
-
-    var Entry = Backbone.Model.extend({
+window.wcb = window.wcb || { models: {}, input: [] };
+
+( function( $ ) {
+	var wcb = window.wcb;
+
+	var $document  = $( document ),
+		$container = $( '.wcb-budget-container tbody' ),
+		$income    = $container.find( '.wcb-income-placeholder' ),
+		$expense   = $container.find( '.wcb-expense-placeholder' ),
+		$meta      = $container.find( '.wcb-meta-placeholder' ),
+		$summary   = $( '.wcb-summary-placeholder' ),
+		$form      = $( '.wcb-submit-form' );
+
+	var template_options = {
+		evaluate    : /<#([\s\S]+?)#>/g,
+		interpolate : /\{\{\{([\s\S]+?)\}\}\}/g,
+		escape      : /\{\{([^\}]+?)\}\}(?!\})/g,
+		variable    : 'data',
+	};
+
+	var Entry = Backbone.Model.extend( {
 		defaults: {
-			type: 'expense',
-            category: 'other',
-            amount: 0,
-            note: '',
-            new: false,
-            link: null,
-
-            // metadata
-            name: '',
-            value: null
-		},
-
-        initialize: function() {
-            this._realAmount = this.getRealAmount();
-            this._attr = _.clone(this.attributes);
-        },
-
-        getRealAmount: function() {
-            if (!this.get('link'))
-                return this.get('amount');
-
-            if (this.get('link') in wcb.linkData) {
-                var link = wcb.linkData[this.get('link')]
-                return link.callback(this.get('amount'));
-            }
-
-            return 0;
-        },
-
-        getLinkLabel: function() {
-            if (!this.get('link'))
-                return '';
-
-            if (this.get('link') in wcb.linkData)
-                return wcb.linkData[this.get('link')].label;
-
-            return '';
-        },
-
-        linkHasValue: function() {
-            if (!this.get('link'))
-                return false;
-
-            if (this.get('link') in wcb.linkData)
-                return wcb.linkData[this.get('link')].hasValue;
-
-            return false;
-        },
-
-        hasChanged: function() {
-            // console.log(this._attr);
-            // console.log(this.attributes);
-            // console.log(this._realAmount)
-
-            var _stringify = function(v) {
-                if (!v) return v;
-                return v.toString();
-            }
-
-            var changed = _.isEqual(
-                _.map(this._attr, _stringify),
-                _.map(this.attributes, _stringify)
-            ) && this._realAmount == this.getRealAmount();
-            return !changed;
-        },
-
-        editStart: function() {
-            this.trigger('edit-start.wordcamp-budgets');
-        }
-    });
-
-    var SummaryView = Backbone.View.extend({
-        className: 'wcb-budget-container wcb-budget-summary',
-        tagName: 'table',
-        urls: [],
-
-        events: {
-            'click .inspire': 'inspire'
-        },
-
-        render: function() {
-	        var attendees = wcb.table.collection.findWhere({type: 'meta', name: 'attendees'}),
-	            days      = wcb.table.collection.findWhere({type: 'meta', name: 'days'}),
-                data = {
-                    'income': 0,
-                    'expenses': 0,
-                    'variance': 0,
-                    'variance_raw': 0,
-                    'per_person': 0
-                };
-
-            _.each(wcb.table.collection.where({type: 'income'}), function(item) {
-                data['income'] += item.getRealAmount();
-            });
-
-            _.each(wcb.table.collection.where({type: 'expense'}), function(item) {
-                data['expenses'] += item.getRealAmount();
-            });
-
-            data['variance'] = data['income'] - data['expenses'];
-            data['variance_raw'] = data['variance'];
-            data['per_person'] = (attendees && days) ? data['expenses'] / attendees.get('value') / days.get('value'): 0;
-
-            data = _.mapObject(data, function(v, k) {
-                if (k == 'variance_raw')
-                    return v;
-
-                return v.toLocaleString('en-US', {
-                    minimumFractionDigits: 2,
-                    maximumFractionDigits: 2
-                });
-            });
-
-            this.template = _.template($('#wcb-tmpl-summary').html(), null, template_options);
-            this.$el.html(this.template(data));
-            return this;
-        },
-
-        initialize: function() {
-            $summary.append(this.render().el);
-            return this;
-        },
-
-        inspire: function(e) {
-            e.target.href = this.urls[Math.floor(Math.random()*this.urls.length)];
-            return true;
-        }
-    });
-
-    var EntryView = Backbone.View.extend({
-        className: 'wcb-entry',
-        tagName: 'tr',
-        cancel: false,
-
-        events: {
-            'keyup': 'keyup',
-            'click .delete': 'delete',
-            'click .move': 'move',
-            'change input': 'editSave',
-            'change select.category': 'editSave',
-            'change select.link-value': 'linkChange',
-            'change select.value': 'editSave',
-
-            'focus input, select': 'focus',
-            'blur input, select': 'blur'
-        },
-
-        initialize: function() {
-            this.model.bind('destroy', this.remove, this);
-        },
-
-        linkChange: function() {
-            this.model.set('link', this.$el.find('.link-value').val() || null);
-            return this;
-        },
-
-        focus: function(e) {
-            var $target = $(e.target);
-            $target.parents('td').addClass('focused');
-
-            if (($target.hasClass('amount') || $target.hasClass('link-value')) && this.model.get('link') && this.model.linkHasValue()) {
-                this.$el.find('.amount').val(this.model.get('amount').toLocaleString('en-US', {
-                    minimumFractionDigits: 2,
-                    maximumFractionDigits: 2
-                }));
-            }
-
-            if ($target.hasClass('note') && $target.parents('tr').hasClass('is-new')) {
-                if (_.contains(['New Expense Item', 'New Income Item'], this.model.get('note'))) {
-                    this.$el.find('.note').val('');
-                }
-            }
-
-            return this;
-        },
-
-        blur: function(e) {
-            var $target = $(e.target);
-            $target.parents('td').removeClass('focused');
-
-            if (($target.hasClass('amount') || $target.hasClass('link-value')) && this.model.get('link')) {
-                this.$el.find('.amount').val(this.model.getRealAmount().toLocaleString('en-US', {
-                    minimumFractionDigits: 2,
-                    maximumFractionDigits: 2
-                }));
-            }
-
-            if ($target.hasClass('note') && $target.parents('tr').hasClass('is-new')) {
-                if (_.contains(['New Expense Item', 'New Income Item'], this.model.get('note'))) {
-                    this.$el.find('.note').val(this.model.get('note'));
-                }
-            }
-
-            return this;
-        },
-
-        render: function() {
-            var data = this.model.toJSON();
-            data.realAmount = this.model.getRealAmount();
-            data.realAmountFormatted = data.realAmount.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
-            data.amountFormatted = data.amount.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
-            data.linkLabel = this.model.getLinkLabel();
-            data.linkHasValue = this.model.linkHasValue();
-
-            this.template = _.template($('#wcb-tmpl-entry').html(), null, template_options);
-            this.$el.html(this.template(data));
-            this.$el.toggleClass('has-changed', this.model.hasChanged() && ! this.model.get('new'));
-            this.$el.toggleClass('is-new', this.model.get('new'));
-            this.$el.data('wcb-cid', this.model.cid);
-
-			if( data.name === 'currency' && $.fn.hasOwnProperty( 'select2' ) ){
-				var currSelect2Box = this.$el.find( 'select' ).select2( { width: '100%' } );
+			type     : 'expense',
+			category : 'other',
+			amount   : 0,
+			note     : '',
+			new      : false,
+			link     : null,
+
+			// metadata
+			name  : '',
+			value : null,
+		},
+
+		initialize: function() {
+			this._realAmount = this.getRealAmount();
+			this._attr       = _.clone( this.attributes );
+		},
+
+		getRealAmount: function() {
+			if ( ! this.get( 'link' ) ) {
+				return this.get( 'amount' );
+			}
+
+			if ( this.get( 'link' ) in wcb.linkData ) {
+				var link = wcb.linkData[ this.get( 'link' ) ];
+				return link.callback( this.get( 'amount' ) );
+			}
+
+			return 0;
+		},
+
+		getLinkLabel: function() {
+			if ( ! this.get( 'link' ) ) {
+				return '';
+			}
+
+			if ( this.get( 'link' ) in wcb.linkData ) {
+				return wcb.linkData[ this.get( 'link' ) ].label;
+			}
+
+			return '';
+		},
+
+		linkHasValue: function() {
+			if ( ! this.get( 'link' ) ) {
+				return false;
+			}
+
+			if ( this.get( 'link' ) in wcb.linkData ) {
+				return wcb.linkData[ this.get( 'link' ) ].hasValue;
+			}
+
+			return false;
+		},
+
+		hasChanged: function() {
+			var _stringify = function( v ) {
+				if ( ! v ) {
+					return v;
+				}
+				return v.toString();
+			};
+
+			var changed = _.isEqual(
+				_.map( this._attr, _stringify ),
+				_.map( this.attributes, _stringify )
+			) && this._realAmount == this.getRealAmount();
+
+			return ! changed;
+		},
+
+		editStart: function() {
+			this.trigger( 'edit-start.wordcamp-budgets' );
+		},
+	} );
+
+	var SummaryView = Backbone.View.extend( {
+		className : 'wcb-budget-container wcb-budget-summary',
+		tagName   : 'table',
+		urls      : [],
+
+		events: {
+			'click .inspire' : 'inspire',
+		},
+
+		render: function() {
+			var attendees = wcb.table.collection.findWhere( { type: 'meta', name: 'attendees' } ),
+				days      = wcb.table.collection.findWhere( { type: 'meta', name: 'days' } ),
+				data      = {
+					income       : 0,
+					expenses     : 0,
+					variance     : 0,
+					variance_raw : 0,
+					per_person   : 0,
+				};
+
+			_.each( wcb.table.collection.where( { type: 'income' } ), function( item ) {
+				data[ 'income' ] += item.getRealAmount();
+			} );
+
+			_.each( wcb.table.collection.where( { type: 'expense' } ), function( item ) {
+				data[ 'expenses' ] += item.getRealAmount();
+			} );
+
+			data[ 'variance' ]     = data[ 'income' ] - data[ 'expenses' ];
+			data[ 'variance_raw' ] = data[ 'variance' ];
+			data[ 'per_person' ]   = ( attendees && days ) ? data[ 'expenses' ] / attendees.get( 'value' ) / days.get( 'value' ) : 0;
+
+			data = _.mapObject( data, function( v, k ) {
+				if ( k == 'variance_raw' ) {
+					return v;
+				}
+
+				return v.toLocaleString( 'en-US', {
+					minimumFractionDigits : 2,
+					maximumFractionDigits : 2,
+				} );
+			} );
+
+			this.template = _.template( $( '#wcb-tmpl-summary' ).html(), null, template_options );
+			this.$el.html( this.template( data ) );
+
+			return this;
+		},
+
+		initialize: function() {
+			$summary.append( this.render().el );
+			return this;
+		},
+
+		inspire: function( e ) {
+			e.target.href = this.urls[ Math.floor( Math.random() * this.urls.length ) ];
+			return true;
+		},
+	} );
+
+	var EntryView = Backbone.View.extend( {
+		className : 'wcb-entry',
+		tagName   : 'tr',
+		cancel    : false,
+
+		events: {
+			'keyup'                    : 'keyup',
+			'click .delete'            : 'delete',
+			'click .move'              : 'move',
+			'change input'             : 'editSave',
+			'change select.category'   : 'editSave',
+			'change select.link-value' : 'linkChange',
+			'change select.value'      : 'editSave',
+
+			'focus input, select' : 'focus',
+			'blur input, select'  : 'blur',
+		},
+
+		initialize: function() {
+			this.model.bind( 'destroy', this.remove, this );
+		},
+
+		linkChange: function() {
+			this.model.set( 'link', this.$el.find( '.link-value' ).val() || null );
+			return this;
+		},
+
+		focus: function( e ) {
+			var $target = $( e.target );
+			$target.parents( 'td' ).addClass( 'focused' );
+
+			if ( ( $target.hasClass( 'amount' ) || $target.hasClass( 'link-value' ) ) && this.model.get( 'link' ) && this.model.linkHasValue() ) {
+				this.$el.find( '.amount' ).val( this.model.get( 'amount' ).toLocaleString( 'en-US', {
+					minimumFractionDigits : 2,
+					maximumFractionDigits : 2,
+				} ) );
+			}
+
+			if ( $target.hasClass( 'note' ) && $target.parents( 'tr' ).hasClass( 'is-new' ) ) {
+				if ( _.contains( [ 'New Expense Item', 'New Income Item' ], this.model.get( 'note' ) ) ) {
+					this.$el.find( '.note' ).val( '' );
+				}
+			}
+
+			return this;
+		},
+
+		blur: function( e ) {
+			var $target = $( e.target );
+			$target.parents( 'td' ).removeClass( 'focused' );
+
+			if ( ( $target.hasClass( 'amount' ) || $target.hasClass( 'link-value' ) ) && this.model.get( 'link' ) ) {
+				this.$el.find( '.amount' ).val( this.model.getRealAmount().toLocaleString( 'en-US', {
+					minimumFractionDigits : 2,
+					maximumFractionDigits : 2,
+				} ) );
+			}
+
+			if ( $target.hasClass( 'note' ) && $target.parents( 'tr' ).hasClass( 'is-new' ) ) {
+				if ( _.contains( [ 'New Expense Item', 'New Income Item' ], this.model.get( 'note' ) ) ) {
+					this.$el.find( '.note' ).val( this.model.get( 'note' ) );
+				}
+			}
+
+			return this;
+		},
+
+		render: function() {
+			var data                 = this.model.toJSON();
+			data.realAmount          = this.model.getRealAmount();
+			data.realAmountFormatted = data.realAmount.toLocaleString( 'en-US', {
+				minimumFractionDigits : 2,
+				maximumFractionDigits : 2,
+			} );
+			data.amountFormatted     = data.amount.toLocaleString( 'en-US', {
+				minimumFractionDigits : 2,
+				maximumFractionDigits : 2,
+			} );
+			data.linkLabel           = this.model.getLinkLabel();
+			data.linkHasValue        = this.model.linkHasValue();
+
+			this.template = _.template( $( '#wcb-tmpl-entry' ).html(), null, template_options );
+			this.$el.html( this.template( data ) );
+			this.$el.toggleClass( 'has-changed', this.model.hasChanged() && ! this.model.get( 'new' ) );
+			this.$el.toggleClass( 'is-new', this.model.get( 'new' ) );
+			this.$el.data( 'wcb-cid', this.model.cid );
+
+			if ( data.name === 'currency' && $.fn.hasOwnProperty( 'select2' ) ) {
+				var currSelect2Box       = this.$el.find( 'select' ).select2( { width: '100%' } );
 				var initializedSelectBox = currSelect2Box.data( 'select2' );
 				if ( initializedSelectBox ) {
 					initializedSelectBox.$dropdown.addClass( 'select2-currency-dropdown' );
 				}
 			}
 
-            return this;
-        },
-
-        keyup: function(e) {
-            if (e.keyCode == 27) {
-                return this.editCancel.apply(this, arguments);
-            } else if (e.keyCode == 13) {
-                return this.editSave.apply(this, arguments);
-            }
-
-            return this;
-        },
-
-        editSave: function(e) {
-            if (this.model.get('type') == 'meta') {
-                var value = this.$el.find('.value').val(),
-                    name = this.model.get('name');
-
-                if (_.contains(['attendees', 'days', 'tracks', 'speakers', 'volunteers'], name)) {
-                    value = parseInt(value.replace(/[^\d.-]/g, '')) || 0;
-                } else if (_.contains(['ticket-price'], name)) {
-                    value = parseFloat(value.replace(/[^\d.-]/g, '')) || 0;
-                }
-
-                this.model.set('value', value);
-            } else {
-                this.model.set('note', this.$el.find('.note').val());
-                this.model.set('category', this.$el.find('.category').val());
-
-                var $target = $(e.target);
-                if ($target.hasClass('amount') || $target.hasClass('link-value')) {
-                    var amount = parseFloat(this.$el.find('.amount').val().replace(/[^\d.-]/g, ''));
-                    this.model.set('amount', amount || 0);
-                }
+			return this;
+		},
+
+		keyup: function( e ) {
+			if ( e.keyCode == 27 ) {
+				return this.editCancel.apply( this, arguments );
+			} else if ( e.keyCode == 13 ) {
+				return this.editSave.apply( this, arguments );
+			}
+
+			return this;
+		},
+
+		editSave: function( e ) {
+			if ( this.model.get( 'type' ) == 'meta' ) {
+				var value = this.$el.find( '.value' ).val(),
+					name  = this.model.get( 'name' );
+
+				if ( _.contains( [ 'attendees', 'days', 'tracks', 'speakers', 'volunteers' ], name ) ) {
+					value = parseInt( value.replace( /[^\d.-]/g, '' ) ) || 0;
+				} else if ( _.contains( [ 'ticket-price' ], name ) ) {
+					value = parseFloat( value.replace( /[^\d.-]/g, '' ) ) || 0;
+				}
+
+				this.model.set( 'value', value );
+			} else {
+				this.model.set( 'note', this.$el.find( '.note' ).val() );
+				this.model.set( 'category', this.$el.find( '.category' ).val() );
+
+				var $target = $( e.target );
+				if ( $target.hasClass( 'amount' ) || $target.hasClass( 'link-value' ) ) {
+					var amount = parseFloat( this.$el.find( '.amount' ).val().replace( /[^\d.-]/g, '' ) );
+					this.model.set( 'amount', amount || 0 );
+				}
+				this.render.apply( this );
+			}
+
+			this.clearSelection.apply( this );
+
+			return false;
+		},
+
+		editCancel: function( e ) {
+			this.clearSelection.apply( this );
+
+			if ( this.model.get( 'type' ) == 'meta' ) {
+				this.$el.find( '.value' ).val( this.model.get( 'value' ) );
+			} else {
+				this.$el.find( '.amount' ).val( this.model.get( 'amount' ) );
+				this.$el.find( '.note' ).val( this.model.get( 'note' ) );
+			}
+
+			this.editSave.apply( this, arguments );
+
+			return false;
+		},
+
+		clearSelection: function() {
+			if ( window.getSelection ) {
+				if ( window.getSelection().empty ) {
+					window.getSelection().empty();
+				} else if ( window.getSelection().removeAllRanges ) {
+					window.getSelection().removeAllRanges();
+				}
+			} else if ( document.selection ) {
+				document.selection.empty();
+			}
+		},
+
+		delete: function() {
+			if ( ! confirm( 'Delete this line item?' ) ) {
+				return false;
+			}
+
+			this.model.destroy();
+			wcb.summary.render.apply( wcb.summary );
+
+			return false;
+		},
+
+		move: function() {
+			return false;
+		},
+	} );
+
+	var Entries = Backbone.Collection.extend( {
+		model : Entry,
+	} );
+
+	var EntriesView = Backbone.View.extend( {
+		tagName   : 'table',
+		className : 'wcb-table',
+
+		initialize: function() {
+			this.collection.bind( 'add', this.addOne, this );
+			this.collection.bind( 'change reset', this.refresh, this );
+		},
+
+		refresh: function( model ) {
+			if ( model.get( 'type' ) == 'meta' ) {
 				this.render.apply( this );
 			}
 
-            this.clearSelection.apply(this);
-            return false;
-        },
-
-        editCancel: function(e) {
-            this.clearSelection.apply(this);
-
-            if (this.model.get('type') == 'meta') {
-                this.$el.find('.value').val(this.model.get('value'));
-            } else {
-                this.$el.find('.amount').val(this.model.get('amount'));
-                this.$el.find('.note').val(this.model.get('note'));
-            }
-
-            this.editSave.apply(this, arguments);
-            return false;
-        },
-
-        clearSelection: function() {
-            if (window.getSelection) {
-                if (window.getSelection().empty) {
-                    window.getSelection().empty();
-                } else if (window.getSelection().removeAllRanges) {
-                    window.getSelection().removeAllRanges();
-                }
-            } else if (document.selection) {
-                document.selection.empty();
-            }
-        },
-
-        delete: function() {
-            if (!confirm('Delete this line item?'))
-                return false;
-
-            this.model.destroy();
-            wcb.summary.render.apply(wcb.summary);
-            return false;
-        },
-
-        move: function() {
-            return false;
-        }
-    });
-
-    var Entries = Backbone.Collection.extend({
-        model: Entry
-    });
-
-    var EntriesView = Backbone.View.extend({
-        tagName: 'table',
-        className: 'wcb-table',
-
-        initialize: function() {
-            this.collection.bind('add', this.addOne, this);
-            this.collection.bind('change reset', this.refresh, this);
-        },
-
-        refresh: function(model) {
-            if (model.get('type') == 'meta') {
-                this.render.apply(this);
-            }
-
-            wcb.summary.render.apply(wcb.summary);
-            return this;
-        },
-
-        addOne: function(item) {
-            var view = new EntryView({model: item});
-            switch (view.model.get('type')) {
-                case 'expense':
-                    var $c = $expense;
-                    break;
-                case 'income':
-                    var $c = $income;
-                    break;
-                case 'meta':
-                default:
-                    var $c = $meta;
-            }
-
-            $c.before(view.render().el);
-        },
-
-        render: function() {
-            $container.find('.wcb-entry').remove();
-            this.collection.each(this.addOne, this);
-            return this;
-        }
-    });
-
-    wcb.categories = {
-        'venue': 'Venue',
-        'audio-visual': 'Audio Visual',
-        'after-party': 'After Party',
-        'camera-shipping': 'Camera Shipping',
-        'food-beverage': 'Food & Beverage',
-        'office-supplies': 'Office Supplies',
-        'signage-badges': 'Signage & Badges',
-        'speaker-event': 'Speaker Event',
-        'swag': 'Swag',
-        'other': 'Other'
-    };
-
-    wcb.metaLabels = {
-        'attendees': 'Attendees',
-        'days': 'Days',
-        'tracks': 'Tracks',
-        'speakers': 'Speakers',
-        'volunteers': 'Volunteers',
-        'currency': 'Currency',
-        'ticket-price': 'Ticket Price'
-    };
-
-    wcb.linkData = {
-        'per-speaker': {
-            'label': 'per speaker',
-            'hasValue': true,
-            'callback': function(value) {
-                return parseFloat(value) * parseInt(wcb.table.collection.findWhere({type: 'meta', name: 'speakers'}).get('value'));
-            }
-        },
-
-        'per-volunteer': {
-            'label': 'per volunteer',
-            'hasValue': true,
-            'callback': function(value) {
-                return parseFloat(value) * parseInt(wcb.table.collection.findWhere({type: 'meta', name: 'volunteers'}).get('value'));
-            }
-        },
-
-        'per-speaker-volunteer': {
-            'label': 'per speakers + volunteers',
-            'hasValue': true,
-            'callback': function(value) {
-                return parseFloat(value) * (
-                    parseInt(wcb.table.collection.findWhere({type: 'meta', name: 'volunteers'}).get('value'))
-                    + parseInt(wcb.table.collection.findWhere({type: 'meta', name: 'speakers'}).get('value'))
-                );
-            }
-        },
-
-        'per-attendee': {
-            'label': 'per attendee',
-            'hasValue': true,
-            'callback': function(value) {
-                return parseFloat(value) * parseInt(wcb.table.collection.findWhere({type: 'meta', name: 'attendees'}).get('value'));
-            }
-        },
-
-        'per-day': {
-            'label': 'per day',
-            'hasValue': true,
-            'callback': function(value) {
-                return parseFloat(value) * parseInt(wcb.table.collection.findWhere({type: 'meta', name: 'days'}).get('value'));
-            }
-        },
-
-        'per-track': {
-            'label': 'per track',
-            'hasValue': true,
-            'callback': function(value) {
-                return parseFloat(value) * parseInt(wcb.table.collection.findWhere({type: 'meta', name: 'tracks'}).get('value'));
-            }
-        },
-
-        'ticket-price-x-attendees': {
-            'label': 'ticket price &times; attendees',
-            'hasValue': false,
-            'callback': function(value) {
-                var attendees = wcb.table.collection.findWhere({type: 'meta', name: 'attendees'}).get('value');
-                var price = wcb.table.collection.findWhere({type: 'meta', name: 'ticket-price'}).get('value');
-                return parseInt(attendees) * parseFloat(price);
-            }
-        }
-    };
-
-    var table = new EntriesView({collection: new Entries()});
-
-    $income.on('click', function() {
-        table.collection.add(new wcb.models.Entry({
-            type: 'income',
-            amount: 0,
-            note: 'New Income Item',
-            category: 'other',
-            new: true
-        })).editStart();
-        return false;
-    });
-
-    $expense.on('click', function() {
-        table.collection.add(new wcb.models.Entry({
-            type: 'expense',
-            amount: 0,
-            note: 'New Expense Item',
-            category: 'other',
-            new: true
-        })).editStart();
-        return false;
-    });
-
-    $form.on('submit', function() {
-        $container.find('.wcb-entry').each(function(el){
-            var $this = $(this);
-                model = wcb.table.collection.get($this.data('wcb-cid'));
-
-            model.set({'order': $this.index()}, {silent: true});
-        });
-
-        var sorted = JSON.stringify(wcb.table.collection.sortBy(function(m){
-            return m.get('type') + ':' + (m.get('order')/Math.pow(10,10)).toFixed(10); // Don't ask.
-        }));
-
-        $form.find('[name="_wcb_budget_data"]').val(sorted);
-        return true;
-    });
-
-    wcb.models.Entry = Entry;
-    wcb.table = table;
-    wcb.summary = new SummaryView();
-
-    // Sort all the input by types, meta first, because linked data in
-    // income and expenses rely on meta values.
-    var types = ['meta', 'expense', 'income'];
-    wcb.input = _.sortBy(wcb.input, function(i) {
-        return types.indexOf(i.type);
-    });
-
-    _.each(wcb.input, function(i){
-        wcb.table.collection.add(new wcb.models.Entry(i));
-    });
-
-    wcb.summary.urls = wcb.urls;
-    wcb.summary.render();
-
-    // Allow sorting entries.
-    $container.sortable({
-        items: '.wcb-entry',
-        handle: '.move',
-        axis: 'y',
-        placeholder: 'wcb-entry-placeholder',
-        start: function(e, ui) {
-            ui.placeholder.height(ui.item.height());
-        }
-    });
-
-    // Update nonces when necessary.
-    // TODO: Add post locking.
-    $document.on('heartbeat-send', function(e, data) {
-        data['wcb_budgets_heartbeat'] = 1;
-    });
-
-    $document.on('heartbeat-tick', function(e, data) {
-        $('#_wpnonce').val(data.wcb_budgets.nonce);
-    });
-
-    $document.on('click', '#wcb-budget-submit', function() {
-        if (!confirm('Are you sure you would like to submit this budget for approval?'))
-            return false;
-
-        return true;
-    });
-
-    $document.on('click', '#wcb-budget-approve, #wcb-budget-reject', function() {
-        if (!confirm('Are you sure?'))
-            return false;
-
-        return true;
-    });
-}(jQuery));
\ No newline at end of file
+			wcb.summary.render.apply( wcb.summary );
+
+			return this;
+		},
+
+		addOne: function( item ) {
+			var view = new EntryView( { model: item } );
+
+			switch ( view.model.get( 'type' ) ) {
+				case 'expense':
+					var $c = $expense;
+					break;
+				case 'income':
+					var $c = $income;
+					break;
+				case 'meta':
+				default:
+					var $c = $meta;
+			}
+
+			$c.before( view.render().el );
+		},
+
+		render: function() {
+			$container.find( '.wcb-entry' ).remove();
+			this.collection.each( this.addOne, this );
+
+			return this;
+		},
+	} );
+
+	// Decode HTML entities in category names
+	_.each( wcb.categories, function( name, slug, list ) {
+		list[ slug ] = name.replace( '&amp;', '&' );
+	} );
+
+	wcb.metaLabels = {
+		'attendees'    : 'Attendees',
+		'days'         : 'Days',
+		'tracks'       : 'Tracks',
+		'speakers'     : 'Speakers',
+		'volunteers'   : 'Volunteers',
+		'currency'     : 'Currency',
+		'ticket-price' : 'Ticket Price',
+	};
+
+	wcb.linkData = {
+		'per-speaker' : {
+			'label'    : 'per speaker',
+			'hasValue' : true,
+			'callback' : function( value ) {
+				return parseFloat( value ) * parseInt( wcb.table.collection.findWhere( {
+					type : 'meta',
+					name : 'speakers',
+				} ).get( 'value' ) );
+			},
+		},
+
+		'per-volunteer' : {
+			'label'    : 'per volunteer',
+			'hasValue' : true,
+			'callback' : function( value ) {
+				return parseFloat( value ) * parseInt( wcb.table.collection.findWhere( {
+					type : 'meta',
+					name : 'volunteers',
+				} ).get( 'value' ) );
+			},
+		},
+
+		'per-speaker-volunteer' : {
+			'label'    : 'per speakers + volunteers',
+			'hasValue' : true,
+			'callback' : function( value ) {
+				return parseFloat( value ) * (
+					parseInt( wcb.table.collection.findWhere( {
+						type : 'meta',
+						name : 'volunteers',
+					} ).get( 'value' ) )
+					+ parseInt( wcb.table.collection.findWhere( {
+						type : 'meta',
+						name : 'speakers',
+					} ).get( 'value' ) )
+				);
+			},
+		},
+
+		'per-attendee' : {
+			'label'    : 'per attendee',
+			'hasValue' : true,
+			'callback' : function( value ) {
+				return parseFloat( value ) * parseInt( wcb.table.collection.findWhere( {
+					type : 'meta',
+					name : 'attendees',
+				} ).get( 'value' ) );
+			},
+		},
+
+		'per-day' : {
+			'label'    : 'per day',
+			'hasValue' : true,
+			'callback' : function( value ) {
+				return parseFloat( value ) * parseInt( wcb.table.collection.findWhere( {
+					type : 'meta',
+					name : 'days',
+				} ).get( 'value' ) );
+			},
+		},
+
+		'per-track' : {
+			'label'    : 'per track',
+			'hasValue' : true,
+			'callback' : function( value ) {
+				return parseFloat( value ) * parseInt( wcb.table.collection.findWhere( {
+					type : 'meta',
+					name : 'tracks',
+				} ).get( 'value' ) );
+			},
+		},
+
+		'ticket-price-x-attendees' : {
+			'label'    : 'ticket price &times; attendees',
+			'hasValue' : false,
+			'callback' : function( value ) {
+				var attendees = wcb.table.collection.findWhere( {
+					type : 'meta',
+					name : 'attendees',
+				} ).get( 'value' );
+				var price     = wcb.table.collection.findWhere( {
+					type : 'meta',
+					name : 'ticket-price',
+				} ).get( 'value' );
+
+				return parseInt( attendees ) * parseFloat( price );
+			},
+		},
+	};
+
+	var table = new EntriesView( { collection: new Entries() } );
+
+	$income.on( 'click', function() {
+		table.collection.add( new wcb.models.Entry( {
+			type     : 'income',
+			amount   : 0,
+			note     : 'New Income Item',
+			category : 'other',
+			new      : true,
+		} ) ).editStart();
+		return false;
+	} );
+
+	$expense.on( 'click', function() {
+		table.collection.add( new wcb.models.Entry( {
+			type     : 'expense',
+			amount   : 0,
+			note     : 'New Expense Item',
+			category : 'other',
+			new      : true,
+		} ) ).editStart();
+		return false;
+	} );
+
+	$form.on( 'submit', function() {
+		$container.find( '.wcb-entry' ).each( function( el ) {
+			var $this = $( this );
+			model     = wcb.table.collection.get( $this.data( 'wcb-cid' ) );
+
+			model.set( { 'order': $this.index() }, { silent: true } );
+		} );
+
+		var sorted = JSON.stringify( wcb.table.collection.sortBy( function( m ) {
+			return m.get( 'type' ) + ':' + ( m.get( 'order' ) / Math.pow( 10, 10 ) ).toFixed( 10 ); // Don't ask.
+		} ) );
+
+		$form.find( '[name="_wcb_budget_data"]' ).val( sorted );
+
+		return true;
+	} );
+
+	wcb.models.Entry = Entry;
+	wcb.table        = table;
+	wcb.summary      = new SummaryView();
+
+	// Sort all the input by types, meta first, because linked data in
+	// income and expenses rely on meta values.
+	var types = [ 'meta', 'expense', 'income' ];
+	wcb.input = _.sortBy( wcb.input, function( i ) {
+		return types.indexOf( i.type );
+	} );
+
+	_.each( wcb.input, function( i ) {
+		wcb.table.collection.add( new wcb.models.Entry( i ) );
+	} );
+
+	wcb.summary.urls = wcb.urls;
+	wcb.summary.render();
+
+	// Allow sorting entries.
+	$container.sortable( {
+		items       : '.wcb-entry',
+		handle      : '.move',
+		axis        : 'y',
+		placeholder : 'wcb-entry-placeholder',
+		start       : function( e, ui ) {
+			ui.placeholder.height( ui.item.height() );
+		},
+	} );
+
+	// Update nonces when necessary.
+	// TODO: Add post locking.
+	$document.on( 'heartbeat-send', function( e, data ) {
+		data[ 'wcb_budgets_heartbeat' ] = 1;
+	} );
+
+	$document.on( 'heartbeat-tick', function( e, data ) {
+		$( '#_wpnonce' ).val( data.wcb_budgets.nonce );
+	} );
+
+	$document.on( 'click', '#wcb-budget-submit', function() {
+		if ( ! confirm( 'Are you sure you would like to submit this budget for approval?' ) ) {
+			return false;
+		}
+
+		return true;
+	} );
+
+	$document.on( 'click', '#wcb-budget-approve, #wcb-budget-reject', function() {
+		if ( ! confirm( 'Are you sure?' ) ) {
+			return false;
+		}
+
+		return true;
+	} );
+}( jQuery ) );
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/wordcamp-budgets.js wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/wordcamp-budgets.js
index f681662cb..a95ddb841 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/wordcamp-budgets.js
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/javascript/wordcamp-budgets.js
@@ -32,7 +32,7 @@ jQuery( document ).ready( function( $ ) {
 		maybeMakeFieldsOptional : function() {
 			var status = $( '#wcb_status' ).val();
 
-			if ( 'draft' === status || 'wcb-incomplete' === status ) {
+			if ( [ 'draft', 'wcb-incomplete', 'wcb-paid', 'wcb-cancelled' ].indexOf( status ) !== -1 ) {
 				app.makeFieldsOptional();
 
 				if ( 'wcb-incomplete' === status ) {
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/budget-tool/main.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/budget-tool/main.php
index c047aa054..f76ebb167 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/budget-tool/main.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/budget-tool/main.php
@@ -3,6 +3,7 @@ window.wcb = window.wcb || {models:{}, input:[]};
 wcb.input = <?php echo json_encode( $budget[ $view ] ); ?>;
 wcb.urls = <?php echo json_encode( $inspire_urls ); ?>;
 wcb.currencies = <?php echo json_encode( $currencies ); ?>;
+wcb.categories = <?php echo wp_json_encode( WordCamp_Budgets::get_payment_categories() ); ?>;
 wcb.status = <?php echo json_encode( $budget['status'] ); ?>;
 wcb.view = <?php echo json_encode( $view ); ?>;
 wcb.editable = <?php echo json_encode( $editable ); ?>;
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/payment-request/metabox-status.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/payment-request/metabox-status.php
index 78e78839d..3208d18f5 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/payment-request/metabox-status.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/payment-request/metabox-status.php
@@ -1,3 +1,16 @@
+<?php
+/**
+ * @var WP_Post             $post
+ * @var WCP_Payment_Request $this
+ * @var bool                $current_user_can_edit_request
+ * @var string              $submit_text
+ * @var string              $submit_note
+ * @var string              $submit_note_class
+ * @var bool                $date_vendor_paid_readonly
+ * @var string              $incomplete_notes
+ * @var bool                $incomplete_readonly
+ */
+?>
 <div id="submitpost" class="wcb submitbox">
 	<div id="minor-publishing">
 
@@ -39,7 +52,7 @@
 						<?php if ( current_user_can( 'manage_network' ) ) : ?>
 
 							<select id="wcb_status" name="post_status">
-								<?php foreach ( self::get_post_statuses() as $status ) : ?>
+								<?php foreach ( WCP_Payment_Request::get_post_statuses() as $status ) : ?>
 									<?php $status = get_post_status_object( $status ); ?>
 									<option value="<?php echo esc_attr( $status->name ); ?>" <?php selected( $post->post_status, $status->name ); ?> >
 										<?php echo esc_html( $status->label ); ?>
@@ -82,35 +95,6 @@
 		<div class="clear"></div>
 	</div> <!-- #minor-publishing -->
 
-
-	<div id="major-publishing-actions">
-		<?php if ( $current_user_can_edit_request ) : ?>
-
-			<?php if ( !empty( $submit_note ) ) : ?>
-				<div><?php echo $submit_note; ?></div>
-			<?php endif; ?>
-
-
-			<div id="delete-action">
-				<?php if ( current_user_can( 'delete_post', $post->ID ) ) : ?>
-					<a class="submitdelete deletion" href="<?php echo get_delete_post_link( $post->ID ); ?>">
-						<?php _e( 'Delete', 'wordcamporg' ); ?>
-					</a>
-				<?php endif; ?>
-			</div>
-
-			<div id="publishing-action">
-				<input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr( $submit_text ) ?>" />
-				<?php submit_button( $submit_text, 'primary button-large', 'wcb-update', false, array( 'accesskey' => 'p' ) ); ?>
-			</div>
-
-			<div class="clear"></div>
-
-		<?php else : ?>
-
-			<?php _e( 'This request can not be edited.', 'wordcamporg' ); ?>
-
-		<?php endif; ?>
-	</div> <!-- #major-publishing-actions -->
+	<?php require dirname( __DIR__ ) . '/wordcamp-budgets/major-publishing-actions.php'; ?>
 
 </div> <!-- .submitbox -->
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/reimbursement-request/metabox-status.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/reimbursement-request/metabox-status.php
index 4587a9ee2..9ce80b683 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/reimbursement-request/metabox-status.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/reimbursement-request/metabox-status.php
@@ -3,6 +3,17 @@
 namespace WordCamp\Budgets\Reimbursement_Requests;
 defined( 'WPINC' ) or die();
 
+/**
+ * @var \WP_Post $post
+ * @var bool     $current_user_can_edit_request
+ * @var string   $request_id
+ * @var string   $requested_by
+ * @var string   $incomplete_notes
+ * @var bool     $incomplete_readonly
+ * @var string   $submit_text
+ * @var string   $submit_note
+ * @var string   $submit_note_class
+ */
 ?>
 
 <div id="submitpost" class="wcb submitbox">
@@ -84,33 +95,6 @@ defined( 'WPINC' ) or die();
 		<div class="clear"></div>
 	</div> <!-- #minor-publishing -->
 
-
-	<div id="major-publishing-actions">
-		<?php if ( $current_user_can_edit_request ) : ?>
-			<?php if ( !empty( $submit_note ) ) : ?>
-				<div><?php echo $submit_note; ?></div>
-			<?php endif; ?>
-
-			<div id="delete-action">
-				<?php if ( current_user_can( 'delete_post', $post->ID ) ) : ?>
-					<a class="submitdelete deletion" href="<?php echo get_delete_post_link( $post->ID ); ?>">
-						<?php _e( 'Delete', 'wordcamporg' ); ?>
-					</a>
-				<?php endif; ?>
-			</div>
-
-			<div id="publishing-action">
-				<input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr( $submit_text ) ?>" />
-				<?php submit_button( $submit_text, 'primary button-large', 'wcb-update', false, array( 'accesskey' => 'p' ) ); ?>
-			</div>
-
-			<div class="clear"></div>
-
-		<?php else : ?>
-
-			<?php _e( 'This request can not be edited.', 'wordcamporg' ); ?>
-
-		<?php endif; ?>
-	</div> <!-- #major-publishing-actions -->
+	<?php require dirname( __DIR__ ) . '/wordcamp-budgets/major-publishing-actions.php'; ?>
 
 </div> <!-- .submitbox -->
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/sponsor-invoice/metabox-status.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/sponsor-invoice/metabox-status.php
index a54188ac2..9b83ad409 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/sponsor-invoice/metabox-status.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/sponsor-invoice/metabox-status.php
@@ -1,8 +1,18 @@
 <?php
 
 namespace WordCamp\Budgets\Sponsor_Invoices;
+use WP_Post;
+
 defined( 'WPINC' ) or die();
 
+/**
+ * @var WP_Post $post
+ * @var string  $delete_text
+ * @var array   $allowed_edit_statuses
+ * @var bool    $current_user_can_edit_request
+ * @var bool    $current_user_can_submit_request
+ */
+
 ?>
 
 <div id="submitpost" class="wcbsi submitbox">
@@ -40,7 +50,7 @@ defined( 'WPINC' ) or die();
 
 
 	<div id="major-publishing-actions">
-		<?php if ( $current_user_can_edit_request ) : ?>
+		<?php if ( $current_user_can_edit_request && $current_user_can_submit_request ) : ?>
 
 			<div id="delete-action">
 				<?php if ( current_user_can( 'delete_post', $post->ID ) ) : ?>
@@ -63,6 +73,12 @@ defined( 'WPINC' ) or die();
 
 			<div class="clear"></div>
 
+		<?php elseif ( ! $current_user_can_submit_request ) : ?>
+
+			<p>
+				<?php _e( "Invoices can't be submitted until your venue contract has been signed.", 'wordcamporg' ); ?>
+			</p>
+
 		<?php else : ?>
 
 			<p>
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/wordcamp-budgets/major-publishing-actions.php wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/wordcamp-budgets/major-publishing-actions.php
new file mode 100644
index 000000000..02c049405
--- /dev/null
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/wordcamp-budgets/major-publishing-actions.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * @var WP_Post $post
+ * @var bool    $current_user_can_edit_request
+ * @var string  $submit_text
+ * @var string  $submit_note
+ * @var string  $submit_note_class
+ */
+?>
+
+<div id="major-publishing-actions">
+	<?php if ( $current_user_can_edit_request ) : ?>
+
+		<?php if ( ! empty( $submit_note ) ) : ?>
+			<div class="notice notice-<?php echo esc_attr( $submit_note_class ); ?> inline">
+				<?php echo wpautop( esc_html( $submit_note ) ); ?>
+			</div>
+		<?php endif; ?>
+
+		<?php if ( current_user_can( 'delete_post', $post->ID ) ) : ?>
+			<div id="delete-action">
+				<a class="submitdelete deletion" href="<?php echo get_delete_post_link( $post->ID ); ?>">
+					<?php _e( 'Delete', 'wordcamporg' ); ?>
+				</a>
+			</div>
+		<?php endif; ?>
+
+		<?php if ( \WordCamp_Budgets::can_submit_request( $post ) ) : ?>
+			<div id="publishing-action">
+				<input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr( $submit_text ) ?>" />
+				<?php submit_button( $submit_text, 'primary button-large', 'wcb-update', false, array( 'accesskey' => 'p' ) ); ?>
+			</div>
+		<?php endif; ?>
+
+		<div class="clear"></div>
+
+	<?php else : ?>
+
+		<?php _e( 'This request can not be edited.', 'wordcamporg' ); ?>
+
+	<?php endif; ?>
+</div> <!-- #major-publishing-actions -->
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/phpunit.xml.dist wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/phpunit.xml.dist
deleted file mode 100644
index 282686bfa..000000000
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/phpunit.xml.dist
+++ /dev/null
@@ -1,15 +0,0 @@
-<phpunit
-	bootstrap="tests/bootstrap.php"
-	backupGlobals="false"
-	colors="true"
-	convertErrorsToExceptions="true"
-	convertNoticesToExceptions="true"
-	convertWarningsToExceptions="true"
-	>
-
-	<testsuites>
-		<testsuite>
-			<directory prefix="test-" suffix=".php">./tests/</directory>
-		</testsuite>
-	</testsuites>
-</phpunit>
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/bootstrap.php wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/bootstrap.php
index 57a21c9c3..b3e50a72a 100755
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/bootstrap.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/bootstrap.php
@@ -6,20 +6,8 @@ if ( 'cli' !== php_sapi_name() ) {
 	return;
 }
 
-$core_tests_directory = getenv( 'WP_TESTS_DIR' );
-
-if ( ! $core_tests_directory ) {
-	echo "\nPlease set the WP_TESTS_DIR environment variable to the folder where WordPress' PHPUnit tests live --";
-	echo "\ne.g., export WP_TESTS_DIR=/srv/www/wordpress-develop/tests/phpunit\n";
-
-	return;
-}
-
-require_once( $core_tests_directory . '/includes/functions.php' );
-require_once( dirname( dirname( $core_tests_directory ) ) . '/src/wp-admin/includes/plugin.php' );
-
 /**
- * Load the plugins that we'll need to be active for the tests
+ * Load the plugins that we'll need to be active for the tests.
  */
 function manually_load_plugin() {
 	$_SERVER['PHP_SELF'] = admin_url( 'themes.php?page=remote-css' );
@@ -30,18 +18,19 @@ function manually_load_plugin() {
 	 */
 	define( 'WP_ADMIN',          true );
 	define( 'JETPACK_DEV_DEBUG', true );
-	define( 'JETPACK__PLUGIN_DIR', dirname( dirname( __DIR__ ) ) . '/jetpack' );
+	define( 'JETPACK__PLUGIN_DIR', dirname( dirname( __DIR__ ) ) . '/jetpack/' );
+	define( 'JETPACK__PLUGIN_FILE', JETPACK__PLUGIN_DIR . '/jetpack.php' );
 
-	$jetpack_plugin_data = get_plugin_data( JETPACK__PLUGIN_DIR . '/jetpack.php', false );
+	$jetpack_plugin_data = get_plugin_data( JETPACK__PLUGIN_FILE, false );
 
 	define( 'JETPACK__VERSION', $jetpack_plugin_data['Version'] );
 
 	require_once( dirname( __DIR__ )  . '/bootstrap.php' );
+	require_once( JETPACK__PLUGIN_DIR . '/class.jetpack.php' );
+	require_once( JETPACK__PLUGIN_DIR . '/class.jetpack-constants.php' );
 	require_once( JETPACK__PLUGIN_DIR . '/modules/custom-css/custom-css-4.7.php' );
 
 	// Some of the sanitization lives here because it runs for both Custom CSS and Remote CSS.
 	require_once( dirname( dirname( dirname( __DIR__ ) ) ) . '/mu-plugins/jetpack-tweaks/css-sanitization.php' );
 }
 tests_add_filter( 'muplugins_loaded', __NAMESPACE__ . '\manually_load_plugin' );
-
-require( $core_tests_directory . '/includes/bootstrap.php' );
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/sanitized.css wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/sanitized.css
index 38793440c..30e62c31d 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/sanitized.css
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/sanitized.css
@@ -79,4 +79,9 @@ a {
 .social-navigation > .slack a:before {
 	font-family: "Fontawesome";
 	content: "\f198";
+}
+
+/* See https://wordpress.slack.com/archives/C08M59V3P/p1550687410005500  */
+.roundcorners {
+	border-image-source: url('https://2019.philadelphia.wordcamp.org/files/2019/02/corners.gif');
 }
\ No newline at end of file
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-synchronize-remote-css.php wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-synchronize-remote-css.php
index 31a153bf1..00d2484fd 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-synchronize-remote-css.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-synchronize-remote-css.php
@@ -3,6 +3,11 @@
 namespace WordCamp\RemoteCSS;
 defined( 'WPINC' ) || die();
 
+/**
+ * Class Test_Synchronize_Remote_CSS
+ *
+ * @group wordcamp-remote-css
+ */
 class Test_Synchronize_Remote_CSS extends \WP_UnitTestCase {
 	/**
 	 * Test that the sanitized css matches a known good version
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-user-interface.php wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-user-interface.php
index e11d3436c..39aa4d196 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-user-interface.php
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/test-user-interface.php
@@ -3,6 +3,11 @@
 namespace WordCamp\RemoteCSS;
 defined( 'WPINC' ) || die();
 
+/**
+ * Class Test_User_Interface
+ *
+ * @group wordcamp-remote-css
+ */
 class Test_User_Interface extends \WP_UnitTestCase {
 	/**
 	 * Test that valid URLs are allowed
@@ -62,7 +67,7 @@ class Test_User_Interface extends \WP_UnitTestCase {
 	 * @covers WordCamp\RemoteCSS\validate_remote_css_url()
 	 */
 	public function test_non_whitelisted_urls_blocked() {
-		$this->setExpectedException( '\Exception', 'URL you provided is not hosted by one of our currently-supported platforms' );
+		$this->setExpectedException( '\Exception', 'only certain third-party platforms can be used' );
 		validate_remote_css_url( 'https://example.org/style.css' );
 	}
 
diff --git wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/unsanitized.css wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/unsanitized.css
index e7bced2f1..63f5ee745 100644
--- wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/unsanitized.css
+++ wordcamp.org/public_html/wp-content/plugins/wordcamp-remote-css/tests/unsanitized.css
@@ -104,3 +104,8 @@ a {
 	font-family: "Fontawesome";
 	content: "\f198";
 }
+
+/* See https://wordpress.slack.com/archives/C08M59V3P/p1550687410005500  */
+.roundcorners {
+	border-image-source: url(https://2019.philadelphia.wordcamp.org/files/2019/02/corners.gif);
+}
diff --git wordcamp.org/public_html/wp-content/themes/campsite-2017/functions.php wordcamp.org/public_html/wp-content/themes/campsite-2017/functions.php
index a9d762e79..0c6a750f8 100644
--- wordcamp.org/public_html/wp-content/themes/campsite-2017/functions.php
+++ wordcamp.org/public_html/wp-content/themes/campsite-2017/functions.php
@@ -9,6 +9,7 @@ namespace WordCamp\CampSite_2017;
 
 add_action( 'after_setup_theme',  __NAMESPACE__ . '\setup_theme'             );
 add_action( 'after_setup_theme',  __NAMESPACE__ . '\content_width',        0 );
+add_filter( 'excerpt_more',       __NAMESPACE__ . '\excerpt_more'            );
 add_action( 'widgets_init',       __NAMESPACE__ . '\widgets_init'            );
 add_action( 'wp_head',            __NAMESPACE__ . '\javascript_detection', 0 );
 add_action( 'wp_enqueue_scripts', __NAMESPACE__ . '\enqueue_scripts'         );
@@ -50,6 +51,8 @@ function setup_theme() {
 		'primary'   => esc_html__( 'Primary',   'wordcamporg' ),
 		'secondary' => esc_html__( 'Secondary', 'wordcamporg' ),
 	) );
+
+	add_theme_support( 'align-wide' );
 }
 
 /**
@@ -229,6 +232,29 @@ function widgets_init() {
 	}
 }
 
+/**
+ * Replaces "[...]" (appended to automatically generated excerpts) with ... and
+ * a 'Continue reading' link.
+ *
+ * @param string $link Link to single post/page.
+ *
+ * @return string 'Continue reading' link prepended with an ellipsis.
+ */
+function excerpt_more( $link ) {
+	if ( is_admin() || wcorg_skip_feature( 'campsite_2017_excerpt_more' ) ) {
+		return $link;
+	}
+
+	$link = sprintf(
+		'<a href="%1$s" class="more-link">%2$s</a>',
+		esc_url( get_permalink( get_the_ID() ) ),
+		/* translators: %s: Name of current post */
+		sprintf( __( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'wordcamporg' ), get_the_title( get_the_ID() ) )
+	);
+
+	return ' &hellip; ' . $link;
+}
+
 /**
  * Handles JavaScript detection.
  *
diff --git wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/image.php wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/image.php
index c147dba6d..1a0c1a649 100755
--- wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/image.php
+++ wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/image.php
@@ -21,14 +21,22 @@ get_header();
 						<div class="entry-meta">
 							<?php
 								$metadata = wp_get_attachment_metadata();
-								printf( __( 'Published <span class="entry-date"><time class="entry-date" datetime="%1$s" pubdate>%2$s</time></span> at <a href="%3$s" title="Link to full-size image">%4$s &times; %5$s</a> in <a href="%6$s" title="Return to %7$s" rel="gallery">%7$s</a>', 'wordcamporg' ),
-									esc_attr( get_the_date( 'c' ) ),
-									esc_html( get_the_date() ),
-									wp_get_attachment_url(),
-									$metadata['width'],
-									$metadata['height'],
-									get_permalink( $post->post_parent ),
-									get_the_title( $post->post_parent )
+								/* translators: 1: attachment date, 2: link to full-size image, 3: link to parent post */
+								printf( __( 'Published %1$s at %2$s in %3$s', 'wordcamporg' ),
+									sprintf( '<span class="entry-date"><time class="entry-date" datetime="%1$s" pubdate>%2$s</time></span>',
+										esc_attr( get_the_date( 'c' ) ),
+										esc_html( get_the_date() )
+									),
+									sprintf( '<a href="%1$s">%2$s &times; %3$s</a>',
+										wp_get_attachment_url(),
+
+										$metadata['width'] ?? 0,
+										$metadata['height'] ?? 0
+									),
+									sprintf( '<a href="%1$s" rel="gallery">%2$s</a>',
+										get_permalink( $post->post_parent ),
+										get_the_title( $post->post_parent )
+									)
 								);
 							?>
 							<?php edit_post_link( __( 'Edit', 'wordcamporg' ), '<span class="sep"> | </span> <span class="edit-link">', '</span>' ); ?>
diff --git wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/inc/template-tags.php wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/inc/template-tags.php
index 5132ac194..e53ae667d 100755
--- wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/inc/template-tags.php
+++ wordcamp.org/public_html/wp-content/themes/wordcamp-base-v2/inc/template-tags.php
@@ -113,14 +113,17 @@ if ( ! function_exists( 'wcbs_posted_on' ) ) :
  * @since WCBS 1.0
  */
 function wcbs_posted_on() {
-	printf( __( 'Posted on <a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s" pubdate>%4$s</time></a><span class="byline"> by <span class="author vcard"><a class="url fn n" href="%5$s" title="%6$s" rel="author">%7$s</a></span></span>', 'wordcamporg' ),
-		esc_url( get_permalink() ),
-		esc_attr( get_the_time() ),
-		esc_attr( get_the_date( 'c' ) ),
-		esc_html( get_the_date() ),
-		esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
-		esc_attr( sprintf( __( 'View all posts by %s', 'wordcamporg' ), get_the_author() ) ),
-		esc_html( get_the_author() )
+	/* translators: 1: post date, 2: post author link */
+	printf( __( 'Posted on %1$s <span class="byline">by %2$s</span>', 'wordcamporg' ),
+		sprintf( '<a href="%1$s" rel="bookmark"><time class="entry-date" datetime="%2$s" pubdate>%3$s</time></a>',
+			esc_url( get_permalink() ),
+			esc_attr( get_the_date( 'c' ) ),
+			esc_html( get_the_date() )
+		),
+		sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" rel="author">%2$s</a></span>',
+			esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
+			esc_html( get_the_author() )
+		)
 	);
 }
 endif;
diff --git wordcamp.org/public_html/wp-content/themes/wordcamp-central-2012/functions.php wordcamp.org/public_html/wp-content/themes/wordcamp-central-2012/functions.php
index c2b37d0e6..9f0b18d77 100644
--- wordcamp.org/public_html/wp-content/themes/wordcamp-central-2012/functions.php
+++ wordcamp.org/public_html/wp-content/themes/wordcamp-central-2012/functions.php
@@ -122,8 +122,9 @@ class WordCamp_Central_Theme {
 				}
 
 				// Jetpack will do the is_email check for us
-				$email     = $_REQUEST['wccentral-subscribe-email'];
-				$subscribe = Jetpack_Subscriptions::subscribe( $email, 0, false );
+				$jetpack_subscriptions = Jetpack_Subscriptions::init();
+				$email                 = $_REQUEST['wccentral-subscribe-email'];
+				$subscribe             = $jetpack_subscriptions->subscribe( $email, 0, false );
 
 				// The following part is taken from the Jetpack subscribe widget (subscriptions.php)
 				if ( is_wp_error( $subscribe ) ) {
diff --git wordpress.org/public_html/style/Gruntfile.js wordpress.org/public_html/style/Gruntfile.js
index eb2bc1c2b..ef553aab6 100644
--- wordpress.org/public_html/style/Gruntfile.js
+++ wordpress.org/public_html/style/Gruntfile.js
@@ -14,7 +14,6 @@ module.exports = function( grunt ) {
 			options: {
 				map: { inline: false },
 				processors: [
-					require( 'pixrem' )(),
 					require( 'autoprefixer' )( {
 						browsers: [
 							'Android >= 2.1',
@@ -26,7 +25,7 @@ module.exports = function( grunt ) {
 							'Safari >= 6.0'
 						],
 						cascade: false
-					} ),
+					} )
 				]
 			},
 			dist: {
@@ -34,20 +33,9 @@ module.exports = function( grunt ) {
 			}
 		},
 		jshint: {
-			files: [ 'Gruntfile.js', 'trac/*.js', 't!rac/*.min.js' ],
+			files: [ 'Gruntfile.js', 'js/*.js', 'trac/*.js', 't!rac/*.min.js' ],
 			options: grunt.file.readJSON( '.jshintrc' )
 		},
-		sass: {
-			options: {
-				sourceMap: true,
-				outputStyle: 'expanded'
-			},
-			dist: {
-				files: {
-					'style.css': 'style.scss'
-				}
-			}
-		},
 		rtlcss: {
 			options: {
 				// rtlcss options.
@@ -107,6 +95,21 @@ module.exports = function( grunt ) {
 				src: ['wp4.css']
 			}
 		},
+		uglify: {
+			options: {
+				ASCIIOnly: true,
+				screwIE8: false
+			},
+			js: {
+				expand: true,
+				cwd: 'js/',
+				dest: 'js/',
+				ext: '.min.js',
+				src: [
+					'navigation.js',
+				]
+			}
+		},
 		watch: {
 			jshint: {
 				files: ['<%= jshint.files %>'],
@@ -123,13 +126,14 @@ module.exports = function( grunt ) {
 	//	grunt.config.merge( { postcss: { options : { processors: [ require( 'cssnano' )() ] } } } );
 	}
 
-	grunt.loadNpmTasks( 'grunt-sass' );
 	grunt.loadNpmTasks( 'grunt-rtlcss' );
 	grunt.loadNpmTasks( 'grunt-postcss' );
 	grunt.loadNpmTasks( 'grunt-contrib-watch' );
 	grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+	grunt.loadNpmTasks( 'grunt-contrib-uglify' );
 
-	grunt.registerTask( 'css', ['sass', 'postcss', 'rtlcss:dynamic'] );
-	grunt.registerTask( 'default', ['jshint', 'css'] );
-	grunt.registerTask( 'build', ['css'] );
+	grunt.registerTask( 'js', ['uglify:js'] );
+	grunt.registerTask( 'css', ['postcss', 'rtlcss:dynamic'] );
+	grunt.registerTask( 'default', ['jshint', 'css', 'js'] );
+	grunt.registerTask( 'build', ['css', 'js'] );
 };
diff --git wordpress.org/public_html/style/js/navigation.js wordpress.org/public_html/style/js/navigation.js
new file mode 100644
index 000000000..7345bf8b7
--- /dev/null
+++ wordpress.org/public_html/style/js/navigation.js
@@ -0,0 +1,101 @@
+/**
+ * Handles toggling the navigation menu for small screens and enables TAB key
+ * navigation support for dropdown menus.
+ */
+( function( $ ) {
+	var container, button, menu, links, i, len;
+
+	container = document.getElementById( 'wporg-header' );
+	if ( ! container ) {
+		return;
+	}
+
+	button = document.getElementById( 'mobile-menu-button' );
+	if ( 'undefined' === typeof button ) {
+		return;
+	}
+
+	menu = document.getElementById( 'wporg-header-menu' );
+
+	// Hide menu toggle button if menu is empty and return early.
+	if ( 'undefined' === typeof menu ) {
+		button.style.display = 'none';
+		return;
+	}
+
+	if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
+		menu.className += ' nav-menu';
+	}
+
+	button.onclick = function() {
+		if ( -1 !== menu.className.indexOf( 'toggled' ) ) {
+			menu.className = menu.className.replace( ' toggled', '' );
+			button.setAttribute( 'aria-expanded', 'false' );
+		} else {
+			menu.className += ' toggled';
+			button.setAttribute( 'aria-expanded', 'true' );
+		}
+	};
+
+	// Get all the link elements within the menu.
+	links = menu.getElementsByTagName( 'a' );
+
+	// Each time a menu link is focused or blurred, toggle focus.
+	for ( i = 0, len = links.length; i < len; i++ ) {
+		links[i].addEventListener( 'focus', toggleFocus, true );
+		links[i].addEventListener( 'blur', toggleFocus, true );
+	}
+
+	/**
+	 * Sets or removes .focus class on an element.
+	 */
+	function toggleFocus() {
+		var self = this;
+
+		// Move up through the ancestors of the current link until we hit .nav-menu.
+		while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
+
+			// On li elements toggle the class .focus.
+			if ( 'li' === self.tagName.toLowerCase() ) {
+				if ( -1 !== self.className.indexOf( 'focus' ) ) {
+					self.className = self.className.replace( ' focus', '' );
+				} else {
+					self.className += ' focus';
+				}
+			}
+
+			self = self.parentElement;
+		}
+	}
+
+	/**
+	 * Toggles `focus` class to allow submenu access on tablets.
+	 */
+	( function( container ) {
+		var touchStartFn, i,
+			parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
+
+		if ( 'ontouchstart' in window ) {
+			touchStartFn = function( e ) {
+				var menuItem = this.parentNode, i;
+
+				if ( ! menuItem.classList.contains( 'focus' ) ) {
+					e.preventDefault();
+					for ( i = 0; i < menuItem.parentNode.children.length; ++i ) {
+						if ( menuItem === menuItem.parentNode.children[i] ) {
+							continue;
+						}
+						menuItem.parentNode.children[i].classList.remove( 'focus' );
+					}
+					menuItem.classList.add( 'focus' );
+				} else {
+					menuItem.classList.remove( 'focus' );
+				}
+			};
+
+			for ( i = 0; i < parentLink.length; ++i ) {
+				parentLink[i].addEventListener( 'touchstart', touchStartFn, false );
+			}
+		}
+	}( container ) );
+} )();
diff --git wordpress.org/public_html/style/js/navigation.min.js wordpress.org/public_html/style/js/navigation.min.js
new file mode 100644
index 000000000..a7c95356e
--- /dev/null
+++ wordpress.org/public_html/style/js/navigation.min.js
@@ -0,0 +1 @@
+!function(e){var s,a,t,n,l,o;if((s=document.getElementById("wporg-header"))&&void 0!==(a=document.getElementById("mobile-menu-button")))if(void 0!==(t=document.getElementById("wporg-header-menu"))){for(-1===t.className.indexOf("nav-menu")&&(t.className+=" nav-menu"),a.onclick=function(){-1!==t.className.indexOf("toggled")?(t.className=t.className.replace(" toggled",""),a.setAttribute("aria-expanded","false")):(t.className+=" toggled",a.setAttribute("aria-expanded","true"))},l=0,o=(n=t.getElementsByTagName("a")).length;l<o;l++)n[l].addEventListener("focus",c,!0),n[l].addEventListener("blur",c,!0);!function(e){var a,t,n=s.querySelectorAll(".menu-item-has-children > a, .page_item_has_children > a");if("ontouchstart"in window)for(a=function(e){var a,t=this.parentNode;if(t.classList.contains("focus"))t.classList.remove("focus");else{for(e.preventDefault(),a=0;a<t.parentNode.children.length;++a)t!==t.parentNode.children[a]&&t.parentNode.children[a].classList.remove("focus");t.classList.add("focus")}},t=0;t<n.length;++t)n[t].addEventListener("touchstart",a,!1)}()}else a.style.display="none";function c(){for(var e=this;-1===e.className.indexOf("nav-menu");)"li"===e.tagName.toLowerCase()&&(-1!==e.className.indexOf("focus")?e.className=e.className.replace(" focus",""):e.className+=" focus"),e=e.parentElement}}();
\ No newline at end of file
diff --git wordpress.org/public_html/style/package-lock.json wordpress.org/public_html/style/package-lock.json
index 3909dabef..322032893 100644
--- wordpress.org/public_html/style/package-lock.json
+++ wordpress.org/public_html/style/package-lock.json
@@ -4,36 +4,24 @@
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
+    "@types/q": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz",
+      "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==",
+      "dev": true
+    },
     "abbrev": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
       "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
       "dev": true
     },
-    "ajv": {
-      "version": "5.5.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
-      "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
-      "dev": true,
-      "requires": {
-        "co": "4.6.0",
-        "fast-deep-equal": "1.0.0",
-        "fast-json-stable-stringify": "2.0.0",
-        "json-schema-traverse": "0.3.1"
-      }
-    },
     "alphanum-sort": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
       "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
       "dev": true
     },
-    "amdefine": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
-      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
-      "dev": true
-    },
     "ansi-regex": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -46,61 +34,13 @@
       "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
       "dev": true
     },
-    "aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "are-we-there-yet": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
-      "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
-      "dev": true,
-      "requires": {
-        "delegates": "1.0.0",
-        "readable-stream": "2.3.3"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.3",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
-          "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "1.0.2",
-            "inherits": "2.0.3",
-            "isarray": "1.0.0",
-            "process-nextick-args": "1.0.7",
-            "safe-buffer": "5.1.1",
-            "string_decoder": "1.0.3",
-            "util-deprecate": "1.0.2"
-          }
-        },
-        "string_decoder": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
-          "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "5.1.1"
-          }
-        }
-      }
-    },
     "argparse": {
-      "version": "1.0.9",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
-      "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
       "dev": true,
       "requires": {
-        "sprintf-js": "1.0.3"
+        "sprintf-js": "~1.0.2"
       }
     },
     "array-find-index": {
@@ -109,154 +49,69 @@
       "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
       "dev": true
     },
-    "asn1": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
-      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
-      "dev": true
-    },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
-    },
     "async": {
       "version": "1.5.2",
       "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
       "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
       "dev": true
     },
-    "async-foreach": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
-      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
-      "dev": true
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
-    },
     "autoprefixer": {
-      "version": "6.7.7",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
-      "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+      "version": "9.4.6",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.6.tgz",
+      "integrity": "sha512-Yp51mevbOEdxDUy5WjiKtpQaecqYq9OqZSL04rSoCiry7Tc5I9FEyo3bfxiTJc1DfHeKwSFCUYbBAiOQ2VGfiw==",
       "dev": true,
       "requires": {
-        "browserslist": "1.7.7",
-        "caniuse-db": "1.0.30000800",
-        "normalize-range": "0.1.2",
-        "num2fraction": "1.2.2",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "browserslist": "^4.4.1",
+        "caniuse-lite": "^1.0.30000929",
+        "normalize-range": "^0.1.2",
+        "num2fraction": "^1.2.2",
+        "postcss": "^7.0.13",
+        "postcss-value-parser": "^3.3.1"
       }
     },
-    "aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
-    },
-    "aws4": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
-      "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
-      "dev": true
-    },
     "balanced-match": {
-      "version": "0.4.2",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
-      "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
       "dev": true
     },
-    "bcrypt-pbkdf": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
-      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "tweetnacl": "0.14.5"
-      }
-    },
-    "block-stream": {
-      "version": "0.0.9",
-      "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
-      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      }
-    },
-    "body-parser": {
-      "version": "1.14.2",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
-      "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=",
+    "body": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
+      "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
       "dev": true,
       "requires": {
-        "bytes": "2.2.0",
-        "content-type": "1.0.4",
-        "debug": "2.2.0",
-        "depd": "1.1.2",
-        "http-errors": "1.3.1",
-        "iconv-lite": "0.4.13",
-        "on-finished": "2.3.0",
-        "qs": "5.2.0",
-        "raw-body": "2.1.7",
-        "type-is": "1.6.15"
-      },
-      "dependencies": {
-        "iconv-lite": {
-          "version": "0.4.13",
-          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
-          "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
-          "dev": true
-        },
-        "qs": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
-          "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=",
-          "dev": true
-        }
+        "continuable-cache": "^0.3.1",
+        "error": "^7.0.0",
+        "raw-body": "~1.1.0",
+        "safe-json-parse": "~1.0.1"
       }
     },
-    "boom": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
-      "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
-      "dev": true,
-      "requires": {
-        "hoek": "4.2.0"
-      }
+    "boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+      "dev": true
     },
     "brace-expansion": {
-      "version": "1.1.8",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
-      "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
       "dev": true,
       "requires": {
-        "balanced-match": "1.0.0",
+        "balanced-match": "^1.0.0",
         "concat-map": "0.0.1"
-      },
-      "dependencies": {
-        "balanced-match": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-          "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
-          "dev": true
-        }
       }
     },
     "browserslist": {
-      "version": "1.7.7",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
-      "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz",
+      "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==",
       "dev": true,
       "requires": {
-        "caniuse-db": "1.0.30000800",
-        "electron-to-chromium": "1.3.32"
+        "caniuse-lite": "^1.0.30000929",
+        "electron-to-chromium": "^1.3.103",
+        "node-releases": "^1.1.3"
       }
     },
     "builtin-modules": {
@@ -266,9 +121,33 @@
       "dev": true
     },
     "bytes": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
-      "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+      "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
+      "dev": true
+    },
+    "caller-callsite": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+      "dev": true,
+      "requires": {
+        "callsites": "^2.0.0"
+      }
+    },
+    "caller-path": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+      "dev": true,
+      "requires": {
+        "caller-callsite": "^2.0.0"
+      }
+    },
+    "callsites": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+      "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
       "dev": true
     },
     "camelcase": {
@@ -283,32 +162,26 @@
       "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
       "dev": true,
       "requires": {
-        "camelcase": "2.1.1",
-        "map-obj": "1.0.1"
+        "camelcase": "^2.0.0",
+        "map-obj": "^1.0.0"
       }
     },
     "caniuse-api": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
-      "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+      "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
       "dev": true,
       "requires": {
-        "browserslist": "1.7.7",
-        "caniuse-db": "1.0.30000800",
-        "lodash.memoize": "4.1.2",
-        "lodash.uniq": "4.5.0"
+        "browserslist": "^4.0.0",
+        "caniuse-lite": "^1.0.0",
+        "lodash.memoize": "^4.1.2",
+        "lodash.uniq": "^4.5.0"
       }
     },
-    "caniuse-db": {
-      "version": "1.0.30000800",
-      "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000800.tgz",
-      "integrity": "sha1-qG5rwjvZpwfV30LzPmTQSVz9ohg=",
-      "dev": true
-    },
-    "caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+    "caniuse-lite": {
+      "version": "1.0.30000932",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000932.tgz",
+      "integrity": "sha512-4bghJFItvzz8m0T3lLZbacmEY9X1Z2AtIzTr7s7byqZIOumASfr4ynDx7rtm0J85nDmx8vsgR6vnaSoeU8Oh0A==",
       "dev": true
     },
     "chalk": {
@@ -317,11 +190,11 @@
       "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
       "dev": true,
       "requires": {
-        "ansi-styles": "2.2.1",
-        "escape-string-regexp": "1.0.5",
-        "has-ansi": "2.0.0",
-        "strip-ansi": "3.0.1",
-        "supports-color": "2.0.0"
+        "ansi-styles": "^2.2.1",
+        "escape-string-regexp": "^1.0.2",
+        "has-ansi": "^2.0.0",
+        "strip-ansi": "^3.0.0",
+        "supports-color": "^2.0.0"
       },
       "dependencies": {
         "supports-color": {
@@ -332,15 +205,6 @@
         }
       }
     },
-    "clap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
-      "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
-      "dev": true,
-      "requires": {
-        "chalk": "1.1.3"
-      }
-    },
     "cli": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
@@ -348,78 +212,81 @@
       "dev": true,
       "requires": {
         "exit": "0.1.2",
-        "glob": "7.1.2"
+        "glob": "^7.1.1"
       },
       "dependencies": {
         "glob": {
-          "version": "7.1.2",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
-          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "version": "7.1.3",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+          "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
           "dev": true,
           "requires": {
-            "fs.realpath": "1.0.0",
-            "inflight": "1.0.6",
-            "inherits": "2.0.3",
-            "minimatch": "3.0.4",
-            "once": "1.4.0",
-            "path-is-absolute": "1.0.1"
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
           }
         }
       }
     },
-    "cliui": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
-      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
-      "dev": true,
-      "requires": {
-        "string-width": "1.0.2",
-        "strip-ansi": "3.0.1",
-        "wrap-ansi": "2.1.0"
-      }
-    },
-    "clone": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
-      "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
-      "dev": true
-    },
-    "co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
-    },
     "coa": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
-      "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
+      "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
       "dev": true,
       "requires": {
-        "q": "1.5.1"
+        "@types/q": "^1.5.1",
+        "chalk": "^2.4.1",
+        "q": "^1.1.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.1",
+            "escape-string-regexp": "^1.0.5",
+            "supports-color": "^5.3.0"
+          }
+        },
+        "supports-color": {
+          "version": "5.5.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
+        }
       }
     },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
-    "coffee-script": {
+    "coffeescript": {
       "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz",
-      "integrity": "sha1-EpOLz5vhlI+gBvkuDEyegXBRCMA=",
+      "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
+      "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",
       "dev": true
     },
     "color": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
-      "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/color/-/color-3.1.0.tgz",
+      "integrity": "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==",
       "dev": true,
       "requires": {
-        "clone": "1.0.3",
-        "color-convert": "1.9.1",
-        "color-string": "0.3.0"
+        "color-convert": "^1.9.1",
+        "color-string": "^1.5.2"
       }
     },
     "color-convert": {
@@ -428,7 +295,7 @@
       "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
       "dev": true,
       "requires": {
-        "color-name": "1.1.3"
+        "color-name": "^1.1.1"
       }
     },
     "color-name": {
@@ -438,23 +305,13 @@
       "dev": true
     },
     "color-string": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
-      "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
-      "dev": true,
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "colormin": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
-      "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+      "version": "1.5.3",
+      "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+      "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
       "dev": true,
       "requires": {
-        "color": "0.11.4",
-        "css-color-names": "0.0.4",
-        "has": "1.0.1"
+        "color-name": "^1.0.0",
+        "simple-swizzle": "^0.2.2"
       }
     },
     "colors": {
@@ -463,15 +320,6 @@
       "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
       "dev": true
     },
-    "combined-stream": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
-      "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
-      "dev": true,
-      "requires": {
-        "delayed-stream": "1.0.0"
-      }
-    },
     "commander": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz",
@@ -490,19 +338,13 @@
       "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
       "dev": true,
       "requires": {
-        "date-now": "0.1.4"
+        "date-now": "^0.1.4"
       }
     },
-    "console-control-strings": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
-      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
-      "dev": true
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+    "continuable-cache": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
+      "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
       "dev": true
     },
     "core-util-is": {
@@ -511,90 +353,196 @@
       "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
       "dev": true
     },
-    "cross-spawn": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
-      "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+    "cosmiconfig": {
+      "version": "5.0.7",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz",
+      "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==",
       "dev": true,
       "requires": {
-        "lru-cache": "4.1.1",
-        "which": "1.2.14"
+        "import-fresh": "^2.0.0",
+        "is-directory": "^0.3.1",
+        "js-yaml": "^3.9.0",
+        "parse-json": "^4.0.0"
       }
     },
-    "cryptiles": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
-      "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
+    "css-color-names": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+      "dev": true
+    },
+    "css-declaration-sorter": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
+      "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
       "dev": true,
       "requires": {
-        "boom": "5.2.0"
+        "postcss": "^7.0.1",
+        "timsort": "^0.3.0"
+      }
+    },
+    "css-select": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
+      "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
+      "dev": true,
+      "requires": {
+        "boolbase": "^1.0.0",
+        "css-what": "^2.1.2",
+        "domutils": "^1.7.0",
+        "nth-check": "^1.0.2"
+      }
+    },
+    "css-select-base-adapter": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
+      "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
+      "dev": true
+    },
+    "css-tree": {
+      "version": "1.0.0-alpha.28",
+      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz",
+      "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==",
+      "dev": true,
+      "requires": {
+        "mdn-data": "~1.1.0",
+        "source-map": "^0.5.3"
       },
       "dependencies": {
-        "boom": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
-          "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
-          "dev": true,
-          "requires": {
-            "hoek": "4.2.0"
-          }
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
-    "css-color-names": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
-      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+    "css-unit-converter": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
+      "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=",
+      "dev": true
+    },
+    "css-url-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz",
+      "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=",
+      "dev": true
+    },
+    "css-what": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz",
+      "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==",
+      "dev": true
+    },
+    "cssesc": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+      "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
       "dev": true
     },
     "cssnano": {
-      "version": "3.10.0",
-      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
-      "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
-      "dev": true,
-      "requires": {
-        "autoprefixer": "6.7.7",
-        "decamelize": "1.2.0",
-        "defined": "1.0.0",
-        "has": "1.0.1",
-        "object-assign": "4.1.1",
-        "postcss": "5.2.18",
-        "postcss-calc": "5.3.1",
-        "postcss-colormin": "2.2.2",
-        "postcss-convert-values": "2.6.1",
-        "postcss-discard-comments": "2.0.4",
-        "postcss-discard-duplicates": "2.1.0",
-        "postcss-discard-empty": "2.1.0",
-        "postcss-discard-overridden": "0.1.1",
-        "postcss-discard-unused": "2.2.3",
-        "postcss-filter-plugins": "2.0.2",
-        "postcss-merge-idents": "2.1.7",
-        "postcss-merge-longhand": "2.0.2",
-        "postcss-merge-rules": "2.1.2",
-        "postcss-minify-font-values": "1.0.5",
-        "postcss-minify-gradients": "1.0.5",
-        "postcss-minify-params": "1.2.2",
-        "postcss-minify-selectors": "2.1.1",
-        "postcss-normalize-charset": "1.1.1",
-        "postcss-normalize-url": "3.0.8",
-        "postcss-ordered-values": "2.2.3",
-        "postcss-reduce-idents": "2.4.0",
-        "postcss-reduce-initial": "1.0.1",
-        "postcss-reduce-transforms": "1.0.4",
-        "postcss-svgo": "2.1.6",
-        "postcss-unique-selectors": "2.0.2",
-        "postcss-value-parser": "3.3.0",
-        "postcss-zindex": "2.2.0"
+      "version": "4.1.8",
+      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.8.tgz",
+      "integrity": "sha512-5GIY0VzAHORpbKiL3rMXp4w4M1Ki+XlXgEXyuWXVd3h6hlASb+9Vo76dNP56/elLMVBBsUfusCo1q56uW0UWig==",
+      "dev": true,
+      "requires": {
+        "cosmiconfig": "^5.0.0",
+        "cssnano-preset-default": "^4.0.6",
+        "is-resolvable": "^1.0.0",
+        "postcss": "^7.0.0"
+      }
+    },
+    "cssnano-preset-default": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.6.tgz",
+      "integrity": "sha512-UPboYbFaJFtDUhJ4fqctThWbbyF4q01/7UhsZbLzp35l+nUxtzh1SifoVlEfyLM3n3Z0htd8B1YlCxy9i+bQvg==",
+      "dev": true,
+      "requires": {
+        "css-declaration-sorter": "^4.0.1",
+        "cssnano-util-raw-cache": "^4.0.1",
+        "postcss": "^7.0.0",
+        "postcss-calc": "^7.0.0",
+        "postcss-colormin": "^4.0.2",
+        "postcss-convert-values": "^4.0.1",
+        "postcss-discard-comments": "^4.0.1",
+        "postcss-discard-duplicates": "^4.0.2",
+        "postcss-discard-empty": "^4.0.1",
+        "postcss-discard-overridden": "^4.0.1",
+        "postcss-merge-longhand": "^4.0.10",
+        "postcss-merge-rules": "^4.0.2",
+        "postcss-minify-font-values": "^4.0.2",
+        "postcss-minify-gradients": "^4.0.1",
+        "postcss-minify-params": "^4.0.1",
+        "postcss-minify-selectors": "^4.0.1",
+        "postcss-normalize-charset": "^4.0.1",
+        "postcss-normalize-display-values": "^4.0.1",
+        "postcss-normalize-positions": "^4.0.1",
+        "postcss-normalize-repeat-style": "^4.0.1",
+        "postcss-normalize-string": "^4.0.1",
+        "postcss-normalize-timing-functions": "^4.0.1",
+        "postcss-normalize-unicode": "^4.0.1",
+        "postcss-normalize-url": "^4.0.1",
+        "postcss-normalize-whitespace": "^4.0.1",
+        "postcss-ordered-values": "^4.1.1",
+        "postcss-reduce-initial": "^4.0.2",
+        "postcss-reduce-transforms": "^4.0.1",
+        "postcss-svgo": "^4.0.1",
+        "postcss-unique-selectors": "^4.0.1"
+      }
+    },
+    "cssnano-util-get-arguments": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
+      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
+      "dev": true
+    },
+    "cssnano-util-get-match": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
+      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
+      "dev": true
+    },
+    "cssnano-util-raw-cache": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
+      "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
+      "dev": true,
+      "requires": {
+        "postcss": "^7.0.0"
       }
     },
+    "cssnano-util-same-parent": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
+      "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
+      "dev": true
+    },
     "csso": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
-      "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
+      "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
       "dev": true,
       "requires": {
-        "clap": "1.2.3",
-        "source-map": "0.5.7"
+        "css-tree": "1.0.0-alpha.29"
+      },
+      "dependencies": {
+        "css-tree": {
+          "version": "1.0.0-alpha.29",
+          "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
+          "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
+          "dev": true,
+          "requires": {
+            "mdn-data": "~1.1.0",
+            "source-map": "^0.5.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
       }
     },
     "currently-unhandled": {
@@ -603,16 +551,7 @@
       "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
       "dev": true,
       "requires": {
-        "array-find-index": "1.0.2"
-      }
-    },
-    "dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0"
+        "array-find-index": "^1.0.1"
       }
     },
     "date-now": {
@@ -627,17 +566,17 @@
       "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
       "dev": true,
       "requires": {
-        "get-stdin": "4.0.1",
-        "meow": "3.7.0"
+        "get-stdin": "^4.0.1",
+        "meow": "^3.3.0"
       }
     },
     "debug": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
-      "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+      "version": "3.2.6",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+      "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
       "dev": true,
       "requires": {
-        "ms": "0.7.1"
+        "ms": "^2.1.1"
       }
     },
     "decamelize": {
@@ -646,34 +585,19 @@
       "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
       "dev": true
     },
-    "defined": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
-      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
-      "dev": true
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
-    },
-    "delegates": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
-      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
-      "dev": true
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true
+    "define-properties": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+      "dev": true,
+      "requires": {
+        "object-keys": "^1.0.12"
+      }
     },
     "diff": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz",
-      "integrity": "sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k=",
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+      "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
       "dev": true
     },
     "dom-serializer": {
@@ -682,8 +606,8 @@
       "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
       "dev": true,
       "requires": {
-        "domelementtype": "1.1.3",
-        "entities": "1.1.1"
+        "domelementtype": "~1.1.1",
+        "entities": "~1.1.1"
       },
       "dependencies": {
         "domelementtype": {
@@ -691,19 +615,13 @@
           "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
           "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
           "dev": true
-        },
-        "entities": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
-          "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
-          "dev": true
         }
       }
     },
     "domelementtype": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
-      "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
       "dev": true
     },
     "domhandler": {
@@ -712,70 +630,94 @@
       "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
       "dev": true,
       "requires": {
-        "domelementtype": "1.3.0"
+        "domelementtype": "1"
       }
     },
     "domutils": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
-      "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
       "dev": true,
       "requires": {
-        "dom-serializer": "0.1.0",
-        "domelementtype": "1.3.0"
+        "dom-serializer": "0",
+        "domelementtype": "1"
       }
     },
-    "each-async": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
-      "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
+    "dot-prop": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+      "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
       "dev": true,
       "requires": {
-        "onetime": "1.1.0",
-        "set-immediate-shim": "1.0.1"
+        "is-obj": "^1.0.0"
       }
     },
-    "ecc-jsbn": {
+    "duplexer": {
       "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
-      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "jsbn": "0.1.1"
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+      "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
       "dev": true
     },
     "electron-to-chromium": {
-      "version": "1.3.32",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.32.tgz",
-      "integrity": "sha1-EdBoTAhA4APEvoko+KxfNdvCtOY=",
+      "version": "1.3.108",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.108.tgz",
+      "integrity": "sha512-/QI4hMpAh48a1Sea6PALGv+kuVne9A2EWGd8HrWHMdYhIzGtbhVVHh6heL5fAzGaDnZuPyrlWJRl8WPm4RyiQQ==",
       "dev": true
     },
     "entities": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
-      "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
       "dev": true
     },
+    "error": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
+      "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
+      "dev": true,
+      "requires": {
+        "string-template": "~0.2.1",
+        "xtend": "~4.0.0"
+      }
+    },
     "error-ex": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
-      "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "dev": true,
+      "requires": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "es-abstract": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
+      "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
+      "dev": true,
+      "requires": {
+        "es-to-primitive": "^1.2.0",
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3",
+        "is-callable": "^1.1.4",
+        "is-regex": "^1.0.4",
+        "object-keys": "^1.0.12"
+      }
+    },
+    "es-to-primitive": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
+      "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
       "dev": true,
       "requires": {
-        "is-arrayish": "0.2.1"
+        "is-callable": "^1.1.4",
+        "is-date-object": "^1.0.1",
+        "is-symbol": "^1.0.2"
       }
     },
     "es6-promise": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz",
-      "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=",
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
+      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
       "dev": true
     },
     "escape-string-regexp": {
@@ -785,9 +727,9 @@
       "dev": true
     },
     "esprima": {
-      "version": "2.7.3",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
-      "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
       "dev": true
     },
     "eventemitter2": {
@@ -802,37 +744,23 @@
       "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
       "dev": true
     },
-    "extend": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
-      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
-      "dev": true
-    },
-    "extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
-    },
-    "fast-deep-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
-      "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
-      "dev": true
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
-    },
     "faye-websocket": {
       "version": "0.10.0",
       "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
       "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
       "dev": true,
       "requires": {
-        "websocket-driver": "0.7.0"
+        "websocket-driver": ">=0.5.1"
+      }
+    },
+    "figures": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+      "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "^1.0.5",
+        "object-assign": "^4.1.0"
       }
     },
     "find-up": {
@@ -841,8 +769,8 @@
       "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
       "dev": true,
       "requires": {
-        "path-exists": "2.1.0",
-        "pinkie-promise": "2.0.1"
+        "path-exists": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
       }
     },
     "findup": {
@@ -851,8 +779,8 @@
       "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=",
       "dev": true,
       "requires": {
-        "colors": "0.6.2",
-        "commander": "2.1.0"
+        "colors": "~0.6.0-1",
+        "commander": "~2.1.0"
       },
       "dependencies": {
         "colors": {
@@ -869,7 +797,7 @@
       "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
       "dev": true,
       "requires": {
-        "glob": "5.0.15"
+        "glob": "~5.0.0"
       },
       "dependencies": {
         "glob": {
@@ -878,93 +806,36 @@
           "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
           "dev": true,
           "requires": {
-            "inflight": "1.0.6",
-            "inherits": "2.0.3",
-            "minimatch": "3.0.4",
-            "once": "1.4.0",
-            "path-is-absolute": "1.0.1"
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "2 || 3",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
           }
         }
       }
     },
-    "flatten": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
-      "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
-      "dev": true
-    },
-    "forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
-    },
-    "form-data": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
-      "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
-      "dev": true,
-      "requires": {
-        "asynckit": "0.4.0",
-        "combined-stream": "1.0.5",
-        "mime-types": "2.1.17"
-      }
-    },
     "fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
       "dev": true
     },
-    "fstream": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
-      "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "4.1.11",
-        "inherits": "2.0.3",
-        "mkdirp": "0.5.1",
-        "rimraf": "2.2.8"
-      }
-    },
     "function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
       "dev": true
     },
-    "gauge": {
-      "version": "2.7.4",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
-      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
-      "dev": true,
-      "requires": {
-        "aproba": "1.2.0",
-        "console-control-strings": "1.1.0",
-        "has-unicode": "2.0.1",
-        "object-assign": "4.1.1",
-        "signal-exit": "3.0.2",
-        "string-width": "1.0.2",
-        "strip-ansi": "3.0.1",
-        "wide-align": "1.1.2"
-      }
-    },
     "gaze": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
-      "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
       "dev": true,
       "requires": {
-        "globule": "1.2.0"
+        "globule": "^1.0.0"
       }
     },
-    "get-caller-file": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
-      "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
-      "dev": true
-    },
     "get-stdin": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@@ -977,102 +848,94 @@
       "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
       "dev": true
     },
-    "getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0"
-      }
-    },
     "glob": {
       "version": "7.0.6",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
       "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
       "dev": true,
       "requires": {
-        "fs.realpath": "1.0.0",
-        "inflight": "1.0.6",
-        "inherits": "2.0.3",
-        "minimatch": "3.0.4",
-        "once": "1.4.0",
-        "path-is-absolute": "1.0.1"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.2",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       }
     },
     "globule": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz",
-      "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+      "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
       "dev": true,
       "requires": {
-        "glob": "7.1.2",
-        "lodash": "4.17.4",
-        "minimatch": "3.0.4"
+        "glob": "~7.1.1",
+        "lodash": "~4.17.10",
+        "minimatch": "~3.0.2"
       },
       "dependencies": {
         "glob": {
-          "version": "7.1.2",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
-          "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+          "version": "7.1.3",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+          "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
           "dev": true,
           "requires": {
-            "fs.realpath": "1.0.0",
-            "inflight": "1.0.6",
-            "inherits": "2.0.3",
-            "minimatch": "3.0.4",
-            "once": "1.4.0",
-            "path-is-absolute": "1.0.1"
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
           }
-        },
-        "lodash": {
-          "version": "4.17.4",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
-          "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
-          "dev": true
         }
       }
     },
     "graceful-fs": {
-      "version": "4.1.11",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
-      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+      "version": "4.1.15",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+      "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
       "dev": true
     },
     "grunt": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz",
-      "integrity": "sha1-6HeHZOlEsY8yuw8QuQeEdcnftWs=",
-      "dev": true,
-      "requires": {
-        "coffee-script": "1.10.0",
-        "dateformat": "1.0.12",
-        "eventemitter2": "0.4.14",
-        "exit": "0.1.2",
-        "findup-sync": "0.3.0",
-        "glob": "7.0.6",
-        "grunt-cli": "1.2.0",
-        "grunt-known-options": "1.1.0",
-        "grunt-legacy-log": "1.0.0",
-        "grunt-legacy-util": "1.0.0",
-        "iconv-lite": "0.4.19",
-        "js-yaml": "3.5.5",
-        "minimatch": "3.0.4",
-        "nopt": "3.0.6",
-        "path-is-absolute": "1.0.1",
-        "rimraf": "2.2.8"
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",
+      "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
+      "dev": true,
+      "requires": {
+        "coffeescript": "~1.10.0",
+        "dateformat": "~1.0.12",
+        "eventemitter2": "~0.4.13",
+        "exit": "~0.1.1",
+        "findup-sync": "~0.3.0",
+        "glob": "~7.0.0",
+        "grunt-cli": "~1.2.0",
+        "grunt-known-options": "~1.1.0",
+        "grunt-legacy-log": "~2.0.0",
+        "grunt-legacy-util": "~1.1.1",
+        "iconv-lite": "~0.4.13",
+        "js-yaml": "~3.5.2",
+        "minimatch": "~3.0.2",
+        "mkdirp": "~0.5.1",
+        "nopt": "~3.0.6",
+        "path-is-absolute": "~1.0.0",
+        "rimraf": "~2.6.2"
       },
       "dependencies": {
+        "esprima": {
+          "version": "2.7.3",
+          "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+          "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+          "dev": true
+        },
         "grunt-cli": {
           "version": "1.2.0",
           "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
           "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
           "dev": true,
           "requires": {
-            "findup-sync": "0.3.0",
-            "grunt-known-options": "1.1.0",
-            "nopt": "3.0.6",
-            "resolve": "1.1.7"
+            "findup-sync": "~0.3.0",
+            "grunt-known-options": "~1.1.0",
+            "nopt": "~3.0.6",
+            "resolve": "~1.1.0"
           }
         },
         "js-yaml": {
@@ -1081,104 +944,251 @@
           "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
           "dev": true,
           "requires": {
-            "argparse": "1.0.9",
-            "esprima": "2.7.3"
+            "argparse": "^1.0.2",
+            "esprima": "^2.6.0"
           }
         }
       }
     },
     "grunt-contrib-jshint": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz",
-      "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-2.0.0.tgz",
+      "integrity": "sha512-4qR411I1bhvVrPkKBzCUcrWkTEtBuWioXi9ABWRXHoplRScg03jiMqLDpzS4pDhVsLOTx5F9l+0cnMc+Gd2MWg==",
+      "dev": true,
+      "requires": {
+        "chalk": "^2.4.1",
+        "hooker": "^0.2.3",
+        "jshint": "~2.9.6"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.1",
+            "escape-string-regexp": "^1.0.5",
+            "supports-color": "^5.3.0"
+          }
+        },
+        "supports-color": {
+          "version": "5.5.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
+        }
+      }
+    },
+    "grunt-contrib-uglify": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-4.0.0.tgz",
+      "integrity": "sha512-vy3Vop2KDqdiwcGOGAjyKvjHFrRD/YK4KPQWR3Yt6OdYlgFw1z7HCuk66+IJ9s7oJmp9uRQXuuSHyawKRAgiMw==",
       "dev": true,
       "requires": {
-        "chalk": "1.1.3",
-        "hooker": "0.2.3",
-        "jshint": "2.9.5"
+        "chalk": "^2.4.1",
+        "maxmin": "^2.1.0",
+        "uglify-js": "~3.4.8",
+        "uri-path": "^1.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.1",
+            "escape-string-regexp": "^1.0.5",
+            "supports-color": "^5.3.0"
+          }
+        },
+        "has-flag": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "5.5.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
+        }
       }
     },
     "grunt-contrib-watch": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz",
-      "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz",
+      "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
       "dev": true,
       "requires": {
-        "async": "1.5.2",
-        "gaze": "1.1.2",
-        "lodash": "3.10.1",
-        "tiny-lr": "0.2.1"
+        "async": "^2.6.0",
+        "gaze": "^1.1.0",
+        "lodash": "^4.17.10",
+        "tiny-lr": "^1.1.1"
+      },
+      "dependencies": {
+        "async": {
+          "version": "2.6.1",
+          "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+          "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+          "dev": true,
+          "requires": {
+            "lodash": "^4.17.10"
+          }
+        }
       }
     },
     "grunt-known-options": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
-      "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
+      "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
       "dev": true
     },
     "grunt-legacy-log": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz",
-      "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
+      "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
       "dev": true,
       "requires": {
-        "colors": "1.1.2",
-        "grunt-legacy-log-utils": "1.0.0",
-        "hooker": "0.2.3",
-        "lodash": "3.10.1",
-        "underscore.string": "3.2.3"
+        "colors": "~1.1.2",
+        "grunt-legacy-log-utils": "~2.0.0",
+        "hooker": "~0.2.3",
+        "lodash": "~4.17.5"
       }
     },
     "grunt-legacy-log-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz",
-      "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
+      "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
       "dev": true,
       "requires": {
-        "chalk": "1.1.3",
-        "lodash": "4.3.0"
+        "chalk": "~2.4.1",
+        "lodash": "~4.17.10"
       },
       "dependencies": {
-        "lodash": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
-          "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
-          "dev": true
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.1",
+            "escape-string-regexp": "^1.0.5",
+            "supports-color": "^5.3.0"
+          }
+        },
+        "supports-color": {
+          "version": "5.5.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
         }
       }
     },
     "grunt-legacy-util": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz",
-      "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
+      "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
       "dev": true,
       "requires": {
-        "async": "1.5.2",
-        "exit": "0.1.2",
-        "getobject": "0.1.0",
-        "hooker": "0.2.3",
-        "lodash": "4.3.0",
-        "underscore.string": "3.2.3",
-        "which": "1.2.14"
-      },
-      "dependencies": {
-        "lodash": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
-          "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
-          "dev": true
-        }
+        "async": "~1.5.2",
+        "exit": "~0.1.1",
+        "getobject": "~0.1.0",
+        "hooker": "~0.2.3",
+        "lodash": "~4.17.10",
+        "underscore.string": "~3.3.4",
+        "which": "~1.3.0"
       }
     },
     "grunt-postcss": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.8.0.tgz",
-      "integrity": "sha1-jzCor2B5A84MRfAfC+QsYOMc6w4=",
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.9.0.tgz",
+      "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
       "dev": true,
       "requires": {
-        "chalk": "1.1.3",
-        "diff": "2.2.3",
-        "postcss": "5.2.18"
+        "chalk": "^2.1.0",
+        "diff": "^3.0.0",
+        "postcss": "^6.0.11"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.1",
+            "escape-string-regexp": "^1.0.5",
+            "supports-color": "^5.3.0"
+          }
+        },
+        "postcss": {
+          "version": "6.0.23",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.4.1",
+            "source-map": "^0.6.1",
+            "supports-color": "^5.4.0"
+          }
+        },
+        "supports-color": {
+          "version": "5.5.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
+        }
       }
     },
     "grunt-rtlcss": {
@@ -1187,44 +1197,26 @@
       "integrity": "sha1-6eYc5DdAY5f546Sxv2aeR+cf/MM=",
       "dev": true,
       "requires": {
-        "chalk": "1.1.3",
-        "rtlcss": "2.2.1"
-      }
-    },
-    "grunt-sass": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-1.2.1.tgz",
-      "integrity": "sha1-+4e2yqxG+zLUUXf9Lktv90aMGRk=",
-      "dev": true,
-      "requires": {
-        "each-async": "1.1.1",
-        "node-sass": "3.13.1",
-        "object-assign": "4.1.1"
-      }
-    },
-    "har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
+        "chalk": "^1.0.0",
+        "rtlcss": "^2.0.0"
+      }
     },
-    "har-validator": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
-      "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+    "gzip-size": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
+      "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
       "dev": true,
       "requires": {
-        "ajv": "5.5.2",
-        "har-schema": "2.0.0"
+        "duplexer": "^0.1.1"
       }
     },
     "has": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
-      "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
       "dev": true,
       "requires": {
-        "function-bind": "1.1.1"
+        "function-bind": "^1.1.1"
       }
     },
     "has-ansi": {
@@ -1233,37 +1225,25 @@
       "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
       "dev": true,
       "requires": {
-        "ansi-regex": "2.1.1"
+        "ansi-regex": "^2.0.0"
       }
     },
     "has-flag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
-      "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
       "dev": true
     },
-    "has-unicode": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
-      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+    "has-symbols": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
       "dev": true
     },
-    "hawk": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
-      "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
-      "dev": true,
-      "requires": {
-        "boom": "4.3.1",
-        "cryptiles": "3.1.2",
-        "hoek": "4.2.0",
-        "sntp": "2.1.0"
-      }
-    },
-    "hoek": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
-      "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==",
+    "hex-color-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
+      "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
       "dev": true
     },
     "hooker": {
@@ -1273,15 +1253,27 @@
       "dev": true
     },
     "hosted-git-info": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
-      "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+      "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+      "dev": true
+    },
+    "hsl-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
+      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
+      "dev": true
+    },
+    "hsla-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
+      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
       "dev": true
     },
     "html-comment-regex": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
-      "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
+      "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
       "dev": true
     },
     "htmlparser2": {
@@ -1290,51 +1282,55 @@
       "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
       "dev": true,
       "requires": {
-        "domelementtype": "1.3.0",
-        "domhandler": "2.3.0",
-        "domutils": "1.5.1",
-        "entities": "1.0.0",
-        "readable-stream": "1.1.14"
-      }
-    },
-    "http-errors": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
-      "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3",
-        "statuses": "1.4.0"
+        "domelementtype": "1",
+        "domhandler": "2.3",
+        "domutils": "1.5",
+        "entities": "1.0",
+        "readable-stream": "1.1"
+      },
+      "dependencies": {
+        "domutils": {
+          "version": "1.5.1",
+          "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+          "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+          "dev": true,
+          "requires": {
+            "dom-serializer": "0",
+            "domelementtype": "1"
+          }
+        },
+        "entities": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
+          "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
+          "dev": true
+        }
       }
     },
     "http-parser-js": {
-      "version": "0.4.9",
-      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz",
-      "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=",
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
+      "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
       "dev": true
     },
-    "http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+    "iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
       "dev": true,
       "requires": {
-        "assert-plus": "1.0.0",
-        "jsprim": "1.4.1",
-        "sshpk": "1.13.1"
+        "safer-buffer": ">= 2.1.2 < 3"
       }
     },
-    "iconv-lite": {
-      "version": "0.4.19",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
-      "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
-      "dev": true
-    },
-    "in-publish": {
+    "import-fresh": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
-      "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
-      "dev": true
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+      "dev": true,
+      "requires": {
+        "caller-path": "^2.0.0",
+        "resolve-from": "^3.0.0"
+      }
     },
     "indent-string": {
       "version": "2.1.0",
@@ -1342,7 +1338,7 @@
       "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
       "dev": true,
       "requires": {
-        "repeating": "2.0.1"
+        "repeating": "^2.0.0"
       }
     },
     "indexes-of": {
@@ -1357,8 +1353,8 @@
       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
       "dev": true,
       "requires": {
-        "once": "1.4.0",
-        "wrappy": "1.0.2"
+        "once": "^1.3.0",
+        "wrappy": "1"
       }
     },
     "inherits": {
@@ -1367,12 +1363,6 @@
       "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
       "dev": true
     },
-    "invert-kv": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
-      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
-      "dev": true
-    },
     "is-absolute-url": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
@@ -1391,47 +1381,88 @@
       "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
       "dev": true,
       "requires": {
-        "builtin-modules": "1.1.1"
+        "builtin-modules": "^1.0.0"
+      }
+    },
+    "is-callable": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+      "dev": true
+    },
+    "is-color-stop": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
+      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+      "dev": true,
+      "requires": {
+        "css-color-names": "^0.0.4",
+        "hex-color-regex": "^1.1.0",
+        "hsl-regex": "^1.0.0",
+        "hsla-regex": "^1.0.0",
+        "rgb-regex": "^1.0.1",
+        "rgba-regex": "^1.0.0"
       }
     },
+    "is-date-object": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+      "dev": true
+    },
+    "is-directory": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+      "dev": true
+    },
     "is-finite": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
       "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
       "dev": true,
       "requires": {
-        "number-is-nan": "1.0.1"
+        "number-is-nan": "^1.0.0"
       }
     },
-    "is-fullwidth-code-point": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+    "is-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+      "dev": true
+    },
+    "is-regex": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
       "dev": true,
       "requires": {
-        "number-is-nan": "1.0.1"
+        "has": "^1.0.1"
       }
     },
-    "is-plain-obj": {
+    "is-resolvable": {
       "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
       "dev": true
     },
     "is-svg": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
-      "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
+      "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
       "dev": true,
       "requires": {
-        "html-comment-regex": "1.1.1"
+        "html-comment-regex": "^1.1.0"
       }
     },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
+    "is-symbol": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+      "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+      "dev": true,
+      "requires": {
+        "has-symbols": "^1.0.0"
+      }
     },
     "is-utf8": {
       "version": "0.2.1",
@@ -1451,102 +1482,42 @@
       "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
       "dev": true
     },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
-    },
-    "js-base64": {
-      "version": "2.4.3",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
-      "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==",
-      "dev": true
-    },
     "js-yaml": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
-      "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+      "version": "3.12.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz",
+      "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==",
       "dev": true,
       "requires": {
-        "argparse": "1.0.9",
-        "esprima": "2.7.3"
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
       }
     },
-    "jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true,
-      "optional": true
-    },
     "jshint": {
-      "version": "2.9.5",
-      "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz",
-      "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=",
+      "version": "2.9.7",
+      "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz",
+      "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==",
       "dev": true,
       "requires": {
-        "cli": "1.0.1",
-        "console-browserify": "1.1.0",
-        "exit": "0.1.2",
-        "htmlparser2": "3.8.3",
-        "lodash": "3.7.0",
-        "minimatch": "3.0.4",
-        "shelljs": "0.3.0",
-        "strip-json-comments": "1.0.4"
-      },
-      "dependencies": {
-        "lodash": {
-          "version": "3.7.0",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
-          "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=",
-          "dev": true
-        }
+        "cli": "~1.0.0",
+        "console-browserify": "1.1.x",
+        "exit": "0.1.x",
+        "htmlparser2": "3.8.x",
+        "lodash": "~4.17.10",
+        "minimatch": "~3.0.2",
+        "shelljs": "0.3.x",
+        "strip-json-comments": "1.0.x"
       }
     },
-    "json-schema": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
-      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
-      "dev": true
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+    "json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
       "dev": true
     },
-    "jsprim": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
-      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.2.3",
-        "verror": "1.10.0"
-      }
-    },
-    "lcid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
-      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
-      "dev": true,
-      "requires": {
-        "invert-kv": "1.0.0"
-      }
-    },
     "livereload-js": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
-      "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
+      "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==",
       "dev": true
     },
     "load-json-file": {
@@ -1555,29 +1526,28 @@
       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
       "dev": true,
       "requires": {
-        "graceful-fs": "4.1.11",
-        "parse-json": "2.2.0",
-        "pify": "2.3.0",
-        "pinkie-promise": "2.0.1",
-        "strip-bom": "2.0.0"
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^2.2.0",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0",
+        "strip-bom": "^2.0.0"
+      },
+      "dependencies": {
+        "parse-json": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+          "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+          "dev": true,
+          "requires": {
+            "error-ex": "^1.2.0"
+          }
+        }
       }
     },
     "lodash": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
-      "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
-      "dev": true
-    },
-    "lodash.assign": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
-      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
-      "dev": true
-    },
-    "lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+      "version": "4.17.11",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+      "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
       "dev": true
     },
     "lodash.memoize": {
@@ -1598,42 +1568,32 @@
       "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
       "dev": true,
       "requires": {
-        "currently-unhandled": "0.4.1",
-        "signal-exit": "3.0.2"
-      }
-    },
-    "lru-cache": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
-      "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
-      "dev": true,
-      "requires": {
-        "pseudomap": "1.0.2",
-        "yallist": "2.1.2"
+        "currently-unhandled": "^0.4.1",
+        "signal-exit": "^3.0.0"
       }
     },
-    "macaddress": {
-      "version": "0.2.8",
-      "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz",
-      "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=",
-      "dev": true
-    },
     "map-obj": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
       "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
       "dev": true
     },
-    "math-expression-evaluator": {
-      "version": "1.2.17",
-      "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
-      "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
-      "dev": true
+    "maxmin": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz",
+      "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
+      "dev": true,
+      "requires": {
+        "chalk": "^1.0.0",
+        "figures": "^1.0.1",
+        "gzip-size": "^3.0.0",
+        "pretty-bytes": "^3.0.0"
+      }
     },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+    "mdn-data": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+      "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==",
       "dev": true
     },
     "meow": {
@@ -1642,16 +1602,16 @@
       "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
       "dev": true,
       "requires": {
-        "camelcase-keys": "2.1.0",
-        "decamelize": "1.2.0",
-        "loud-rejection": "1.6.0",
-        "map-obj": "1.0.1",
-        "minimist": "1.2.0",
-        "normalize-package-data": "2.4.0",
-        "object-assign": "4.1.1",
-        "read-pkg-up": "1.0.1",
-        "redent": "1.0.0",
-        "trim-newlines": "1.0.0"
+        "camelcase-keys": "^2.0.0",
+        "decamelize": "^1.1.2",
+        "loud-rejection": "^1.0.0",
+        "map-obj": "^1.0.1",
+        "minimist": "^1.1.3",
+        "normalize-package-data": "^2.3.4",
+        "object-assign": "^4.0.1",
+        "read-pkg-up": "^1.0.1",
+        "redent": "^1.0.0",
+        "trim-newlines": "^1.0.0"
       },
       "dependencies": {
         "minimist": {
@@ -1662,28 +1622,13 @@
         }
       }
     },
-    "mime-db": {
-      "version": "1.30.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
-      "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
-      "dev": true
-    },
-    "mime-types": {
-      "version": "2.1.17",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
-      "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
-      "dev": true,
-      "requires": {
-        "mime-db": "1.30.0"
-      }
-    },
     "minimatch": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
       "dev": true,
       "requires": {
-        "brace-expansion": "1.1.8"
+        "brace-expansion": "^1.1.7"
       }
     },
     "minimist": {
@@ -1702,68 +1647,18 @@
       }
     },
     "ms": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
-      "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
-      "dev": true
-    },
-    "nan": {
-      "version": "2.8.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
-      "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=",
-      "dev": true
-    },
-    "node-gyp": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz",
-      "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
-      "dev": true,
-      "requires": {
-        "fstream": "1.0.11",
-        "glob": "7.0.6",
-        "graceful-fs": "4.1.11",
-        "minimatch": "3.0.4",
-        "mkdirp": "0.5.1",
-        "nopt": "3.0.6",
-        "npmlog": "4.1.2",
-        "osenv": "0.1.4",
-        "request": "2.83.0",
-        "rimraf": "2.2.8",
-        "semver": "5.3.0",
-        "tar": "2.2.1",
-        "which": "1.2.14"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
-          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
-          "dev": true
-        }
-      }
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+      "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+      "dev": true
     },
-    "node-sass": {
-      "version": "3.13.1",
-      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz",
-      "integrity": "sha1-ckD7v/I5YwS0IjUn7TAgWJwAT8I=",
+    "node-releases": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.5.tgz",
+      "integrity": "sha512-6C2K0x1QlYTz9wCueMN/DVZFcBVg/qsj2k9iV5gV/+OvG4KNrl7Nu7TWbWFQ3/Z2V10qVFQWtj5Xa+VBodcI6g==",
       "dev": true,
       "requires": {
-        "async-foreach": "0.1.3",
-        "chalk": "1.1.3",
-        "cross-spawn": "3.0.1",
-        "gaze": "1.1.2",
-        "get-stdin": "4.0.1",
-        "glob": "7.0.6",
-        "in-publish": "2.0.0",
-        "lodash.assign": "4.2.0",
-        "lodash.clonedeep": "4.5.0",
-        "meow": "3.7.0",
-        "mkdirp": "0.5.1",
-        "nan": "2.8.0",
-        "node-gyp": "3.6.2",
-        "npmlog": "4.1.2",
-        "request": "2.83.0",
-        "sass-graph": "2.2.4"
+        "semver": "^5.3.0"
       }
     },
     "nopt": {
@@ -1772,7 +1667,7 @@
       "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
       "dev": true,
       "requires": {
-        "abbrev": "1.1.1"
+        "abbrev": "1"
       }
     },
     "normalize-package-data": {
@@ -1781,10 +1676,10 @@
       "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
       "dev": true,
       "requires": {
-        "hosted-git-info": "2.5.0",
-        "is-builtin-module": "1.0.0",
-        "semver": "5.5.0",
-        "validate-npm-package-license": "3.0.1"
+        "hosted-git-info": "^2.1.4",
+        "is-builtin-module": "^1.0.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
       }
     },
     "normalize-range": {
@@ -1794,27 +1689,18 @@
       "dev": true
     },
     "normalize-url": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
-      "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
-      "dev": true,
-      "requires": {
-        "object-assign": "4.1.1",
-        "prepend-http": "1.0.4",
-        "query-string": "4.3.4",
-        "sort-keys": "1.1.2"
-      }
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
+      "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
+      "dev": true
     },
-    "npmlog": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
-      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+    "nth-check": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
+      "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
       "dev": true,
       "requires": {
-        "are-we-there-yet": "1.1.4",
-        "console-control-strings": "1.1.0",
-        "gauge": "2.7.4",
-        "set-blocking": "2.0.0"
+        "boolbase": "~1.0.0"
       }
     },
     "num2fraction": {
@@ -1829,95 +1715,66 @@
       "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
       "dev": true
     },
-    "oauth-sign": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
-      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
-      "dev": true
-    },
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
       "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
       "dev": true
     },
-    "on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "requires": {
-        "ee-first": "1.1.1"
-      }
+    "object-keys": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+      "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
+      "dev": true
     },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+    "object.getownpropertydescriptors": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+      "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
       "dev": true,
       "requires": {
-        "wrappy": "1.0.2"
+        "define-properties": "^1.1.2",
+        "es-abstract": "^1.5.1"
       }
     },
-    "onetime": {
+    "object.values": {
       "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
-      "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
-      "dev": true
-    },
-    "os-homedir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
-    },
-    "os-locale": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
-      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
+      "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
       "dev": true,
       "requires": {
-        "lcid": "1.0.0"
+        "define-properties": "^1.1.3",
+        "es-abstract": "^1.12.0",
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3"
       }
     },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
-    },
-    "osenv": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
-      "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
       "dev": true,
       "requires": {
-        "os-homedir": "1.0.2",
-        "os-tmpdir": "1.0.2"
+        "wrappy": "1"
       }
     },
     "parse-json": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
       "dev": true,
       "requires": {
-        "error-ex": "1.3.1"
+        "error-ex": "^1.3.1",
+        "json-parse-better-errors": "^1.0.1"
       }
     },
-    "parseurl": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
-      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
-      "dev": true
-    },
     "path-exists": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
       "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
       "dev": true,
       "requires": {
-        "pinkie-promise": "2.0.1"
+        "pinkie-promise": "^2.0.0"
       }
     },
     "path-is-absolute": {
@@ -1932,17 +1789,11 @@
       "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
       "dev": true,
       "requires": {
-        "graceful-fs": "4.1.11",
-        "pify": "2.3.0",
-        "pinkie-promise": "2.0.1"
+        "graceful-fs": "^4.1.2",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
       }
     },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
-    },
     "pify": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -1961,340 +1812,407 @@
       "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
       "dev": true,
       "requires": {
-        "pinkie": "2.0.4"
-      }
-    },
-    "pixrem": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/pixrem/-/pixrem-3.0.2.tgz",
-      "integrity": "sha1-MNG6+0w73Ojpu0vVahOYVhkyDDQ=",
-      "dev": true,
-      "requires": {
-        "browserslist": "1.7.7",
-        "postcss": "5.2.18",
-        "reduce-css-calc": "1.3.0"
+        "pinkie": "^2.0.0"
       }
     },
     "postcss": {
-      "version": "5.2.18",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
-      "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+      "version": "7.0.14",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
+      "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
       "dev": true,
       "requires": {
-        "chalk": "1.1.3",
-        "js-base64": "2.4.3",
-        "source-map": "0.5.7",
-        "supports-color": "3.2.3"
+        "chalk": "^2.4.2",
+        "source-map": "^0.6.1",
+        "supports-color": "^6.1.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.1",
+            "escape-string-regexp": "^1.0.5",
+            "supports-color": "^5.3.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "5.5.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+              "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^3.0.0"
+              }
+            }
+          }
+        }
       }
     },
     "postcss-calc": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
-      "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz",
+      "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18",
-        "postcss-message-helpers": "2.0.0",
-        "reduce-css-calc": "1.3.0"
+        "css-unit-converter": "^1.1.1",
+        "postcss": "^7.0.5",
+        "postcss-selector-parser": "^5.0.0-rc.4",
+        "postcss-value-parser": "^3.3.1"
       }
     },
     "postcss-colormin": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
-      "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.2.tgz",
+      "integrity": "sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw==",
       "dev": true,
       "requires": {
-        "colormin": "1.1.2",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "browserslist": "^4.0.0",
+        "color": "^3.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
     "postcss-convert-values": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
-      "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
+      "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
     "postcss-discard-comments": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
-      "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz",
+      "integrity": "sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18"
+        "postcss": "^7.0.0"
       }
     },
     "postcss-discard-duplicates": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
-      "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
+      "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18"
+        "postcss": "^7.0.0"
       }
     },
     "postcss-discard-empty": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
-      "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
+      "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18"
+        "postcss": "^7.0.0"
       }
     },
     "postcss-discard-overridden": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
-      "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
+      "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18"
+        "postcss": "^7.0.0"
       }
     },
-    "postcss-discard-unused": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
-      "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+    "postcss-merge-longhand": {
+      "version": "4.0.10",
+      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.10.tgz",
+      "integrity": "sha512-hME10s6CSjm9nlVIcO1ukR7Jr5RisTaaC1y83jWCivpuBtPohA3pZE7cGTIVSYjXvLnXozHTiVOkG4dnnl756g==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18",
-        "uniqs": "2.0.0"
+        "css-color-names": "0.0.4",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0",
+        "stylehacks": "^4.0.0"
       }
     },
-    "postcss-filter-plugins": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
-      "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+    "postcss-merge-rules": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz",
+      "integrity": "sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag==",
+      "dev": true,
+      "requires": {
+        "browserslist": "^4.0.0",
+        "caniuse-api": "^3.0.0",
+        "cssnano-util-same-parent": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-selector-parser": "^3.0.0",
+        "vendors": "^1.0.0"
+      },
+      "dependencies": {
+        "postcss-selector-parser": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+          "dev": true,
+          "requires": {
+            "dot-prop": "^4.1.1",
+            "indexes-of": "^1.0.1",
+            "uniq": "^1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-minify-font-values": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
+      "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18",
-        "uniqid": "4.1.1"
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-merge-idents": {
-      "version": "2.1.7",
-      "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
-      "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+    "postcss-minify-gradients": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz",
+      "integrity": "sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA==",
       "dev": true,
       "requires": {
-        "has": "1.0.1",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "cssnano-util-get-arguments": "^4.0.0",
+        "is-color-stop": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-merge-longhand": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
-      "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+    "postcss-minify-params": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz",
+      "integrity": "sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg==",
+      "dev": true,
+      "requires": {
+        "alphanum-sort": "^1.0.0",
+        "browserslist": "^4.0.0",
+        "cssnano-util-get-arguments": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0",
+        "uniqs": "^2.0.0"
+      }
+    },
+    "postcss-minify-selectors": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz",
+      "integrity": "sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg==",
+      "dev": true,
+      "requires": {
+        "alphanum-sort": "^1.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-selector-parser": "^3.0.0"
+      },
+      "dependencies": {
+        "postcss-selector-parser": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+          "dev": true,
+          "requires": {
+            "dot-prop": "^4.1.1",
+            "indexes-of": "^1.0.1",
+            "uniq": "^1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-normalize-charset": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
+      "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18"
+        "postcss": "^7.0.0"
       }
     },
-    "postcss-merge-rules": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
-      "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+    "postcss-normalize-display-values": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz",
+      "integrity": "sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg==",
       "dev": true,
       "requires": {
-        "browserslist": "1.7.7",
-        "caniuse-api": "1.6.1",
-        "postcss": "5.2.18",
-        "postcss-selector-parser": "2.2.3",
-        "vendors": "1.0.1"
+        "cssnano-util-get-match": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-message-helpers": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
-      "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
-      "dev": true
-    },
-    "postcss-minify-font-values": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
-      "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+    "postcss-normalize-positions": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz",
+      "integrity": "sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA==",
       "dev": true,
       "requires": {
-        "object-assign": "4.1.1",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "cssnano-util-get-arguments": "^4.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-minify-gradients": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
-      "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+    "postcss-normalize-repeat-style": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz",
+      "integrity": "sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "cssnano-util-get-arguments": "^4.0.0",
+        "cssnano-util-get-match": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-minify-params": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
-      "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+    "postcss-normalize-string": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz",
+      "integrity": "sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ==",
       "dev": true,
       "requires": {
-        "alphanum-sort": "1.0.2",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0",
-        "uniqs": "2.0.0"
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-minify-selectors": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
-      "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+    "postcss-normalize-timing-functions": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz",
+      "integrity": "sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w==",
       "dev": true,
       "requires": {
-        "alphanum-sort": "1.0.2",
-        "has": "1.0.1",
-        "postcss": "5.2.18",
-        "postcss-selector-parser": "2.2.3"
+        "cssnano-util-get-match": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-normalize-charset": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
-      "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+    "postcss-normalize-unicode": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
+      "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18"
+        "browserslist": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
     "postcss-normalize-url": {
-      "version": "3.0.8",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
-      "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
+      "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
       "dev": true,
       "requires": {
-        "is-absolute-url": "2.1.0",
-        "normalize-url": "1.9.1",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "is-absolute-url": "^2.0.0",
+        "normalize-url": "^3.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-ordered-values": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
-      "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+    "postcss-normalize-whitespace": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz",
+      "integrity": "sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
-    "postcss-reduce-idents": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
-      "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+    "postcss-ordered-values": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz",
+      "integrity": "sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "cssnano-util-get-arguments": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
     "postcss-reduce-initial": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
-      "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz",
+      "integrity": "sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug==",
       "dev": true,
       "requires": {
-        "postcss": "5.2.18"
+        "browserslist": "^4.0.0",
+        "caniuse-api": "^3.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0"
       }
     },
     "postcss-reduce-transforms": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
-      "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz",
+      "integrity": "sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA==",
       "dev": true,
       "requires": {
-        "has": "1.0.1",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0"
+        "cssnano-util-get-match": "^4.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
       }
     },
     "postcss-selector-parser": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
-      "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+      "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
       "dev": true,
       "requires": {
-        "flatten": "1.0.2",
-        "indexes-of": "1.0.1",
-        "uniq": "1.0.1"
+        "cssesc": "^2.0.0",
+        "indexes-of": "^1.0.1",
+        "uniq": "^1.0.1"
       }
     },
     "postcss-svgo": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
-      "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.1.tgz",
+      "integrity": "sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw==",
       "dev": true,
       "requires": {
-        "is-svg": "2.1.0",
-        "postcss": "5.2.18",
-        "postcss-value-parser": "3.3.0",
-        "svgo": "0.7.2"
+        "is-svg": "^3.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0",
+        "svgo": "^1.0.0"
       }
     },
     "postcss-unique-selectors": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
-      "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
+      "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
       "dev": true,
       "requires": {
-        "alphanum-sort": "1.0.2",
-        "postcss": "5.2.18",
-        "uniqs": "2.0.0"
+        "alphanum-sort": "^1.0.0",
+        "postcss": "^7.0.0",
+        "uniqs": "^2.0.0"
       }
     },
     "postcss-value-parser": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
-      "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
       "dev": true
     },
-    "postcss-zindex": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
-      "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+    "pretty-bytes": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
+      "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
       "dev": true,
       "requires": {
-        "has": "1.0.1",
-        "postcss": "5.2.18",
-        "uniqs": "2.0.0"
+        "number-is-nan": "^1.0.0"
       }
     },
-    "prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
-      "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
-      "dev": true
-    },
-    "pseudomap": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
-    },
-    "punycode": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
-    },
     "q": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
@@ -2302,44 +2220,19 @@
       "dev": true
     },
     "qs": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
-      "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=",
+      "version": "6.6.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz",
+      "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==",
       "dev": true
     },
-    "query-string": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
-      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
-      "dev": true,
-      "requires": {
-        "object-assign": "4.1.1",
-        "strict-uri-encode": "1.1.0"
-      }
-    },
     "raw-body": {
-      "version": "2.1.7",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
-      "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+      "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
       "dev": true,
       "requires": {
-        "bytes": "2.4.0",
-        "iconv-lite": "0.4.13",
-        "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
-          "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
-          "dev": true
-        },
-        "iconv-lite": {
-          "version": "0.4.13",
-          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
-          "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
-          "dev": true
-        }
+        "bytes": "1",
+        "string_decoder": "0.10"
       }
     },
     "read-pkg": {
@@ -2348,9 +2241,9 @@
       "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
       "dev": true,
       "requires": {
-        "load-json-file": "1.1.0",
-        "normalize-package-data": "2.4.0",
-        "path-type": "1.1.0"
+        "load-json-file": "^1.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^1.0.0"
       }
     },
     "read-pkg-up": {
@@ -2359,8 +2252,8 @@
       "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
       "dev": true,
       "requires": {
-        "find-up": "1.1.2",
-        "read-pkg": "1.1.0"
+        "find-up": "^1.0.0",
+        "read-pkg": "^1.0.0"
       }
     },
     "readable-stream": {
@@ -2369,10 +2262,10 @@
       "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
       "dev": true,
       "requires": {
-        "core-util-is": "1.0.2",
-        "inherits": "2.0.3",
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.1",
         "isarray": "0.0.1",
-        "string_decoder": "0.10.31"
+        "string_decoder": "~0.10.x"
       }
     },
     "redent": {
@@ -2381,28 +2274,8 @@
       "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
       "dev": true,
       "requires": {
-        "indent-string": "2.1.0",
-        "strip-indent": "1.0.1"
-      }
-    },
-    "reduce-css-calc": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
-      "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
-      "dev": true,
-      "requires": {
-        "balanced-match": "0.4.2",
-        "math-expression-evaluator": "1.2.17",
-        "reduce-function-call": "1.0.2"
-      }
-    },
-    "reduce-function-call": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
-      "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
-      "dev": true,
-      "requires": {
-        "balanced-match": "0.4.2"
+        "indent-string": "^2.1.0",
+        "strip-indent": "^1.0.1"
       }
     },
     "repeating": {
@@ -2411,70 +2284,57 @@
       "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
       "dev": true,
       "requires": {
-        "is-finite": "1.0.2"
-      }
-    },
-    "request": {
-      "version": "2.83.0",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
-      "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
-      "dev": true,
-      "requires": {
-        "aws-sign2": "0.7.0",
-        "aws4": "1.6.0",
-        "caseless": "0.12.0",
-        "combined-stream": "1.0.5",
-        "extend": "3.0.1",
-        "forever-agent": "0.6.1",
-        "form-data": "2.3.1",
-        "har-validator": "5.0.3",
-        "hawk": "6.0.2",
-        "http-signature": "1.2.0",
-        "is-typedarray": "1.0.0",
-        "isstream": "0.1.2",
-        "json-stringify-safe": "5.0.1",
-        "mime-types": "2.1.17",
-        "oauth-sign": "0.8.2",
-        "performance-now": "2.1.0",
-        "qs": "6.5.1",
-        "safe-buffer": "5.1.1",
-        "stringstream": "0.0.5",
-        "tough-cookie": "2.3.3",
-        "tunnel-agent": "0.6.0",
-        "uuid": "3.2.1"
-      },
-      "dependencies": {
-        "qs": {
-          "version": "6.5.1",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
-          "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
-          "dev": true
-        }
+        "is-finite": "^1.0.0"
       }
     },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+    "resolve": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+      "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+      "dev": true
+    },
+    "resolve-from": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
       "dev": true
     },
-    "require-main-filename": {
+    "rgb-regex": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+      "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
+      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
       "dev": true
     },
-    "resolve": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
-      "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+    "rgba-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
+      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
       "dev": true
     },
     "rimraf": {
-      "version": "2.2.8",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
-      "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
-      "dev": true
+      "version": "2.6.3",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.3"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.3",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+          "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        }
+      }
     },
     "rtlcss": {
       "version": "2.2.1",
@@ -2482,11 +2342,11 @@
       "integrity": "sha512-JjQ5DlrmwiItAjlmhoxrJq5ihgZcE0wMFxt7S17bIrt4Lw0WwKKFk+viRhvodB/0falyG/5fiO043ZDh6/aqTw==",
       "dev": true,
       "requires": {
-        "chalk": "2.3.0",
-        "findup": "0.1.5",
-        "mkdirp": "0.5.1",
-        "postcss": "6.0.17",
-        "strip-json-comments": "2.0.1"
+        "chalk": "^2.3.0",
+        "findup": "^0.1.5",
+        "mkdirp": "^0.5.1",
+        "postcss": "^6.0.14",
+        "strip-json-comments": "^2.0.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -2495,7 +2355,7 @@
           "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
           "dev": true,
           "requires": {
-            "color-convert": "1.9.1"
+            "color-convert": "^1.9.0"
           }
         },
         "chalk": {
@@ -2504,9 +2364,9 @@
           "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
           "dev": true,
           "requires": {
-            "ansi-styles": "3.2.0",
-            "escape-string-regexp": "1.0.5",
-            "supports-color": "4.5.0"
+            "ansi-styles": "^3.1.0",
+            "escape-string-regexp": "^1.0.5",
+            "supports-color": "^4.0.0"
           }
         },
         "has-flag": {
@@ -2521,9 +2381,9 @@
           "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==",
           "dev": true,
           "requires": {
-            "chalk": "2.3.0",
-            "source-map": "0.6.1",
-            "supports-color": "5.1.0"
+            "chalk": "^2.3.0",
+            "source-map": "^0.6.1",
+            "supports-color": "^5.1.0"
           },
           "dependencies": {
             "supports-color": {
@@ -2532,7 +2392,7 @@
               "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==",
               "dev": true,
               "requires": {
-                "has-flag": "2.0.0"
+                "has-flag": "^2.0.0"
               }
             }
           }
@@ -2555,36 +2415,22 @@
           "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
           "dev": true,
           "requires": {
-            "has-flag": "2.0.0"
+            "has-flag": "^2.0.0"
           }
         }
       }
     },
-    "safe-buffer": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
-      "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
+    "safe-json-parse": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
+      "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
       "dev": true
     },
-    "sass-graph": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
-      "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
-      "dev": true,
-      "requires": {
-        "glob": "7.0.6",
-        "lodash": "4.17.4",
-        "scss-tokenizer": "0.2.3",
-        "yargs": "7.1.0"
-      },
-      "dependencies": {
-        "lodash": {
-          "version": "4.17.4",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
-          "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
-          "dev": true
-        }
-      }
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "dev": true
     },
     "sax": {
       "version": "1.2.4",
@@ -2592,43 +2438,10 @@
       "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
       "dev": true
     },
-    "scss-tokenizer": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
-      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
-      "dev": true,
-      "requires": {
-        "js-base64": "2.4.3",
-        "source-map": "0.4.4"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.4.4",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
-          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
-          "dev": true,
-          "requires": {
-            "amdefine": "1.0.1"
-          }
-        }
-      }
-    },
     "semver": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
-      "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
-      "dev": true
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-immediate-shim": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
-      "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+      "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
       "dev": true
     },
     "shelljs": {
@@ -2643,49 +2456,59 @@
       "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
       "dev": true
     },
-    "sntp": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz",
-      "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==",
-      "dev": true,
-      "requires": {
-        "hoek": "4.2.0"
-      }
-    },
-    "sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+    "simple-swizzle": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
       "dev": true,
       "requires": {
-        "is-plain-obj": "1.1.0"
+        "is-arrayish": "^0.3.1"
+      },
+      "dependencies": {
+        "is-arrayish": {
+          "version": "0.3.2",
+          "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+          "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+          "dev": true
+        }
       }
     },
     "source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
       "dev": true
     },
     "spdx-correct": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
-      "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
       "dev": true,
       "requires": {
-        "spdx-license-ids": "1.2.2"
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
       }
     },
-    "spdx-expression-parse": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
-      "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+    "spdx-exceptions": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
       "dev": true
     },
+    "spdx-expression-parse": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+      "dev": true,
+      "requires": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
     "spdx-license-ids": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
-      "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz",
+      "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==",
       "dev": true
     },
     "sprintf-js": {
@@ -2694,64 +2517,31 @@
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
       "dev": true
     },
-    "sshpk": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
-      "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
-      "dev": true,
-      "requires": {
-        "asn1": "0.2.3",
-        "assert-plus": "1.0.0",
-        "bcrypt-pbkdf": "1.0.1",
-        "dashdash": "1.14.1",
-        "ecc-jsbn": "0.1.1",
-        "getpass": "0.1.7",
-        "jsbn": "0.1.1",
-        "tweetnacl": "0.14.5"
-      }
-    },
-    "statuses": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
-      "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+    "stable": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+      "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
       "dev": true
     },
-    "strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+    "string-template": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+      "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
       "dev": true
     },
-    "string-width": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-      "dev": true,
-      "requires": {
-        "code-point-at": "1.1.0",
-        "is-fullwidth-code-point": "1.0.0",
-        "strip-ansi": "3.0.1"
-      }
-    },
     "string_decoder": {
       "version": "0.10.31",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
       "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
       "dev": true
     },
-    "stringstream": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
-      "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
-      "dev": true
-    },
     "strip-ansi": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
       "dev": true,
       "requires": {
-        "ansi-regex": "2.1.1"
+        "ansi-regex": "^2.0.0"
       }
     },
     "strip-bom": {
@@ -2760,7 +2550,7 @@
       "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
       "dev": true,
       "requires": {
-        "is-utf8": "0.2.1"
+        "is-utf8": "^0.2.0"
       }
     },
     "strip-indent": {
@@ -2769,7 +2559,7 @@
       "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
       "dev": true,
       "requires": {
-        "get-stdin": "4.0.1"
+        "get-stdin": "^4.0.1"
       }
     },
     "strip-json-comments": {
@@ -2778,62 +2568,79 @@
       "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
       "dev": true
     },
-    "supports-color": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
-      "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+    "stylehacks": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.1.tgz",
+      "integrity": "sha512-TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w==",
       "dev": true,
       "requires": {
-        "has-flag": "1.0.0"
+        "browserslist": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-selector-parser": "^3.0.0"
+      },
+      "dependencies": {
+        "postcss-selector-parser": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+          "dev": true,
+          "requires": {
+            "dot-prop": "^4.1.1",
+            "indexes-of": "^1.0.1",
+            "uniq": "^1.0.1"
+          }
+        }
       }
     },
-    "svgo": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
-      "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+    "supports-color": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
       "dev": true,
       "requires": {
-        "coa": "1.0.4",
-        "colors": "1.1.2",
-        "csso": "2.3.2",
-        "js-yaml": "3.7.0",
-        "mkdirp": "0.5.1",
-        "sax": "1.2.4",
-        "whet.extend": "0.9.9"
+        "has-flag": "^3.0.0"
       }
     },
-    "tar": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
-      "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
-      "dev": true,
-      "requires": {
-        "block-stream": "0.0.9",
-        "fstream": "1.0.11",
-        "inherits": "2.0.3"
-      }
+    "svgo": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.1.1.tgz",
+      "integrity": "sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g==",
+      "dev": true,
+      "requires": {
+        "coa": "~2.0.1",
+        "colors": "~1.1.2",
+        "css-select": "^2.0.0",
+        "css-select-base-adapter": "~0.1.0",
+        "css-tree": "1.0.0-alpha.28",
+        "css-url-regex": "^1.1.0",
+        "csso": "^3.5.0",
+        "js-yaml": "^3.12.0",
+        "mkdirp": "~0.5.1",
+        "object.values": "^1.0.4",
+        "sax": "~1.2.4",
+        "stable": "~0.1.6",
+        "unquote": "~1.1.1",
+        "util.promisify": "~1.0.0"
+      }
+    },
+    "timsort": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
+      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
+      "dev": true
     },
     "tiny-lr": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
-      "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
-      "dev": true,
-      "requires": {
-        "body-parser": "1.14.2",
-        "debug": "2.2.0",
-        "faye-websocket": "0.10.0",
-        "livereload-js": "2.3.0",
-        "parseurl": "1.3.2",
-        "qs": "5.1.0"
-      }
-    },
-    "tough-cookie": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
-      "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
+      "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
       "dev": true,
       "requires": {
-        "punycode": "1.4.1"
+        "body": "^5.1.0",
+        "debug": "^3.1.0",
+        "faye-websocket": "~0.10.0",
+        "livereload-js": "^2.3.0",
+        "object-assign": "^4.1.0",
+        "qs": "^6.4.0"
       }
     },
     "trim-newlines": {
@@ -2842,63 +2649,62 @@
       "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
       "dev": true
     },
-    "tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+    "uglify-js": {
+      "version": "3.4.9",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
+      "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
       "dev": true,
       "requires": {
-        "safe-buffer": "5.1.1"
+        "commander": "~2.17.1",
+        "source-map": "~0.6.1"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "2.17.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+          "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        }
       }
     },
-    "tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true,
-      "optional": true
-    },
-    "type-is": {
-      "version": "1.6.15",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
-      "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+    "underscore.string": {
+      "version": "3.3.5",
+      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
+      "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
       "dev": true,
       "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "2.1.17"
+        "sprintf-js": "^1.0.3",
+        "util-deprecate": "^1.0.2"
       }
     },
-    "underscore.string": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
-      "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=",
-      "dev": true
-    },
     "uniq": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
       "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
       "dev": true
     },
-    "uniqid": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
-      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
-      "dev": true,
-      "requires": {
-        "macaddress": "0.2.8"
-      }
-    },
     "uniqs": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
       "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
       "dev": true
     },
-    "unpipe": {
+    "unquote": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+      "dev": true
+    },
+    "uri-path": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+      "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz",
+      "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=",
       "dev": true
     },
     "util-deprecate": {
@@ -2907,47 +2713,40 @@
       "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
       "dev": true
     },
-    "uuid": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
-      "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==",
-      "dev": true
+    "util.promisify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+      "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+      "dev": true,
+      "requires": {
+        "define-properties": "^1.1.2",
+        "object.getownpropertydescriptors": "^2.0.3"
+      }
     },
     "validate-npm-package-license": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
-      "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
       "dev": true,
       "requires": {
-        "spdx-correct": "1.0.2",
-        "spdx-expression-parse": "1.0.4"
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
       }
     },
     "vendors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz",
-      "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=",
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
+      "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==",
       "dev": true
     },
-    "verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "1.3.0"
-      }
-    },
     "websocket-driver": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
       "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
       "dev": true,
       "requires": {
-        "http-parser-js": "0.4.9",
-        "websocket-extensions": "0.1.3"
+        "http-parser-js": ">=0.4.0",
+        "websocket-extensions": ">=0.1.1"
       }
     },
     "websocket-extensions": {
@@ -2956,44 +2755,13 @@
       "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
       "dev": true
     },
-    "whet.extend": {
-      "version": "0.9.9",
-      "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
-      "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
-      "dev": true
-    },
     "which": {
-      "version": "1.2.14",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
-      "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
-      "dev": true,
-      "requires": {
-        "isexe": "2.0.0"
-      }
-    },
-    "which-module": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
-      "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
-      "dev": true
-    },
-    "wide-align": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
-      "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
-      "dev": true,
-      "requires": {
-        "string-width": "1.0.2"
-      }
-    },
-    "wrap-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
       "dev": true,
       "requires": {
-        "string-width": "1.0.2",
-        "strip-ansi": "3.0.1"
+        "isexe": "^2.0.0"
       }
     },
     "wrappy": {
@@ -3002,63 +2770,11 @@
       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
       "dev": true
     },
-    "y18n": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
-      "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+    "xtend": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
       "dev": true
-    },
-    "yallist": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-      "dev": true
-    },
-    "yargs": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
-      "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
-      "dev": true,
-      "requires": {
-        "camelcase": "3.0.0",
-        "cliui": "3.2.0",
-        "decamelize": "1.2.0",
-        "get-caller-file": "1.0.2",
-        "os-locale": "1.4.0",
-        "read-pkg-up": "1.0.1",
-        "require-directory": "2.1.1",
-        "require-main-filename": "1.0.1",
-        "set-blocking": "2.0.0",
-        "string-width": "1.0.2",
-        "which-module": "1.0.0",
-        "y18n": "3.2.1",
-        "yargs-parser": "5.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
-          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
-          "dev": true
-        }
-      }
-    },
-    "yargs-parser": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
-      "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
-      "dev": true,
-      "requires": {
-        "camelcase": "3.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
-          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
-          "dev": true
-        }
-      }
     }
   }
 }
diff --git wordpress.org/public_html/style/package.json wordpress.org/public_html/style/package.json
index 8de4ba318..2ac881c0d 100644
--- wordpress.org/public_html/style/package.json
+++ wordpress.org/public_html/style/package.json
@@ -12,15 +12,14 @@
     "url": "https://meta.svn.wordpress.org/sites/trunk/wordpress.org/public_html/style/"
   },
   "devDependencies": {
-    "autoprefixer": "^6.3.6",
-    "cssnano": "^3.7.4",
-    "grunt": "^1.0.1",
-    "grunt-contrib-jshint": "^1.0.0",
-    "grunt-contrib-watch": "^1.0.0",
-    "grunt-postcss": "^0.8.0",
-    "grunt-rtlcss": "^2.0.1",
-    "grunt-sass": "^1.2.0",
-    "pixrem": "^3.0.2",
-    "es6-promise": "~4.0.5"
+    "autoprefixer": "^9.4.6",
+    "cssnano": "^4.1.8",
+    "es6-promise": "~4.2.5",
+    "grunt": "^1.0.3",
+    "grunt-contrib-jshint": "^2.0.0",
+    "grunt-contrib-uglify": "^4.0.0",
+    "grunt-contrib-watch": "^1.1.0",
+    "grunt-postcss": "^0.9.0",
+    "grunt-rtlcss": "^2.0.1"
   }
 }
diff --git wordpress.org/public_html/style/trac/wp-trac.css wordpress.org/public_html/style/trac/wp-trac.css
index 403322bcd..ae1e4fed6 100644
--- wordpress.org/public_html/style/trac/wp-trac.css
+++ wordpress.org/public_html/style/trac/wp-trac.css
@@ -92,11 +92,6 @@ fieldset {
 	text-decoration: underline;
 }
 
-/* Centers the footer. Trac is missing the final column (social links). */
-#wporg-footer .wrapper {
-	max-width: 773px;
-}
-
 /* More specific overrides of wp4.css */
 .change h3 a,
 h3.change a {
@@ -1997,6 +1992,7 @@ a.mention.me {
 @media (max-width: 770px) {
 	#headline {
 		height: auto;
+		min-height: 62px;
 	}
 	#headline .menu {
 		clear: both;
@@ -2063,6 +2059,8 @@ a.mention.me {
 	#metanav li {
 		float: left;
 	}
+	#metanav.nav li,
+	#metanav.nav form.trac-logout button,
 	#metanav.nav a,
 	#metanav.nav a:hover,
 	#metanav.nav a:active,
diff --git wordpress.org/public_html/style/trac/wp-trac.js wordpress.org/public_html/style/trac/wp-trac.js
index 64263fa05..32a05faa6 100644
--- wordpress.org/public_html/style/trac/wp-trac.js
+++ wordpress.org/public_html/style/trac/wp-trac.js
@@ -12,12 +12,14 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 		'2nd-opinion' : 'A second opinion is desired for the problem or solution.',
 		'close' : 'The ticket is a candidate for closure.',
 		'needs-testing' : 'Patch has a particular need for testing.',
-		'needs-design' : 'Ticket needs design.',
-		'ui-feedback' : 'Feedback is needed from the user interface perspective, generally from the UI team.',
-		'ux-feedback' : 'Feedback is needed from the user experience perspective, generally from a UX lead.',
+		'needs-design' : 'A designer should create a prototype of how the suggested changes should look/behave before writing code.',
+		'needs-design-feedback' : 'A designer should review and give feedback on the proposed changes.',
 		'has-unit-tests' : 'Proposed solution has unit test coverage.',
 		'needs-unit-tests' : 'Ticket has a particular need for unit tests.',
+		'has-dev-note' : 'Ticket with a published post on the development blog.',
 		'needs-dev-note' : 'Ticket needs a post on the development blog.',
+		'has-privacy-review' : 'Input has been given from the core privacy team reviewing the privacy implications of the suggested changes.',
+		'needs-privacy-review' : 'Input is needed from the core privacy team with regards to the privacy implications of the suggested changes.',
 		'needs-docs' : 'Inline documentation is needed.',
 		'needs-codex' : 'The Codex needs to be updated or expanded.',
 		'has-screenshots' : 'Visual changes are documented with screenshots.',
@@ -50,7 +52,7 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 	// phpDocumentor tags, but also a few common @-terms.
 	reservedTerms = [
 		'access', 'author', 'category', 'copyright', 'covers', 'deprecated', 'example',
-		'final', 'filesource', 'home', 'ignore', 'inheritdoc', 'internal', 'global',
+		'final', 'filesource', 'global', 'group', 'home', 'ignore', 'inheritdoc', 'internal',
 		'license', 'link', 'media', 'mention', 'mentions', 'method', 'name', 'notification',
 		'notifications', 'package', 'param', 'private', 'property', 'requires', 'return',
 		'see', 'since', 'static', 'staticvar', 'subpackage', 'term', 'terms', 'ticket',
@@ -77,6 +79,7 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 
 			wpTrac.autocomplete.init();
 			wpTrac.linkMentions();
+			wpTrac.linkGutenbergIssues();
 
 			if ( ! $body.hasClass( 'plugins' ) ) {
 				wpTrac.workflow.init();
@@ -104,12 +107,12 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 			});
 		},
 
-		linkMentions: function() {
+		linkMentions: function( selector ) {
 			// See https://github.com/regexps/mentions-regex/blob/master/index.js#L21
 			var mentionsRegEx = /(^|[^a-zA-Z0-9_＠!@#$%&*])(?:(?:@|＠)(?!\/))([a-zA-Z0-9/_\-.]{1,20})(?:\b(?!@|＠)|$)/g,
 				mentionsInAttrRegEx = new RegExp( '="[^"]*?' + mentionsRegEx.source + '[\\s\\S]*?"' );
 
-			$( 'div.change .comment, #ticket .description' ).each( function() {
+			$( selector || 'div.change .comment, #ticket .description' ).each( function() {
 				var $comment = $( this ).html();
 
 				if ( mentionsRegEx.test( $comment ) ) {
@@ -144,6 +147,45 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 			});
 		},
 
+		linkGutenbergIssues: function( selector ) {
+			var gutenRegEx = /\bGB[-]?(\d+)([^<]*<\/a>)?/gi,
+				gutenInAttrRegEx = new RegExp( '="[^"]*?' + gutenRegEx.source + '[\\s\\S]*?"' );
+
+			$( selector || 'div.change .comment, #ticket .description' ).each( function() {
+				var $comment = $( this ).html();
+
+				if ( gutenRegEx.test( $comment ) ) {
+					var placeholders = [];
+
+					if ( gutenInAttrRegEx.test( $comment ) ) {
+						// Preserve matches in HTML attributes.
+						$comment = $comment.replace( gutenInAttrRegEx, function( match ) {
+							placeholders.push( match );
+							return '__PLACEHOLDER__';
+						} );
+					}
+
+					$comment = $comment.replace( gutenRegEx, function( match, issueNumber, closing_a_present ) {
+						if ( closing_a_present ) {
+							// Already linked
+							return match;
+						}
+
+						return '<a class="gutenberg-issue github ext-link" href="https://github.com/WordPress/Gutenberg/issues/' + issueNumber + '"><span class="icon">&#8203;</span>' + match + '</a>';
+					} );
+
+					// Restore matches in HTML attributes.
+					if ( placeholders.length ) {
+						$comment = $comment.replace( '__PLACEHOLDER__', function() {
+							return placeholders.shift();
+						} );
+					}
+
+					$( this ).html( $comment );
+				}
+			});
+		},
+
 		// These ticket hacks need to be re-run after ticket previews.
 		postPreviewHacks: function() {
 			// Automatically preview images.
@@ -173,6 +215,9 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 						.wrap( '<a href="' + href.replace('/raw-attachment/', '/attachment/') + '" />' );
 				};
 			});
+
+			wpTrac.linkGutenbergIssues( '.ticketdraft .comment' );
+			wpTrac.linkMentions( '.ticketdraft .comment' );
 		},
 
 		hacks: function() {
@@ -764,17 +809,38 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 					// Most recent should show up first.
 					$( $( '.change .username' ).get().reverse() ).each( function() {
 						var username = $(this).data( 'username' );
+
+						// Override the username with the nicename if it differs by more than just case (ie. spaces, etc)
+						if (
+							$(this).data( 'nicename' ) &&
+							username.toLowerCase() != $(this).data( 'nicename' ).toLowerCase() &&
+							wpTrac.currentUser !== username
+						) {
+							username = $(this).data( 'nicename' );
+						}
+
 						if (
 							typeof username !== 'undefined' &&
 							-1 === $.inArray( username, users ) &&
 							-1 === $.inArray( username, exclude )
 						) {
-							users.push( $(this).data( 'username' ) );
+							users.push( username );
 						}
 					});
 
 					// Add ticket reporter.
 					var ticketReporter = $.trim( $( '#ticket td[headers="h_reporter"]' ).text() );
+					var ticketReporterNicename = $( '#ticket td[headers="h_reporter"] a' ).data( 'nicename' );
+					// Override the username with the nicename if it differs by more than just case (ie. spaces, etc)
+					if (
+						ticketReporter &&
+						ticketReporterNicename &&
+						ticketReporter !== wpTrac.currentUser &&
+						ticketReporter.toLowerCase() !== ticketReporterNicename.toLowerCase()
+					) {
+						ticketReporter = ticketReporterNicename;
+					}
+
 					if ( ticketReporter && -1 === $.inArray( ticketReporter, users ) ) {
 						users.push( ticketReporter );
 					}
@@ -1001,6 +1067,18 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 						wpTrac.workflow.removeKeyword( 'has-unit-tests' );
 					}
 
+					if ( 'has-dev-note' === keyword ) {
+						wpTrac.workflow.removeKeyword( 'needs-dev-note' );
+					} else if ( 'needs-dev-note' === keyword ) {
+						wpTrac.workflow.removeKeyword( 'has-dev-note' );
+					}
+
+					if ( 'has-privacy-review' === keyword ) {
+						wpTrac.workflow.removeKeyword( 'needs-privacy-review' );
+					} else if ( 'needs-privacy-review' === keyword ) {
+						wpTrac.workflow.removeKeyword( 'has-privacy-review' );
+					}
+
 					if ( 'has-screenshots' === keyword ) {
 						wpTrac.workflow.removeKeyword( 'needs-screenshots' );
 					} else if ( 'needs-screenshots' === keyword ) {
@@ -1438,6 +1516,11 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 			$.fn.addSelectAllCheckboxes = $.fn.addSelectAllCheckboxes || function() {}
 			$.fn.disableOnSubmit        = $.fn.disableOnSubmit        || function() {}
 			$.fn.disableSubmit          = $.fn.disableSubmit          || function() {}
+		},
+
+		disableTracAutoFocus: function() {
+			// Disable the Trac autofocus which scrolls past the intro to creating tickets.
+			$(".trac-autofocus").removeClass( 'trac-autofocus' );
 		}
 
 	};
@@ -1445,6 +1528,7 @@ var wpTrac, coreKeywordList, gardenerKeywordList, reservedTerms, coreFocusesList
 	$(document).ready( wpTrac.init );
 
 	// Perform this as soon as this file loads.
+	wpTrac.disableTracAutoFocus();
 	wpTrac.patchTracFor122Changes();
 
 })(jQuery);
diff --git wordpress.org/public_html/style/wp4-rtl.css wordpress.org/public_html/style/wp4-rtl.css
index d9df531b7..c71b2d11f 100644
--- wordpress.org/public_html/style/wp4-rtl.css
+++ wordpress.org/public_html/style/wp4-rtl.css
@@ -736,18 +736,12 @@ input[type=submit],
 	cursor: pointer;
 	display: inline-block;
 	font-size: 12.8px;
-	font-size: 12.8px;
-	font-size: 12.8px;
 	font-size: 0.8rem;
 	height: 25px;
-	height: 25px;
-	height: 25px;
 	height: 1.5625rem;
 	line-height: 1;
 	margin: 0;
 	padding: 0 12.8px;
-	padding: 0 12.8px;
-	padding: 0 12.8px;
 	padding: 0 .8rem;
 	text-decoration: none;
 	white-space: nowrap;
@@ -765,18 +759,12 @@ input[type="submit"]::-moz-focus-inner {
 
 .button.button-xl,
 .button-group.button-xl .button {
-	font-size: 16px;
-	font-size: 16px;
 	font-size: 16px;
 	font-size: 1rem;
 	height: 39.062px;
-	height: 39.062px;
-	height: 39.062px;
 	height: 2.44141rem;
 	line-height: 1;
 	padding: 0 24px;
-	padding: 0 24px;
-	padding: 0 24px;
 	padding: 0 1.5rem;
 }
 
@@ -784,32 +772,22 @@ input[type="submit"]::-moz-focus-inner {
 .button-group.button-large .button,
 .col-2 p.button,
 .col-13 p.button {
-	height: 31.25px;
-	height: 31.25px;
 	height: 31.25px;
 	height: 1.95313rem;
 	line-height: 1;
 	padding: 0 16px;
-	padding: 0 16px;
-	padding: 0 16px;
 	padding: 0 1rem;
 }
 
 .button.button-small,
 .block-content span.button,
 .button-group.button-small .button {
-	font-size: 10.24px;
-	font-size: 10.24px;
 	font-size: 10.24px;
 	font-size: 0.64rem;
 	height: 20px;
-	height: 20px;
-	height: 20px;
 	height: 1.25rem;
 	line-height: 1;
 	padding: 0 8px;
-	padding: 0 8px;
-	padding: 0 8px;
 	padding: 0 .5rem;
 }
 
@@ -826,32 +804,24 @@ body.trac #plugin-description .description-right p {
 a.button,
 a.button-primary,
 a.button-secondary {
-	line-height: 25px;
-	line-height: 25px;
 	line-height: 25px;
 	line-height:  1.5625rem;
 }
 
 a.button.button-large,
 .button-group.button-large a.button {
-	line-height: 31.25px;
-	line-height: 31.25px;
 	line-height: 31.25px;
 	line-height: 1.95313rem;
 }
 
 a.button.button-xl,
 .button-group.button-xl a.button {
-	line-height: 39.062px;
-	line-height: 39.062px;
 	line-height: 39.062px;
 	line-height: 2.44141rem;
 }
 
 a.button.button-small,
 .button-group.button-small a.button {
-	line-height: 20px;
-	line-height: 20px;
 	line-height: 20px;
 	line-height: 1.25rem;
 }
@@ -1376,7 +1346,7 @@ body.make-tv #headline h2 a:before { content: '\f235'; }
 body.make-marketing #headline h2 a:before { content: '\f130'; }
 body.make-cli #headline h2 a:before { content: '\f345'; }
 body.make-hosting #headline h2 a:before { content: '\f176'; }
-body.make-tide #headline h2 a:before { content: '\f109'; }
+body.make-tide #headline h2 a:before { content: '\f10d'; }
 
 .make-core .site-title a:before { content: '\f475'; }
 .make-design .site-title a:before { content: '\f309'; }
@@ -1396,7 +1366,7 @@ body.make-tide #headline h2 a:before { content: '\f109'; }
 .make-marketing .site-title a:before { content: '\f130'; }
 .make-cli .site-title a:before { content: '\f345'; }
 .make-hosting .site-title a:before { content: '\f176'; }
-.make-tide .site-title a:before { content: '\f109'; }
+.make-tide .site-title a:before { content: '\f10d'; }
 
 #headline .login {
 	font-size: 12px;
diff --git wordpress.org/public_html/style/wp4.css wordpress.org/public_html/style/wp4.css
index 45a10a9f8..8a92605e6 100644
--- wordpress.org/public_html/style/wp4.css
+++ wordpress.org/public_html/style/wp4.css
@@ -736,18 +736,12 @@ input[type=submit],
 	cursor: pointer;
 	display: inline-block;
 	font-size: 12.8px;
-	font-size: 12.8px;
-	font-size: 12.8px;
 	font-size: 0.8rem;
 	height: 25px;
-	height: 25px;
-	height: 25px;
 	height: 1.5625rem;
 	line-height: 1;
 	margin: 0;
 	padding: 0 12.8px;
-	padding: 0 12.8px;
-	padding: 0 12.8px;
 	padding: 0 .8rem;
 	text-decoration: none;
 	white-space: nowrap;
@@ -765,18 +759,12 @@ input[type="submit"]::-moz-focus-inner {
 
 .button.button-xl,
 .button-group.button-xl .button {
-	font-size: 16px;
-	font-size: 16px;
 	font-size: 16px;
 	font-size: 1rem;
 	height: 39.062px;
-	height: 39.062px;
-	height: 39.062px;
 	height: 2.44141rem;
 	line-height: 1;
 	padding: 0 24px;
-	padding: 0 24px;
-	padding: 0 24px;
 	padding: 0 1.5rem;
 }
 
@@ -784,32 +772,22 @@ input[type="submit"]::-moz-focus-inner {
 .button-group.button-large .button,
 .col-2 p.button,
 .col-13 p.button {
-	height: 31.25px;
-	height: 31.25px;
 	height: 31.25px;
 	height: 1.95313rem;
 	line-height: 1;
 	padding: 0 16px;
-	padding: 0 16px;
-	padding: 0 16px;
 	padding: 0 1rem;
 }
 
 .button.button-small,
 .block-content span.button,
 .button-group.button-small .button {
-	font-size: 10.24px;
-	font-size: 10.24px;
 	font-size: 10.24px;
 	font-size: 0.64rem;
 	height: 20px;
-	height: 20px;
-	height: 20px;
 	height: 1.25rem;
 	line-height: 1;
 	padding: 0 8px;
-	padding: 0 8px;
-	padding: 0 8px;
 	padding: 0 .5rem;
 }
 
@@ -826,32 +804,24 @@ body.trac #plugin-description .description-right p {
 a.button,
 a.button-primary,
 a.button-secondary {
-	line-height: 25px;
-	line-height: 25px;
 	line-height: 25px;
 	line-height:  1.5625rem;
 }
 
 a.button.button-large,
 .button-group.button-large a.button {
-	line-height: 31.25px;
-	line-height: 31.25px;
 	line-height: 31.25px;
 	line-height: 1.95313rem;
 }
 
 a.button.button-xl,
 .button-group.button-xl a.button {
-	line-height: 39.062px;
-	line-height: 39.062px;
 	line-height: 39.062px;
 	line-height: 2.44141rem;
 }
 
 a.button.button-small,
 .button-group.button-small a.button {
-	line-height: 20px;
-	line-height: 20px;
 	line-height: 20px;
 	line-height: 1.25rem;
 }
@@ -1376,7 +1346,7 @@ body.make-tv #headline h2 a:before { content: '\f235'; }
 body.make-marketing #headline h2 a:before { content: '\f130'; }
 body.make-cli #headline h2 a:before { content: '\f345'; }
 body.make-hosting #headline h2 a:before { content: '\f176'; }
-body.make-tide #headline h2 a:before { content: '\f109'; }
+body.make-tide #headline h2 a:before { content: '\f10d'; }
 
 .make-core .site-title a:before { content: '\f475'; }
 .make-design .site-title a:before { content: '\f309'; }
@@ -1396,7 +1366,7 @@ body.make-tide #headline h2 a:before { content: '\f109'; }
 .make-marketing .site-title a:before { content: '\f130'; }
 .make-cli .site-title a:before { content: '\f345'; }
 .make-hosting .site-title a:before { content: '\f176'; }
-.make-tide .site-title a:before { content: '\f109'; }
+.make-tide .site-title a:before { content: '\f10d'; }
 
 #headline .login {
 	font-size: 12px;
@@ -2423,4 +2393,5 @@ body.wporg-responsive .col-2 {
 .notification-danger {
 	background: #f2dede;
 }
+
 /*# sourceMappingURL=wp4.css.map */
\ No newline at end of file
diff --git wordpress.org/public_html/style/wp4.css.map wordpress.org/public_html/style/wp4.css.map
index 81bbc5427..5c34d869d 100644
--- wordpress.org/public_html/style/wp4.css.map
+++ wordpress.org/public_html/style/wp4.css.map
@@ -1 +1 @@
-{"version":3,"sources":["wp4.css"],"names":[],"mappings":"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","file":"wp4.css","sourcesContent":["/* The Reset ---------------------------------- */\nbody,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,\nh6,pre,form,fieldset,input,p,blockquote,table,\nth,td { margin: 0; padding: 0; }\nfieldset,img,abbr { border: 0; }\naddress,caption,cite,code,dfn,h1,h2,h3,\nh4,h5,h6,th,var { font-style: normal; font-weight: normal; }\ncaption,th { text-align: left; }\nq:before,q:after { content: ''; }\na { text-decoration: none; }\n\nhtml {\n\toverflow-y: scroll;\n}\n\nbody {\n\tfont-size: 62.5%;\n\tbackground: #fff;\n\tfont-family: sans-serif;\n\tline-height: 22px;\n\tcolor: #444;\n}\n/* -------------------------------------------- */\n\ncode, pre { font-family: Consolas, Monaco, \"Courier New\", Courier, monospace; color: #000; }\n\na code,\na pre {\n\tcolor: inherit;\n}\n\npre {\n\tbackground: #f3f3f7;\n\tborder: 1px solid #dedee3;\n\tpadding: 11px;\n\tfont-size: 12px;\n\tline-height: 1.3em;\n\tmargin-bottom: 22px;\n\toverflow: auto;\n}\n\npre a { font-weight: normal; }\n\na,\n#wporg-footer ul li a {\n\tcolor: #21759b;\n\ttext-decoration: none;\n\tfont-weight: normal;\n}\n\nstrong a {\n\tfont-weight: bold;\n}\n\na:visited,\n#wporg-footer ul li a:visited {\n\tcolor: #4ca6cf;\n}\n\np a { border-bottom: 1px solid #dfdfdf; }\n\nh3 a { font-weight: bold; }\n\n.button a, .button a:hover, #headline a:not(.button), #headline a:not(.button):hover, #sidebar a:not(.button), #sidebar a:not(.button):hover, .frontpageheatmap a, .frontpageheatmap a:hover, .col-3 a, .col-3 a:hover { border: none !important; }\n\n#headline a.button { display: inline-block; }\n\np a:hover { border-bottom: 1px solid #d54e21; }\n\na:hover { color: #d54e21; }\n\nh2 {\n\tfont-family: \"HelveticaNeue-Light\",\"Helvetica Neue Light\",\"Helvetica Neue\",sans-serif;\n\tfont-weight: 300;\n\tfont-size: 22px;\n}\n\nh2 a {\n\tfont-weight: 300;\n}\n\nstrong {\n\tfont-weight: bold;\n}\n\nem, cite {\n\tfont-style: italic;\n}\n\nsup {\n\tline-height: 1em;\n\tfont-size: 80%;\n}\n\n/* Hide visually but not from screen readers */\n.screen-reader-text {\n\tposition: absolute;\n\tmargin: -1px;\n\tpadding: 0;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tclip: rect(0 0 0 0);\n\tborder: 0;\n\tword-wrap: normal !important;\n}\n\n/* =WordPress Core\n-------------------------------------------------------------- */\n.alignnone {\n\tmargin: 5px 20px 20px 0;\n}\n\n.aligncenter,\ndiv.aligncenter {\n\tdisplay: block;\n\tmargin: 5px auto 5px auto;\n}\n\n.alignright {\n\tfloat:right;\n\tmargin: 5px 0 20px 20px;\n}\n\n.alignleft {\n\tfloat: left;\n\tmargin: 5px 20px 20px 0;\n}\n\n.aligncenter {\n\tdisplay: block;\n\tmargin: 5px auto 5px auto;\n}\n\na img.alignright {\n\tfloat: right;\n\tmargin: 5px 0 20px 20px;\n}\n\na img.alignnone {\n\tmargin: 5px 20px 20px 0;\n}\n\na img.alignleft {\n\tfloat: left;\n\tmargin: 5px 20px 20px 0;\n}\n\na img.aligncenter {\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto\n}\n\n.wp-caption {\n\tbackground: #fff;\n\tborder: 1px solid #f0f0f0;\n\tmax-width: 96%; /* Image does not overflow the content area */\n\tpadding: 5px 3px 10px;\n\ttext-align: center;\n}\n\n.wp-caption.alignnone {\n\tmargin: 5px 20px 20px 0;\n}\n\n.wp-caption.alignleft {\n\tmargin: 5px 20px 20px 0;\n}\n\n.wp-caption.alignright {\n\tmargin: 5px 0 20px 20px;\n}\n\n.wp-caption img {\n\tborder: 0 none;\n\theight: auto;\n\tmargin: 0;\n\tmax-width: 98.5%;\n\tpadding: 0;\n\twidth: auto;\n}\n\n.wp-caption p.wp-caption-text {\n\tfont-size: 11px;\n\tline-height: 17px;\n\tmargin: 0;\n\tpadding: 0 4px 5px;\n}\n\n/* */\n\n.wrapper {\n\tmax-width: 960px;\n\tmargin: 0 auto;\n\tclear: both;\n}\n\n.wrapper img{\n\tmax-width: 100%;\n\theight: auto;\n}\n\n#wporg-header {\n\tposition: relative;\n\theight: 140px;\n\twidth: 100%;\n\tbackground: #23282d;\n\ttext-align: center;\n}\n\n#wporg-header h1 {\n\tdisplay: inline-block;\n\twidth: 303px;\n}\n\n#wporg-header h1 a {\n\tdisplay: block;\n\tbackground: url(//s.w.org/style/images/wporg-logo.svg?3) center left no-repeat;\n\tbackground-size: 290px 46px;\n\theight: 88px;\n\ttext-indent: -9999px;\n}\n\n#wporg-header h2.rosetta {\n\tfont-size: 30px;\n\tcolor: #dfdfdf;\n\tfont-family: Georgia, \"Times New Roman\", serif;\n\tmargin: 0;\n}\n\n#wporg-header h2.rosetta a {\n\tpadding: 0;\n\tdisplay: block;\n\theight: 52px; /* 88 header height - 36 top padding */\n\tcolor: #dfdfdf;\n\tline-height: 22px;\n\tborder-bottom: none;\n}\n\n#head-search {\n\theight: 48px;\n}\n\n#head-search form {\n\twidth: 288px;\n\tdisplay: inline-block;\n\tmargin-left: 60px;\n\tborder-bottom: 1px solid #3f3f3f;\n}\n\n#head-search input.text {\n\tbackground: #191e23;\n\tborder: 0;\n\tmargin-right: 0;\n\tmargin-bottom: 0;\n\twidth: 256px;\n\theight: 24px;\n\tcolor: #b4b9be;\n\tfloat: left;\n\tfont-size: 12px;\n\toutline: none;\n\tfont-family: \"Open Sans\", sans-serif;\n\tborder-radius: 0px;\n}\n\n#head-search input.text::-moz-placeholder {\n\tcolor: #eee;\n}\n\n#head-search .button {\n\tfloat: left;\n\ttext-shadow: none !important;\n\tborder: none;\n\tbox-shadow: none;\n\theight: 30px;\n\twidth: 26px;\n\tbackground: #191e23;\n\tbackground-image: url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831);\n\tbackground-position: 3px 5px;\n\tbackground-repeat: no-repeat;\n\tborder-radius: 0;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n#wporg-header ul#wporg-header-menu {\n\tposition: absolute;\n\tleft: -75%;\n\tmargin: 0;\n\tmin-width: 200px;\n\tmax-width: 75%;\n\tbackground: #23282d;\n\tlist-style: none;\n\ttext-align: left;\n\ttop: 100%;\n\t-webkit-transition: left 0.3s;\n\t-moz-transition: left 0.3s;\n\t-ms-transition: left 0.3s;\n\t-o-transition: left 0.3s;\n\ttransition: left 0.3s;\n\tz-index: 100000;\n}\n\n#wporg-header ul#wporg-header-menu.toggled {\n\tleft: 0;\n}\n\n#wporg-header ul li {\n\tposition:relative;\n\tlist-style-type:none;\n}\n\n#wporg-header ul li a {\n\tfont-family: \"Open Sans\", Helvetica, Arial, \"Liberation Sans\", sans-serif;\n\tfont-weight: 600;\n\tdisplay: block;\n\tline-height: 34px;\n\tpadding: 10px 30px;\n\tmargin: 0 4px;\n\tfont-size: 13px;\n\tcolor: #eee;\n\theight: 34px;\n}\n\n#wporg-header ul li a:hover,\n#wporg-header ul li a.current,\n#wporg-header ul li.current-menu-item a,\n#wporg-header ul li.current_page_parent a {\n\tcolor: #00a0d2;\n}\n\n#wporg-header ul li a.subcurrent {\n\tfont-weight: bold;\n}\n\n#wporg-header .nav-submenu {\n\tclip: rect(1px, 1px, 1px, 1px);\n\theight: 1px;\n\tleft: -2px;\n\tmargin: 0;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n\tz-index: 99999;\n}\n\n#wporg-header ul.nav-submenu li a {\n\theight: 24px;\n\tline-height: 24px;\n\tmargin: 0;\n}\n\n#wporg-header ul li#download {\n\theight: 34px;\n\tpadding: 0 0 34px;\n\tfloat: right;\n\tmargin-right: 14px;\n\toverflow: hidden;\n}\n\n.wporg-page-download #wporg-header #download {\n\tdisplay: none;\n}\n\n#wporg-header ul li#download a {\n\tmargin: 0;\n\tpadding: 0 16px;\n}\n\n#wporg-header ul li#download a.current {\n\tcolor: #eee;\n}\n\n#wporg-header ul li#download a:hover {\n\tcolor: #eee;\n}\n\n@media screen and (max-width:820px) {\n\t#wporg-header ul li#download {\n\t\tdisplay: none;\n\t}\n}\n\n@media screen and (max-width:768px) {\n\t#wporg-header ul li#download {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 10px 20px 20px;\n\t\tpadding-bottom: 0;\n\t\theight: auto;\n\t}\n\t#wporg-header ul li#download a {\n\t\tpadding: 4px 10px;\n\t}\n}\n\n#mobile-menu-button {\n\tbackground: none;\n\tborder: none;\n\tbox-shadow: none;\n\tposition: absolute;\n\ttop: 75px;\n\tleft: 10px;\n\tdisplay: block;\n\tfloat: left;\n\tvertical-align: top;\n\ttext-align: center;\n\ttext-decoration: inherit;\n\tfont-weight: normal;\n\tfont-style: normal;\n\tfont-size: 16px;\n\tfont-family: 'dashicons';\n\tline-height: 1;\n\tpadding: 1px;\n\ttext-shadow: none;\n\t-webkit-transition: color .1s ease-in 0;\n\t-moz-transition: color .1s ease-in 0;\n\ttransition: color .1s ease-in 0;\n\t-webkit-appearance: none;\n\t-webkit-font-smoothing: antialiased;\n}\n\n#mobile-menu-button:before {\n\tdisplay: inline-block;\n\tfloat: left;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tmargin: 0;\n\tpadding: 3px;\n\toutline: none;\n\tborder: none;\n\tcolor: #888;\n\tcontent: '\\f228';\n\tvertical-align: middle;\n\ttext-decoration: none;\n\tfont: normal 50px/1 'Dashicons';\n\t-webkit-font-smoothing: antialiased;\n}\n\n#download-mobile {\n\tbackground: #f7f7f7;\n\tborder-bottom: 1px solid #dddddd;\n}\n\n#download-mobile .wrapper {\n\tpadding: 20px 0;\n\ttext-align: center;\n}\n\n#download-mobile span.download-ready {\n\tfont-size: 1.6em;\n\tmargin: 0 0.25em;\n}\n\n#download-mobile a.download-button {\n\theight: inherit;\n\tpadding: 10px 15px;\n\tfont-size: 1.6em;\n\tmargin: 10px 0.25em;\n}\n\n.wporg-page-nightly .wrapper {\n\tmin-height: 250px;\n}\n\n@media screen and (min-width:480px) {\n\t#head-search form {\n\t\tmargin-left: 0;\n\t}\n}\n\n@media screen and (max-width:480px) {\n\t#head-search form {\n\t\twidth: 248px;\n\t}\n\t#head-search input.text {\n\t\twidth: 216px;\n  }\n}\n\n@media screen and (min-width:769px) {\n\n\t#wporg-header {\n\t\theight: 120px;\n\t\ttext-align: inherit;\n\t}\n\n\t#wporg-header h1 {\n\t\tfloat: left;\n\t\tpadding-left: 10px;\n\t}\n\n\t#head-search {\n\t\tfloat: right;\n\t\tmargin-right: 14px;\n\t\theight: 48px;\n\t\tpadding-top: 30px;\n\t}\n\n\t#head-search form {\n\t\tmargin-left: 0;\n\t}\n\n\t#wporg-header ul#wporg-header-menu {\n\t\tposition: static;\n\t\tfloat:left;\n\t\tmargin: -15px 0 0;\n\t\tpadding: 0;\n\t\tmin-width: 0;\n\t\tmax-width: inherit;\n\t\twidth: 100%;\n\t\tlist-style: none;\n\t}\n\n\t#wporg-header ul li {\n\t\tfloat: left;\n\t\tposition:relative;\n\t}\n\n\t#wporg-header ul li a {\n\t\tpadding: 0 6px;\n\t\theight: 46px;\n\t}\n\n\t#wporg-header ul li#download .uparrow {\n\t\tdisplay:none;\n\t}\n\n\t#wporg-header ul li a.current ~ .uparrow {\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-left: 9px solid transparent;\n\t\tborder-right: 9px solid transparent;\n\t\tborder-bottom: 9px solid #f7f7f7;\n\t\tmargin: -8px auto 0 auto;\n\t}\n\n\t#wporg-header ul li.current-menu-item:after,\n\t#wporg-header ul li.current_page_parent:after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-left: 9px solid transparent;\n\t\tborder-right: 9px solid transparent;\n\t\tborder-bottom: 9px solid #f7f7f7;\n\t\tmargin: -8px 0 0 -9px;\n\t}\n\n\t#wporg-header ul li:hover .nav-submenu ~ .uparrow,\n\t#wporg-header ul li .nav-submenu:hover ~ .uparrow {\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-left: 9px solid transparent;\n\t\tborder-right: 9px solid transparent;\n\t\tborder-bottom: 9px solid #32373c;\n\t\tmargin: -10px auto 0 auto;\n\t}\n\n\t#wporg-header .nav-submenu {\n\t\tbackground: #32373c;\n\t\tborder: #32373c solid 1px;\n\t\tborder-top: 0;\n\t\tmargin-top: -1px;\n\t\tmin-width: 0;\n\t}\n\n\t#wporg-header ul li:hover .nav-submenu,\n\t#wporg-header ul li .nav-submenu:hover  {\n\t\tdisplay:block!important;/* Prevents #wporg-header ul overwriting this */\n\t\tposition:absolute;\n\t\ttop:46px;\n\t\tleft:0;\n\t\tz-index:101;\n\t\tmargin-left:0;\n\t\twidth:auto;\n\t}\n\n\t#wporg-header ul li .nav-submenu li {\n\t\tfloat: none;\n\t}\n\n\t#wporg-header ul.nav-submenu li a {\n\t\theight: 34px;\n\t\tline-height: 34px;\n\t}\n\n\t#wporg-header ul.nav-menu li:hover > ul,\n\t#wporg-header .nav-menu ul li:hover > ul,\n\t#wporg-header ul.nav-menu .focus > ul,\n\t#wporg-header .nav-menu .focus > ul {\n\t\tclip: inherit;\n\t\theight: inherit;\n\t\toverflow: inherit;\n\t\twidth: inherit;\n\t}\n\n\t#headline h2 {\n\t\ttext-rendering: optimizeLegibility;\n\t}\n\n\t#mobile-menu-button {\n\t\tdisplay: none;\n\t}\n\n\t#wporg-header h2.rosetta {\n\t\tpadding: 36px 27px 0;\n\t\tfloat: left;\n\t}\n}\n\n@media screen and (max-width:960px) {\n\t#home-welcome {\n\t\tmin-width: 0 !important;\n\t}\n\n\t#home-welcome .wrapper {\n\t\tmax-width: 100%;\n\t\tmargin: 0;\n\t}\n\n\t#home-text {\n\t\twidth: 100%;\n\t\tfloat: right;\n\t\tmargin: -10px;\n\t}\n\n\n\t#home-below .wrapper .col-2, #home-below .wrapper .col-4 {\n\t\tmax-width: 100%;\n\t}\n\n\t#home-below {\n\t\tmax-width: 100%;\n\t\twidth: auto;\n\t}\n}\n\n@media screen and (min-width:821px) {\n\t#download-mobile {\n\t\tdisplay: none;\n\t}\n}\n\n#home-welcome {\n\tbackground: #f7f7f7;\n\tmin-width: 960px;\n\tmin-height: 340px;\n\tborder-bottom: 1px solid #dfdfdf;\n}\n\n#home-welcome img.screenshot {\n\tmargin-top: 22px;\n\tmargin-right: 28px;\n\tfloat: left;\n}\n\n#home-welcome p {\n\tfont-size: 13px;\n\tpadding: 11px 0;\n\tmargin-right: 14px;\n}\n\n#home-welcome p.intro {\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n\tpadding-top: 34px;\n\tfont-size: 17px;\n\tline-height: 1.5em;\n}\n\n#home-welcome p.intro strong {\n\tfont-weight: normal;\n}\n\np.intro a {\n\tfont-weight: normal;\n}\n\n/* WordPress-style Buttons\n=======================\nCreate a button by adding the `.button` class to an element. For backwards\ncompatibility, we support several other classes (such as `.button-secondary`),\nbut these will *not* work with the stackable classes described below.\n\nButton Styles\n-------------\nTo display a primary button style, add the `.button-primary` class to a button.\n\nButton Sizes\n------------\nAdjust a button's size by adding the `.button-large` or `.button-small` class.\n\nButton States\n-------------\nLock the state of a button by adding the name of the pseudoclass as\nan actual class (e.g. `.hover` for `:hover`).\n\n\nTABLE OF CONTENTS:\n------------------\n 1.0 - Button Layouts\n 2.0 - Default Button Style\n 3.0 - Primary Button Style\n 4.0 - Button Groups\n 5.0 - Responsive Button Styles\n\n---------------------------------------------------------------------------- */\n/* ----------------------------------------------------------------------------\n  1.0 - Button Layouts\n---------------------------------------------------------------------------- */\n.submit input,\ninput[type=button],\ninput[type=submit],\n.button,\n.button-primary,\n.download-button,\n.button-secondary {\n\tborder: 1px solid;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing:    border-box;\n\tbox-sizing:         border-box;\n\tcursor: pointer;\n\tdisplay: inline-block;\n\tfont-size: 0.8rem;\n\theight: 1.5625rem;\n\tline-height: 1;\n\tmargin: 0;\n\tpadding: 0 .8rem;\n\ttext-decoration: none;\n\twhite-space: nowrap;\n\t-webkit-appearance: none;\n}\n\n/* Remove the dotted border on :focus and the extra padding in Firefox */\nbutton::-moz-focus-inner,\ninput[type=\"reset\"]::-moz-focus-inner,\ninput[type=\"button\"]::-moz-focus-inner,\ninput[type=\"submit\"]::-moz-focus-inner {\n\tborder: 0 none;\n\tpadding: 0;\n}\n\n.button.button-xl,\n.button-group.button-xl .button {\n\tfont-size: 1rem;\n\theight: 2.44141rem;\n\tline-height: 1;\n\tpadding: 0 1.5rem;\n}\n\n.button.button-large,\n.button-group.button-large .button,\n.col-2 p.button,\n.col-13 p.button {\n\theight: 1.95313rem;\n\tline-height: 1;\n\tpadding: 0 1rem;\n}\n\n.button.button-small,\n.block-content span.button,\n.button-group.button-small .button {\n\tfont-size: 0.64rem;\n\theight: 1.25rem;\n\tline-height: 1;\n\tpadding: 0 .5rem;\n}\n\n.button.button-hero,\n.button-group.button-hero .button,\n#plugin-description p.button, .col-3 p.button,\nbody.trac #plugin-description .description-right p {\n\tfont-size: 14px;\n\theight: 46px;\n\tline-height: 44px;\n\tpadding: 0 36px;\n}\n\na.button,\na.button-primary,\na.button-secondary {\n\tline-height:  1.5625rem;\n}\n\na.button.button-large,\n.button-group.button-large a.button {\n\tline-height: 1.95313rem;\n}\n\na.button.button-xl,\n.button-group.button-xl a.button {\n\tline-height: 2.44141rem;\n}\n\na.button.button-small,\n.button-group.button-small a.button {\n\tline-height: 1.25rem;\n}\n\n.button:active,\n.button:focus {\n\toutline: none;\n}\n\n.button.hidden {\n\tdisplay: none;\n}\n\n/* Style Reset buttons as simple text links */\ninput[type=\"reset\"],\ninput[type=\"reset\"]:hover,\ninput[type=\"reset\"]:active,\ninput[type=\"reset\"]:focus {\n\tbackground: none;\n\tborder: none;\n\t-webkit-box-shadow: none;\n\tbox-shadow:         none;\n\tpadding: 0 2px 1px;\n\twidth: auto;\n}\n\n/* ----------------------------------------------------------------------------\n  2.0 - Default Button Style\n---------------------------------------------------------------------------- */\n.submit input,\ninput[type=button],\ninput[type=submit],\n.button,\n.button:visited,\n.button-secondary {\n\tbackground: #f7f7f7;\n\tborder-color: #cccccc;\n\t-webkit-box-shadow: 0 1px 0 #cccccc;\n\tbox-shadow:         0 1px 0 #cccccc;\n\tcolor: #555;\n\tvertical-align: top;\n}\n\np .button {\n\tvertical-align: baseline;\n}\n\n.submit input:hover,\ninput[type=button]:hover,\ninput[type=submit]:hover,\n.submit input:focus,\ninput[type=button]:focus,\ninput[type=submit]:focus,\n.button.hover,\n.button:hover,\n.button-secondary:hover,\n.button.focus,\n.button:focus,\n.button-secondary:focus {\n\tbackground: #fafafa;\n\tborder-color: #999;\n\tcolor: #23282d;\n}\n\n.submit input:focus,\ninput[type=button]:focus,\ninput[type=submit]:focus,\n.button.focus,\n.button:focus,\n.button-secondary:focus,\n.button-link:focus {\n\tborder-color: #5b9dd9;\n\t-webkit-box-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\n\tbox-shadow:         0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.submit input:active,\ninput[type=button]:active,\ninput[type=submit]:active,\n.button.active,\n.button.active:hover,\n.button.active:focus,\n.button:active,\n.button-secondary:active {\n\tbackground: #eee;\n\tborder-color: #999;\n\t-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);\n\tbox-shadow:         inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);\n\t-webkit-transform: translateY(1px);\n\t-ms-transform:     translateY(1px);\n\ttransform:         translateY(1px);\n}\n\n.button.active:focus {\n\tborder-color: #5b9dd9;\n\t-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 3px rgba(0, 115, 170, 0.8);\n\tbox-shadow:         inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.submit input:disabled,\ninput[type=button]:disabled,\ninput[type=submit]:disabled,\n.button[disabled],\n.button:disabled,\n.button.disabled,\n.button-secondary[disabled],\n.button-secondary:disabled,\n.button-secondary.disabled,\n.button-disabled {\n\tbackground: #f7f7f7 !important;\n\tborder-color: #ddd !important;\n\t-webkit-box-shadow: none !important;\n\tbox-shadow:         none !important;\n\tcolor: #a0a5aa !important;\n\tcursor: default;\n\ttext-shadow: 0 1px 0 #fff !important;\n\t-webkit-transform: none !important;\n\t-ms-transform:     none !important;\n\ttransform:         none !important;\n}\n\n/* Buttons that look like links, for a cross of good semantics with the visual */\n.button-link {\n\tbackground: none;\n\tborder: 0;\n\t-webkit-border-radius: 0;\n\tborder-radius:         0;\n\t-webkit-box-shadow: none;\n\tbox-shadow:         none;\n\tcursor: pointer;\n\tmargin: 0;\n\toutline: none;\n\tpadding: 0;\n}\n\n.button-link:focus {\n\toutline: #5b9dd9 solid 1px;\n}\n\n/* ----------------------------------------------------------------------------\n  3.0 - Primary Button Style\n---------------------------------------------------------------------------- */\n.button-primary,\n.download-button,\n.button-primary:visited,\n.download-button:visited {\n\tbackground: #0085ba;\n\tborder-color: #0073aa #006799 #006799;\n\t-webkit-box-shadow: 0 1px 0 #006799;\n\tbox-shadow:         0 1px 0 #006799;\n\tcolor: #fff;\n\ttext-decoration: none;\n\ttext-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.button-primary.hover,\n.button-primary:hover,\n.button-primary.focus,\n.button-primary:focus,\n.download-button.hover,\n.download-button:hover,\n.download-button.focus,\n.download-button:focus {\n\tbackground: #008ec2;\n\tborder-color: #006799;\n\tcolor: #fff;\n}\n\n.button-primary.focus,\n.button-primary:focus,\n.download-button.focus,\n.download-button:focus {\n\t-webkit-box-shadow: 0 1px 0 #0073aa, 0 0 2px 1px #33b3db;\n\tbox-shadow:         0 1px 0 #0073aa, 0 0 2px 1px #33b3db;\n}\n\n.button-primary.active,\n.button-primary.active:hover,\n.button-primary.active:focus,\n.button-primary:active,\n.download-button.active,\n.download-button.active:hover,\n.download-button.active:focus,\n.download-button:active {\n\tbackground: #0073aa;\n\tborder-color: #006799;\n\t-webkit-box-shadow: inset 0 2px 0 #006799;\n\tbox-shadow:         inset 0 2px 0 #006799;\n\tvertical-align: top;\n}\n\n.button-primary[disabled],\n.button-primary:disabled,\n.button-primary-disabled,\n.download-button[disabled],\n.download-button:disabled,\n.download-button-disabled {\n\tbackground: #008ec2 !important;\n\tborder-color: #007cb2 !important;\n\t-webkit-box-shadow: none !important;\n\tbox-shadow:         none !important;\n\tcolor: #66c6e4 !important;\n\tcursor: default;\n\ttext-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) !important;\n}\n\n/* ----------------------------------------------------------------------------\n  4.0 - Button Groups\n---------------------------------------------------------------------------- */\n.button-group {\n\tdisplay: inline-block;\n\tfont-size: 0;\n\tposition: relative;\n\tvertical-align: middle;\n\twhite-space: nowrap;\n}\n\n.button-group > .button {\n\t-webkit-border-radius: 0;\n\tborder-radius: 0;\n\tdisplay: inline-block;\n\tmargin-right: -1px;\n\tz-index: 10;\n}\n\n.button-group > .button-primary {\n\tz-index: 100;\n}\n\n.button-group > .button:hover {\n\tz-index: 20;\n}\n\n.button-group > .button:first-child {\n\t-webkit-border-radius: 3px 0 0 3px;\n\tborder-radius:         3px 0 0 3px;\n}\n\n.button-group > .button:last-child {\n\t-webkit-border-radius: 0 3px 3px 0;\n\tborder-radius:         0 3px 3px 0;\n}\n\n.button-group > .button:focus {\n\tposition: relative;\n\tz-index: 1;\n}\n\n/* ----------------------------------------------------------------------------\n  5.0 - Responsive Button Styles\n---------------------------------------------------------------------------- */\n@media screen and (max-width: 782px) {\n\t.button,\n\t.button.button-xl,\n\t.button.button-large,\n\t.button.button-small {\n\t\tfont-size: 14px;\n\t\theight: auto;\n\t\tline-height: normal;\n\t\tmargin-bottom: 4px;\n\t\tpadding: 6px 14px;\n\t\tvertical-align: middle;\n\t}\n}\n\n\n/* */\n\nbody #ed_toolbar input {\n\tpadding: 0 10px 1px;\n}\n\nbody #ed_toolbar #ed_pre {\n\tfont-family: sans-serif;\n}\n\n.col-3 a.download-button {\n\tdisplay: block;\n\ttext-align: center;\n}\n\n.download-meta {\n\ttext-align: center !important;\n\tfont-size: 12px;\n\tmargin-bottom: 0 !important;\n}\n\n\n/* */\n\n#home-welcome .download-button {\n\tmargin-left: 6px;\n}\n\n.col-3 ul {\n\tmargin-left: 16px;\n\tlist-style: square;\n\tmargin-bottom: 22px;\n}\n\n.col-3 p {\n\tmargin-bottom: 22px;\n}\n\n.download-tar {\n\tfont-size: 12px;\n\ttext-align: center;\n\tmargin-bottom: 14px !important;\n}\n\n#home-below {\n\tfont-size: 13px;\n\twidth: 960px;\n\tmargin: 0 auto;\n}\n\n#home-below .image img {\n\tborder: 1px solid #dadada;\n}\n\n#home-below .wrapper {\n\tfloat: left;\n\tmargin-bottom: 14px;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {\n\tfloat: left;\n\tmargin: 0 14px;\n}\n\n.col-1 { width: 52px; }\n.col-2 { width: 132px; }\n.col-3 { width: 212px; }\n.col-4 { width: 292px; }\n.col-5 { width: 372px; }\n.col-6 { width: 452px; }\n.col-7 { width: 532px; }\n.col-8 { width: 612px; }\n.col-9 { width: 692px; }\n.col-10 { width: 772px; }\n.col-11 { width: 852px; }\n.col-12 { width: 932px; }\n\n.col-9 h2 {\n\tmargin: 6px 0;\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n}\n\n.col-9 .entry {\n\tborder-bottom: 1px solid #dfdfdf;\n\tmargin-bottom: 30px;\n}\n\nh3 {\n\tfont-size: 14px;\n\tcolor: #23282d;\n\tfont-weight:bold;\n\tmargin: -1px 0 1px 0;\n}\n\nh4, h3.head {\n\tfont-weight: bold;\n\tfont-size: 14px;\n\tborder-bottom: 1px solid #dedede;\n\tpadding-bottom: 4px;\n\tcolor: #23282d;\n\tmargin-bottom: 18px;\n}\n\nh5 {\n\tfont-weight: bold;\n\tfont-size: 1em;\n\tmargin-bottom: 12px;\n}\n\n#home-below h4 {\n\tmargin-top: 28px;\n\tmargin-bottom: 16px;\n}\n\n#home-below h4 a {\n\tfont-weight: bold;\n}\n\n#home-below h5 {\n\tmargin-bottom: 0;\n}\n\n#home-below img.book {\n\tmargin-top: -17px;\n\tmargin-bottom: 6px;\n}\n\n#home-below a {\n\tfont-size: 14px;\n}\n\n#home-below ol.steps {\n\tmargin-top: -4px;\n}\n\n#home-below ol.steps li {\n\tpadding-left: 44px;\n\tpadding-top: 4px;\n\tmargin-bottom: 17px;\n\tposition: relative;\n}\n\n#home-below ol.steps li span {\n\tcontent: '';\n\twidth: 31px;\n\theight: 31px;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbackground-image: url(//s.w.org/style/images/steps.png);\n\tbackground-size: 93px 31px;\n\tbackground-repeat: no-repeat;\n}\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n       only screen and (min-resolution: 1.5dppx),\n       only screen and (min-resolution: 144dpi) {\n\t#home-below ol.steps li span {\n\t\tbackground-image: url(//s.w.org/style/images/steps-2x.png);\n\t}\n}\n\n#home-below ol.steps li.one span {\n\tbackground-position: 0 0;\n}\n\n#home-below ol.steps li.two span {\n\tbackground-position: -31px 0;\n}\n\n#home-below ol.steps li.three span {\n\tbackground-position: -62px 0;\n}\n\nul#notable-users {\n\tlist-style: none;\n}\n\np#showcase-link a {\n\tfont-size: 0.9em;\n\tborder: none;\n}\n\nol.steps {\n\tlist-style: none;\n}\n\nul#notable-users li a {\n\tdisplay: block;\n\twidth: 130px;\n\theight: 59px;\n\tmargin-bottom: 8px;\n\tborder-top: 1px solid #f5f5f5;\n\tborder-left: 1px solid #f5f5f5;\n\tborder-right: 1px solid #dedede;\n\tborder-bottom: 1px solid #dedede;\n}\n\nul#notable-users li a:active {\n\tborder-top: 1px solid #dedede;\n\tborder-left: 1px solid #dedede;\n\tborder-right: 1px solid #f5f5f5;\n\tborder-bottom: 1px solid #f5f5f5;\n}\n\ninput.text {\n\tmargin-right: 2px;\n\tfont-size: 12px;\n\tpadding: 3px;\n\tbackground: #f5f5f5;\n\tborder: 1px solid #ccc;\n\theight: 16px;\n\tvertical-align: top;\n\tcolor: #666;\n\tfont-family: sans-serif;\n}\n\n#headline {\n\theight: 62px;\n\tbackground: #f7f7f7;\n\tborder-bottom: 1px solid #dfdfdf;\n}\n\n#headline h2 {\n\tcolor: #555;\n\tfont-size: 28px;\n\tline-height: 1em;\n\ttext-shadow: #fff 0px 1px 0px;\n\tpadding-top: 18px;\n\tpadding-left: 9px;\n\tfloat: left;\n}\n\n.wporg-make .site-title a:before,\nbody.wporg-make #headline h2 a:before {\n\t-webkit-font-smoothing: antialiased;\n\tdisplay: inline-block;\n\tfont: normal 28px/1 'dashicons';\n\tvertical-align: top;\n\twidth: 36px;\n}\nbody.make-core #headline h2 a:before { content: '\\f475'; }\nbody.make-design #headline h2 a:before { content: '\\f309'; }\nbody.make-mobile #headline h2 a:before { content: '\\f470'; }\nbody.make-accessibility #headline h2 a:before { content: '\\f483'; }\nbody.make-polyglots #headline h2 a:before { content: '\\f326'; }\nbody.make-support #headline h2 a:before { content: '\\f125'; }\nbody.make-themes #headline h2 a:before { content: '\\f100'; }\nbody.make-plugins #headline h2 a:before { content: '\\f106'; }\nbody.make-docs #headline h2 a:before { content: '\\f105'; }\nbody.make-community #headline h2 a:before { content: '\\f307'; }\nbody.make-meta #headline h2 a:before { content: '\\f325'; }\nbody.make-training #headline h2 a:before { content: '\\f118'; }\nbody.make-flow #headline h2 a:before { content: '\\f115'; }\nbody.make-tv #headline h2 a:before { content: '\\f235'; }\nbody.make-marketing #headline h2 a:before { content: '\\f130'; }\nbody.make-cli #headline h2 a:before { content: '\\f345'; }\nbody.make-hosting #headline h2 a:before { content: '\\f176'; }\n\n.make-core .site-title a:before { content: '\\f475'; }\n.make-design .site-title a:before { content: '\\f309'; }\n.make-mobile .site-title a:before { content: '\\f470'; }\n.make-accessibility .site-title a:before { content: '\\f483'; }\n.make-polyglots .site-title a:before { content: '\\f326'; }\n.make-support .site-title a:before { content: '\\f125'; }\n.make-themes .site-title a:before { content: '\\f100'; }\n.make-plugins .site-title a:before { content: '\\f106'; }\n.make-docs .site-title a:before { content: '\\f105'; }\n.make-community .site-title a:before { content: '\\f307'; }\n.make-meta .site-title a:before { content: '\\f325'; }\n.make-training .site-title a:before { content: '\\f118'; }\n.make-systems .site-title a:before { content: '\\f107'; }\n.make-flow .site-title a:before { content: '\\f115'; }\n.make-tv .site-title a:before { content: '\\f235'; }\n.make-marketing .site-title a:before { content: '\\f130'; }\n.make-cli .site-title a:before { content: '\\f345'; }\n.make-hosting .site-title a:before { content: '\\f176'; }\n\n#headline .login {\n\tfont-size: 12px;\n\tposition: relative;\n\tfloat: right;\n\tpadding-top: 22px;\n\tmargin-right: 15px;\n}\n\n#headline .login a {\n\tcolor: #21759b;\n}\n\n#headline .login a:visited {\n\tcolor: #4ca6cf;\n}\n\n#headline input.text {\n\tbackground: #fff;\n\tborder: 1px solid #c6d9e9;\n}\n\n#pages {float:right;}\n\n#pagebody .submenu, #pagebody #submenu {\n\tmargin-left: 0;\n\tmargin-top: -2px;\n\tfont-size: 10px;\n\tlist-style: none;\n}\n\n#pagebody .submenu a#subcurrent, #pagebody #submenu a#subcurrent {\n\tcolor: #23282d;\n\tcursor: default;\n}\n\np.person {\n\tpadding-bottom: 10px;\n\tborder-bottom: 1px solid #dadada;\n\tmargin-bottom: 11px;\n}\n\n#pagebody .submenu li {\n\tborder-bottom: 1px solid #dedede;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tpadding: 5px 0;\n}\n\n#pagebody .submenu li a {\n\twidth: 100%;\n\tdisplay: block;\n}\n\n#pagebody .submenu li.current {\n\tbackground: url(//s.w.org/style/images/arrow.png) center left no-repeat;\n\tfont-weight: bold;\n}\n\n#pagebody .submenu li:last-child {\n\tborder-bottom: 0;\n}\n\n#pagebody .submenu li ul {\n\tmargin-top: 0 !important;\n\tmargin-left: 16px !important;\n}\n\n#pagebody .submenu li ul li {\n\tborder: none;\n\tline-height: 1.4em;\n\tpadding-bottom: 2px;\n}\n\n#pagebody {\n\tfont-size: 13px;\n\tmargin-top: 29px;\n\tmargin-bottom: 22px;\n}\n\n#pagebody p, #pagebody ol, #pagebody ul {\n\tmargin: 0 0 22px 0;\n}\n\n#pagebody ul {\n\tmargin-left: 16px;\n\tlist-style: square;\n}\n\n#pagebody .submenu ul {\n\tmargin-bottom: 0;\n}\n\na.rsslink {\n\tbackground:url(//s.w.org/style/images/feedicon10.png) top left no-repeat;\n\tpadding-left: 14px;\n}\n\n#pagebody ol {\n\tmargin-left: 22px;\n}\n\n#pagebody ol.screenshots {\n\tlist-style: none;\n}\n\n#pagebody p.intro {\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n\tcolor: #555;\n\tfont-size: 15px;\n\tline-height: 1.6em;\n\tmargin-top: -1px;\n\tmargin-bottom: 23px;\n}\n\n#pagebody p.intro a {\n\tfont-weight: normal;\n}\n\n.feed {\n\tbackground: url(//s.w.org/style/images/feedicon.png) center left no-repeat;\n\tpadding-left: 19px;\n}\n\n#wporg-footer {\n\tclear: both;\n\toverflow: auto;\n\tmargin: 0 auto;\n\tpadding: 22px 14px 65px 14px;\n\tborder-top: 1px solid #dfdfdf;\n\tbackground-color: #f7f7f7;\n}\n\n#wporg-footer .wrapper {\n\toverflow: auto;\n\tmax-width: 932px;\n}\n\n#wporg-footer ul {\n\tfloat: left;\n\toverflow: auto;\n\twidth: 135px;\n\tmargin-left: 24px;\n\tmargin-bottom: 20px; /* for narrow screens */\n\tpadding-left: 0; /* override other generic styles */\n}\n\n@media screen and (min-width:960px) {\n\t#wporg-footer ul:first-child {\n\t\tmargin-left: 0;\n\t}\n}\n\n@media screen and (min-width:561px) and (max-width:959px) {\n\t#wporg-footer .wrapper {\n\t\tmax-width: 600px;\n\t}\n\n\t#wporg-footer ul:nth-child(3n+1) {\n\t\tmargin-left: 0;\n\t}\n\n\t#wporg-footer ul:nth-child(4n) {\n\t\tclear: both;\n\t}\n\n\t#wporg-footer ul {\n\t\tmargin-left: 2%;\n\t\twidth: 32%;\n\t}\n}\n\n@media screen and (max-width:560px) {\n\t#wporg-footer .wrapper {\n\t\tmax-width: 360px;\n\t}\n\n\t#wporg-footer ul:nth-child(2n+1) {\n\t\tmargin-left: 0;\n\t}\n\n\t#wporg-footer ul:nth-child(odd) {\n\t\tclear: both;\n\t}\n\n\t#wporg-footer ul {\n\t\tmargin-left: 4%;\n\t\twidth: 48%;\n\t}\n}\n\n#wporg-footer ul li {\n\tfont-size: 14px;\n\tmargin-bottom: 1px;\n\tcolor: #bbb;\n\tlist-style-type: none;\n}\n\n#wporg-footer ul li a {\n\tborder: none;\n}\n\n#wporg-footer .cip {\n\tclear: both;\n\tfloat: none;\n\ttext-align: center;\n\tmargin: 35px auto 0 auto;\n\tfont-size: 16px;\n\tletter-spacing: 0.3em;\n\ttext-transform: uppercase;\n\tcolor: #cccccc;\n}\n\n#wporg-footer .cip-image {\n\tbackground: url(//s.w.org/style/images/codeispoetry.png?1) center center no-repeat;\n\tbackground-size: 190px 15px;\n\twidth: 190px;\n\theight: 15px;\n\ttext-indent: -9999px;\n}\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n       only screen and (min-resolution: 1.5dppx),\n\t   only screen and (min-resolution: 144dpi) {\n\t#wporg-footer .cip-image {\n\t\tbackground-image: url(//s.w.org/style/images/codeispoetry-2x.png?1);\n\t}\n}\n\nblockquote {\n\tbackground: #f5f5f5;\n\tborder: 1px solid #dadada;\n\tpadding: 22px 22px 0;\n\tmargin-bottom: 22px;\n}\n\n.wporg-page-about-books #pagebody h2 {\n\tmargin-bottom: 1em;\n}\n\n#pagebody ul.books, ul#otherbooks {\n\tlist-style: none;\n\tmargin: 0;\n}\n\n#pagebody .books .image, #otherbooks .image {\n\twidth: 200px;\n\tdisplay: block;\n\tfloat: left;\n\ttext-align: center;\n\tmargin: 18px;\n\tborder-right: 1px solid #dadada;\n}\n\n#pagebody .books img, #otherbooks img {\n\tborder: 1px solid #dadada;\n}\n\n#pagebody .books.mobile img {\n\tborder:none;\n}\n\n#pagebody .books li, #otherbooks li {\n\tbackground: #f5f5f5;\n\tborder: 1px solid #dadada;\n\tborder-right-color: #eee;\n\tborder-bottom-color: #e0e0e0;\n\tmargin-bottom: 22px;\n\tclear: both;\n\tfloat: left;\n\twidth: 100%;\n}\n\n#pagebody .books h3, #otherbooks h3 {\n\tmargin: 18px 0 5px 0;\n\tfont: 21px Georgia, Times, \"Times New Roman\", serif;\n}\n\n#otherbooks h3, #otherbooks p {\n\tmargin-left:20px;\n}\n\n#otherbooks h3 {\n\tfont-size:18px;\n}\n\n#pagebody .books p, #otherbooks p {\n\tpadding-right: 22px;\n\tpadding-left: 22px;\n\tmargin-bottom: 7px;\n\tline-height: 1.4em;\n}\n\n#pagebody .books .author, #otherbooks .author {\n\tfont: italic 15px Georgia, Times, \"Times New Roman\", serif;\n\tmargin-bottom: 11px;\n\tcolor: #888;\n}\n\n#pagebody .books .published, #otherbooks .published {\n\tfont-size: 11px;\n\ttext-transform: uppercase;\n\tletter-spacing: 0.2em;\n\tcolor: #888;\n}\n\n#pagebody .books h3 a, #otherbooks h3 a {\n\tfont-weight: normal;\n}\n\n.features .col-5 li {\n\tmargin-bottom:15px;\n}\n\n.alt { background: #f2f2f2; }\n\n.featured {\n\tbackground: #fffbcc;\n\tborder: 1px solid #e6db55;\n\tpadding: 11px 11px 16px;\n\tmargin: 32px 0;\n\toverflow: auto;\n\t/*width: 670px;*/\n}\n\n.wporg-page-hosting #pagebody .partner .forum {\n\tmargin: 0;\n}\n\n.partner {\n\tclear: both;\n\tmin-height: 100px;\n\tmargin: 40px 10px 40px 0;\n\tpadding-left: 120px;\n\tposition: relative;\n}\n\n.partner p {\n\tmargin-bottom: 10px;\n}\n\n.partner img {\n\tmargin-left: 10px;\n\tposition: absolute;\n\ttop: 0;\n\tleft: -10px;\n}\n@media (max-width: 359px) {\n\t.partner {\n\t\tmargin-right: 15px;\n\t\tpadding-left: 15px;\n\t}\n\t.partner img {\n\t\tfloat: right;\n\t\tposition: relative;\n\t}\n}\n\n.submit {\n\tborder-top: 1px solid #ccc;\n\tpadding: 1.5em 0 0 0;\n\tmargin: 10px 0 0 0;\n\t-moz-border-radius-bottomleft: 3px;\n\t-khtml-border-bottom-left-radius: 3px;\n\t-webkit-border-bottom-left-radius: 3px;\n\tborder-bottom-left-radius: 3px;\n\t-moz-border-radius-bottomright: 3px;\n\t-khtml-border-bottom-right-radius: 3px;\n\t-webkit-border-bottom-right-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n#pagebody table.widefat {\n\tborder-collapse: collapse;\n\twidth: 100%;\n\tclear: both;\n\tmargin-bottom: 11px;\n}\n\n#pagebody table.widefat a {\n\ttext-decoration: none;\n}\n\n#pagebody table.widefat tr.alt {\n\tbackground-color: #f2f2f2;\n}\n\n#pagebody table.widefat tbody.hover {\n\tcursor: pointer;\n}\n\n#pagebody table.widefat tbody tr.hover,\n#pagebody table.widefat tbody tr:hover {\n\tbackground-color: #ddd;\n}\n#pagebody table.widefat tbody tr.hover a,\n#pagebody table.widefat tbody a:hover {\n\tcolor: #d54e21;\n}\n\n#pagebody table.widefat td, #pagebody table.widefat th {\n\tfont-size: 13px;\n\tpadding: 6px;\n\tvertical-align: text-top;\n}\n\n#pagebody table.widefat thead {\n\tbackground-color: #cfcfcf;\n\tcolor: #000;\n\tfont-weight: bold;\n}\n\n#pagebody table.widefat th {\n\tpadding-bottom: 4px;\n\tpadding-top: 8px;\n\ttext-align: left;\n}\n\n#pagebody table.widefat .check-column {\n\ttext-align: center;\n\tvertical-align: text-top;\n\twidth: 3%;\n}\n\n.wrap, .updated, .error {\n\tmargin: 0;\n\tmargin-left: 15px;\n\tmargin-right: 15px;\n\tpadding: 0;\n\tmax-width: 980px;\n}\n\n.form-table, form#profile-form table {\n\tborder-collapse: collapse;\n\tmargin-top: 1em;\n\twidth: 100%;\n\tcolor: #333;\n}\n\n.form-table td, form#profile-form table td {\n\tmargin-bottom: 9px;\n\tpadding: 10px;\n\tline-height: 20px;\n\tborder-bottom-width: 8px;\n\tborder-bottom-style: solid;\n\n}\n\n.form-table th, form#profile-form table th {\n\ttext-align: left;\n\tpadding: 10px;\n\twidth: 150px;\n\tfont-weight: bold;\n\tborder-bottom-width: 8px;\n\tborder-bottom-style: solid;\n}\n\n.form-table input[type='text'], .form-table textarea,\nform#profile-form table input[type='text'], form#profile-form textarea {\n\tborder: 1px solid #d1e5f6;\n\tborder-top-color: #b0c1cf;\n\tborder-left-color: #b0c1cf;\n}\n\n.form-table input[type='text'] {\n\tpadding: 3px;\n}\n\n.form-table textarea, form#profile-form table textarea {\n\twidth: 520px !important;\n\tfont-size: 13px;\n\tline-height: 1.5em;\n}\n\n.error {\n\tbackground-color: #ffebe8;\n\tborder-color: #c00;\n}\n\n.error a {\n\tcolor: #c00;\n}\n\n.form-invalid {\n\tbackground-color: #ffebe8 !important;\n}\n\n.form-invalid input {\n\tborder-color: #c00 !important;\n}\n\n.form-table td, .form-table th,\nform#profile-form table td, form#profile-form table th {\n\tborder-bottom-color: #fff;\n}\n\n.form-input-tip {\n\tcolor: #999;\n}\n\n#sitesearch {\n\tmargin-top: 10px;\n\tmargin-bottom: 22px;\n\tfont-size: 10px;\n}\n\n#sitesearch #sitesearchbox {\n\twidth: 45%;\n\tpadding: 3px;\n\tfont-size: 18px;\n}\n\n#sitesearch p { margin-top: 4px; }\n\n#sitesearch label { margin-right: 6px;}\n\n#sitesearch .text {\n\theight: 24px;\n}\n\n#sitesearch .button {\n\tfont-size: 16px;\n\tmargin-left: 4px;\n\theight: 32px;\n\tpadding: 0 6px;\n}\n\nol.searchresults {\n\tmargin-top: 22px !important;\n\tpadding-left: 4px;\n}\n\ndiv.special { margin-top: 22px; }\n\n.searchresults h4, .special h4 {\n\tmargin-bottom: 4px;\n}\n.searchresults .source, .special .source {\n\tfloat: right;\n\tfont-size: 10px;\n\tfont-style: italic;\n\tfont-family: \"Lucida Sans\";\n\tcolor: #888;\n\tfont-weight: normal;\n}\n\n.heatmap {\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n\tline-height: 3em;\n}\n\n.heatmap a {\n\tfont-weight: normal;\n}\n\n.col-10 .col-5 {\n\tmargin: 0;\n\twidth: 352px;\n}\n\n.col-10 .col-10 {\n\tmargin: 24px 0 0;\n\tclear: both;\n}\n\n.col-10 .col-8, .col-10 .col-7 {\n\tmargin: 0;\n}\n\n.col-10 .col-5 table td {\n\tline-height: 1.5em;\n\tpadding: 10px 0;\n\tborder-bottom: 1px solid #dadada;\n}\n\n.more {\n\tfont-size: 90%;\n}\n\n.column-list {\n\tfont-size: 12px;\n\tline-height: 1.5em;\n}\n\n.column-list li {\n\tpadding-bottom: 4px;\n}\n\n#theuser .block {\n\tmargin: 24px;\n}\n\n#theuser #userinfo {\n\tmargin-left: 22px;\n\tmargin-bottom: 0;\n}\n\n#lang-guess {\n\twidth: 93%;\n\tmax-width: 932px;\n\tmargin: 22px auto 0;\n\tbackground: #fffbcc;\n\tborder: 1px solid #e6db55;\n\ttext-align: center;\n\tfont: 1.3em Georgia, Times, \"Times New Roman\", serif;\n\tpadding: 10px 0;\n\t-moz-border-radius: 3px;\n\t-khtml-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n}\n\nh3.graphics {\n\tclear: both;\n\tpadding-top: 20px;\n\tfont-size:22px;\n\tfont-weight: normal;\n\tcolor: #999;\n\tpadding-bottom: 6px;\n}\n\nul.logo {\n\tmargin: 0 14px 14px 0 !important;\n\twidth: 176px;\n\tborder: 1px solid #dfdfdf;\n\tborder-top: none;\n\tfloat: left;\n}\n\nul.logo li {\n\tlist-style: none;\n\tborder-bottom: 1px solid #dfdfdf;\n\tbackground: #f5f5f5;\n\tline-height:13px;\n}\n\nul.logo li.img {\n\tbackground: #fff;\n}\n\nul.logo li a span {\n\tcolor: #999;\n\tfont-weight: normal;\n}\n\nul.logo li a {\n\tdisplay: block;\n\tpadding: 6px 8px;\n\tfont-size:10px;\n}\n\nul.logo li:first-child {\n\tborder-top: 1px solid #dfdfdf;\n}\n\nul.logo li:last-child {\n\tborder-bottom: none;\n}\n\np.community {\n\tclear: both;\n\tfont-size:14px;\n\tpadding: 24px 0;\n}\n\n\nul.logo .pnglogo { background: #eee; text-align: center;}\n\nul.logo .pnglogo:hover { background: #555; }\n\n.pnglogo img {\n\tpadding: 62px 0;\n}\n\n#logo-blue img, #logo-grey img { padding: 20px 0; }\n\n\nul.colors {\n\tmargin: 0 !important;\n}\n\nul.colors li {\n\tfloat: left;\n\tlist-style: none;\n\tmargin-left: 60px;\n\tpadding-right:50px;\n\tborder-right: 1px solid #dfdfdf;\n\tmargin-right:50px;\n\tmargin-bottom: 24px;\n\tline-height: 14px;\n\tfont-size: 10px;\n\tcolor: #666;\n}\n\nul.colors li strong {\n\tfont-size: 12px;\n\tcolor: #333;\n}\n\nul.colors li:last-child {\n\tpadding-right: 0;\n\tmargin-right: 0;\n\tborder-right: none;\n}\n\nul.colors li img {\n\tfloat: left;\n\tmargin-left: -60px;\n}\n\nbody .meta {\n\tfont-size: 12px;\n\tcolor: #777;\n\tmargin-bottom: 10px;\n}\n\nbody .meta a {\n\tcolor: #777;\n\tborder-bottom: 1px solid #dfdfdf;\n}\n\nbody .meta a:hover { color: #d54e21; border-bottom-color: #d54e21; }\n\nhr { border: none; border-top: 1px solid #dfdfdf; }\n\n#headline a {\n\tcolor: #555;\n}\n\nimg#wpstats {\n\tmargin: -10px 10px 0;\n}\n\n.wporg-stats-chart path[fill=\"#cccccc\"] {\n\tfill: #cbcdce;\n}\n\n.wporg-stats-chart path[fill=\"#0011cc\"] {\n\tfill: #0073aa;\n\tcursor: pointer;\n}\n\n.wporg-stats-chart path[fill=\"#0011cc\"]:hover {\n\tfill: #00a0d2;\n}\n\n.wporg-stats-chart text[fill=\"#0011cc\"] {\n\tfill: #444;\n}\n\n.wporg-stats-chart {\n\twidth: 650px; /* Avoid jumps when the charts are loaded. */\n\theight: 450px;\n\tposition: relative;\n}\n\n.wporg-stats-chart.loading:before {\n\tcontent: '';\n\tdisplay: block;\n\twidth: 20px;\n\theight: 20px;\n\tposition: absolute;\n\tleft: 50%;\n\ttop: 50%;\n\tmargin: -10px 0 0 -10px;\n\tbackground: url(https://s.w.org/wp-includes/images/spinner.gif) no-repeat center;\n\t-webkit-background-size: 20px 20px;\n\tbackground-size: 20px 20px;\n\t-webkit-transform: translateZ(0);\n\ttransform: translateZ(0);\n}\n\n@media print,\n  (-webkit-min-device-pixel-ratio: 1.25),\n  (min-resolution: 120dpi) {\n\t.wporg-stats-chart.loading:before {\n\t\tbackground-image:url(https://s.w.org/wp-includes/images/spinner-2x.gif)\n\t}\n}\n\n/* Responsive styling ---------------------------------- */\n\n.wporg-page-download .mobile-notice {\n\tdisplay: none;\n}\n.wporg-page-download .download-button-container {\n\ttext-align: center;\n}\n.wporg-page-mobile {\n\tbackground-color: #f1f1f1;\n}\n.wporg-page-mobile #pagebody ul.books {\n\tdisplay: -moz-box;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n.wporg-page-mobile #pagebody .books li {\n\twidth: 49%;\n\tmargin-left: 1%;\n\tclear: none;\n}\n.wporg-page-mobile #pagebody .books li:first-child {\n\tmargin-left: 0;\n\tmargin-right: 1%;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books p {\n\tmargin-bottom: 14px;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books li {\n\tpadding: 0 14px 15px;\n\tbox-sizing: border-box;\n\tbackground-color: #fff;\n\tborder: 1px solid #dedede;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books h3 {\n\tmargin-bottom: 15px;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books .image {\n\tfloat: right;\n\tborder-right: 0;\n\tborder-left: 1px solid #dadada;\n\tmargin-left: 14px;\n\tmargin-right: 0;\n\tmargin-top: 0;\n}\n\n.wporg-responsive .col-7,\nbody.wporg-responsive .col-8,\nbody.wporg-responsive .col-10 {\n\tmargin-left: 174px;\n}\nbody.wporg-responsive .col-2 {\n\tposition: absolute;\n}\n\n.wporg-responsive .col-10 .col-5 {\n\twidth: 50%;\n\tbox-sizing: border-box;\n\tpadding-right: 14px;\n}\n.wporg-responsive .col-10 .col-5:last-child {\n\tpadding-right: 0;\n\tpadding-left: 14px;\n}\n.wporg-responsive.wporg-page-parent-about .col-7,\n.wporg-responsive.wporg-page-parent-about .col-8,\n.wporg-responsive.wporg-page-parent-about .col-10 {\n\tmin-height: 550px;\n}\n\n.wporg-responsive.wporg-page-about-logos h3.graphics img {\n\tfloat: right;\n\tmargin-top: -40px;\n\tmargin-left: 40px;\n}\n.wporg-responsive.wporg-page-about-logos .all-logos ul.logo li {\n\tmin-height: 39px;\n}\n.wporg-responsive.wporg-page-about-logos .all-logos ul.logo li.img {\n\tmin-height: 150px;\n}\n.wporg-responsive.wporg-page-about-logos ul.logo li.img {\n\tline-height: 0;\n\ttext-align: center;\n}\n@media screen and (max-width: 974px) {\n\tbody.wporg-responsive #pagebody .wrapper {\n\t\tdisplay: -moz-box;\n\t\tdisplay: -ms-flexbox;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\tbody.wporg-responsive .col-2,\n\tbody.wporg-responsive .col-3,\n\tbody.wporg-responsive .col-6,\n\tbody.wporg-responsive .col-7,\n\tbody.wporg-responsive .col-8,\n\tbody.wporg-responsive .col-9,\n\tbody.wporg-responsive .col-10,\n\tbody.wporg-responsive .col-12 {\n\t\twidth: inherit;\n\t\tfloat: none;\n\t\tword-wrap: break-word;\n\t}\n\n\tbody.wporg-responsive .col-2 {\n\t\tposition: inherit;\n\t\twidth: 100%;\n\t}\n\n\tbody.wporg-responsive .col-8,\n\tbody.wporg-responsive .col-9,\n\tbody.wporg-responsive .col-10 {\n\t\tmargin-left: 14px;\n\t\tmargin-right: 14px;\n\t}\n\n\t.wporg-responsive.wporg-page-parent-about .col-7,\n\t.wporg-responsive.wporg-page-parent-about .col-8,\n\t.wporg-responsive.wporg-page-parent-about .col-10 {\n\t\tmin-height: inherit;\n\t}\n\n\t.wporg-responsive.wporg-page-mobile #pagebody .books li {\n\t\twidth: 100%;\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t/*\n\t * /download\n\t */\n\n\t.wporg-responsive .col-7 ~.col-2 {\n\t\tposition: inherit;\n\t\tfloat: left;\n\t\twidth: 50%;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t\tpadding: 0 14px;\n\t}\n\t.wporg-responsive .col-7 ~ .col-3 {\n\t\tfloat: right;\n\t\twidth: 50%;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t\tpadding: 0 14px;\n\t}\n\t.wporg-responsive .col-7 {\n\t\tmargin-left: 14px;\n\t\tmargin-right: 14px;\n\t\twidth: inherit;\n\t\tmargin-bottom: 3em;\n\t\tpadding-bottom: 2em;\n\t\tborder-bottom: 1px solid #ccc;\n\t}\n\n\t/*\n\t * /news and /showcase\n\t */\n\n\t.wporg-responsive .storycontent {\n\t\tpadding-right: 0;\n\t}\n}\n@media screen and (max-width: 700px) {\n\t.wporg-responsive.wporg-page-about-logos h3.graphics {\n\t\tpadding-top: 0;\n\t}\n\t.wporg-responsive.wporg-page-about-logos h3.graphics img {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 0 auto 14px;\n\t}\n}\n@media screen and (max-width: 480px) {\n\t.wporg-responsive .col-7 {\n\t\tborder-bottom: 0;\n\t}\n\t.wporg-responsive #sidebar, .wporg-responsive .col-7 {\n\t\tfloat: none;\n\t}\n\t.wporg-responsive #sidebar {\n\t\twidth: 100%;\n\t}\n\n\t.wporg-responsive .col-10 .col-5, .wporg-responsive .col-10 .col-5:last-child {\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t}\n\n\t.wporg-responsive .col-7 ~ .col-3 {\n\t\tmargin-top: 2em;\n\t\tborder-top: 1px solid #ccc;\n\t\tpadding-top: 3em;\n\t\twidth: inherit;\n\t\tfloat: none;\n\t\tmargin: 2em auto;\n\t}\n\t.wporg-page-download .mobile-notice {\n\t\tdisplay: block;\n\t\twidth: 60%;\n\t\tmargin: 1px auto 3em;\n\t\tborder: 1px solid #ccc;\n\t\tpadding: 2em 1.9em 0.5em;\n\t}\n\t.wporg-page-download .mobile-notice-inner {\n\t\tdisplay: none;\n\t}\n\n\t.wporg-page-about-books #pagebody .books li {\n\t\tpadding: 0 18px 18px;\n\t\tbox-sizing: border-box;\n\t}\n\t.wporg-page-about-books #pagebody .books .image {\n\t\tborder-right: 0;\n\t\tfloat: none;\n\t\twidth: inherit;\n\t}\n\t.wporg-page-about-books #pagebody .books p {\n\t\tpadding-right: 0;\n\t\tpadding-left: 0;\n\t}\n\n\t.wporg-responsive.wporg-page-about-logos ul.logo {\n\t\twidth: 100%;\n\t}\n}\n\n\n/*\n *  Notifications\n */\n\n .notification {\n\tbackground: #eee;\n\tfont-size: 13px;\n\tmargin: 0;\n\tmax-width: 100%;\n\tpadding: 8px 12px;\n\ttext-align: center;\n}\n\n.notification-info {\n\tbackground: #d9edf7;\n}\n\n.notification-success {\n\tbackground: #c7e8ca;\n}\n\n.notification-warning {\n\tbackground: #fff8e5;\n}\n\n.notification-danger {\n\tbackground: #f2dede;\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["wp4.css"],"names":[],"mappings":"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","file":"wp4.css","sourcesContent":["/* The Reset ---------------------------------- */\nbody,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,\nh6,pre,form,fieldset,input,p,blockquote,table,\nth,td { margin: 0; padding: 0; }\nfieldset,img,abbr { border: 0; }\naddress,caption,cite,code,dfn,h1,h2,h3,\nh4,h5,h6,th,var { font-style: normal; font-weight: normal; }\ncaption,th { text-align: left; }\nq:before,q:after { content: ''; }\na { text-decoration: none; }\n\nhtml {\n\toverflow-y: scroll;\n}\n\nbody {\n\tfont-size: 62.5%;\n\tbackground: #fff;\n\tfont-family: sans-serif;\n\tline-height: 22px;\n\tcolor: #444;\n}\n/* -------------------------------------------- */\n\ncode, pre { font-family: Consolas, Monaco, \"Courier New\", Courier, monospace; color: #000; }\n\na code,\na pre {\n\tcolor: inherit;\n}\n\npre {\n\tbackground: #f3f3f7;\n\tborder: 1px solid #dedee3;\n\tpadding: 11px;\n\tfont-size: 12px;\n\tline-height: 1.3em;\n\tmargin-bottom: 22px;\n\toverflow: auto;\n}\n\npre a { font-weight: normal; }\n\na,\n#wporg-footer ul li a {\n\tcolor: #21759b;\n\ttext-decoration: none;\n\tfont-weight: normal;\n}\n\nstrong a {\n\tfont-weight: bold;\n}\n\na:visited,\n#wporg-footer ul li a:visited {\n\tcolor: #4ca6cf;\n}\n\np a { border-bottom: 1px solid #dfdfdf; }\n\nh3 a { font-weight: bold; }\n\n.button a, .button a:hover, #headline a:not(.button), #headline a:not(.button):hover, #sidebar a:not(.button), #sidebar a:not(.button):hover, .frontpageheatmap a, .frontpageheatmap a:hover, .col-3 a, .col-3 a:hover { border: none !important; }\n\n#headline a.button { display: inline-block; }\n\np a:hover { border-bottom: 1px solid #d54e21; }\n\na:hover { color: #d54e21; }\n\nh2 {\n\tfont-family: \"HelveticaNeue-Light\",\"Helvetica Neue Light\",\"Helvetica Neue\",sans-serif;\n\tfont-weight: 300;\n\tfont-size: 22px;\n}\n\nh2 a {\n\tfont-weight: 300;\n}\n\nstrong {\n\tfont-weight: bold;\n}\n\nem, cite {\n\tfont-style: italic;\n}\n\nsup {\n\tline-height: 1em;\n\tfont-size: 80%;\n}\n\n/* Hide visually but not from screen readers */\n.screen-reader-text {\n\tposition: absolute;\n\tmargin: -1px;\n\tpadding: 0;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tclip: rect(0 0 0 0);\n\tborder: 0;\n\tword-wrap: normal !important;\n}\n\n/* =WordPress Core\n-------------------------------------------------------------- */\n.alignnone {\n\tmargin: 5px 20px 20px 0;\n}\n\n.aligncenter,\ndiv.aligncenter {\n\tdisplay: block;\n\tmargin: 5px auto 5px auto;\n}\n\n.alignright {\n\tfloat:right;\n\tmargin: 5px 0 20px 20px;\n}\n\n.alignleft {\n\tfloat: left;\n\tmargin: 5px 20px 20px 0;\n}\n\n.aligncenter {\n\tdisplay: block;\n\tmargin: 5px auto 5px auto;\n}\n\na img.alignright {\n\tfloat: right;\n\tmargin: 5px 0 20px 20px;\n}\n\na img.alignnone {\n\tmargin: 5px 20px 20px 0;\n}\n\na img.alignleft {\n\tfloat: left;\n\tmargin: 5px 20px 20px 0;\n}\n\na img.aligncenter {\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto\n}\n\n.wp-caption {\n\tbackground: #fff;\n\tborder: 1px solid #f0f0f0;\n\tmax-width: 96%; /* Image does not overflow the content area */\n\tpadding: 5px 3px 10px;\n\ttext-align: center;\n}\n\n.wp-caption.alignnone {\n\tmargin: 5px 20px 20px 0;\n}\n\n.wp-caption.alignleft {\n\tmargin: 5px 20px 20px 0;\n}\n\n.wp-caption.alignright {\n\tmargin: 5px 0 20px 20px;\n}\n\n.wp-caption img {\n\tborder: 0 none;\n\theight: auto;\n\tmargin: 0;\n\tmax-width: 98.5%;\n\tpadding: 0;\n\twidth: auto;\n}\n\n.wp-caption p.wp-caption-text {\n\tfont-size: 11px;\n\tline-height: 17px;\n\tmargin: 0;\n\tpadding: 0 4px 5px;\n}\n\n/* */\n\n.wrapper {\n\tmax-width: 960px;\n\tmargin: 0 auto;\n\tclear: both;\n}\n\n.wrapper img{\n\tmax-width: 100%;\n\theight: auto;\n}\n\n#wporg-header {\n\tposition: relative;\n\theight: 140px;\n\twidth: 100%;\n\tbackground: #23282d;\n\ttext-align: center;\n}\n\n#wporg-header h1 {\n\tdisplay: inline-block;\n\twidth: 303px;\n}\n\n#wporg-header h1 a {\n\tdisplay: block;\n\tbackground: url(//s.w.org/style/images/wporg-logo.svg?3) center left no-repeat;\n\tbackground-size: 290px 46px;\n\theight: 88px;\n\ttext-indent: -9999px;\n}\n\n#wporg-header h2.rosetta {\n\tfont-size: 30px;\n\tcolor: #dfdfdf;\n\tfont-family: Georgia, \"Times New Roman\", serif;\n\tmargin: 0;\n}\n\n#wporg-header h2.rosetta a {\n\tpadding: 0;\n\tdisplay: block;\n\theight: 52px; /* 88 header height - 36 top padding */\n\tcolor: #dfdfdf;\n\tline-height: 22px;\n\tborder-bottom: none;\n}\n\n#head-search {\n\theight: 48px;\n}\n\n#head-search form {\n\twidth: 288px;\n\tdisplay: inline-block;\n\tmargin-left: 60px;\n\tborder-bottom: 1px solid #3f3f3f;\n}\n\n#head-search input.text {\n\tbackground: #191e23;\n\tborder: 0;\n\tmargin-right: 0;\n\tmargin-bottom: 0;\n\twidth: 256px;\n\theight: 24px;\n\tcolor: #b4b9be;\n\tfloat: left;\n\tfont-size: 12px;\n\toutline: none;\n\tfont-family: \"Open Sans\", sans-serif;\n\tborder-radius: 0px;\n}\n\n#head-search input.text::-moz-placeholder {\n\tcolor: #eee;\n}\n\n#head-search .button {\n\tfloat: left;\n\ttext-shadow: none !important;\n\tborder: none;\n\tbox-shadow: none;\n\theight: 30px;\n\twidth: 26px;\n\tbackground: #191e23;\n\tbackground-image: url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831);\n\tbackground-position: 3px 5px;\n\tbackground-repeat: no-repeat;\n\tborder-radius: 0;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n#wporg-header ul#wporg-header-menu {\n\tposition: absolute;\n\tleft: -75%;\n\tmargin: 0;\n\tmin-width: 200px;\n\tmax-width: 75%;\n\tbackground: #23282d;\n\tlist-style: none;\n\ttext-align: left;\n\ttop: 100%;\n\t-webkit-transition: left 0.3s;\n\t-moz-transition: left 0.3s;\n\t-ms-transition: left 0.3s;\n\t-o-transition: left 0.3s;\n\ttransition: left 0.3s;\n\tz-index: 100000;\n}\n\n#wporg-header ul#wporg-header-menu.toggled {\n\tleft: 0;\n}\n\n#wporg-header ul li {\n\tposition:relative;\n\tlist-style-type:none;\n}\n\n#wporg-header ul li a {\n\tfont-family: \"Open Sans\", Helvetica, Arial, \"Liberation Sans\", sans-serif;\n\tfont-weight: 600;\n\tdisplay: block;\n\tline-height: 34px;\n\tpadding: 10px 30px;\n\tmargin: 0 4px;\n\tfont-size: 13px;\n\tcolor: #eee;\n\theight: 34px;\n}\n\n#wporg-header ul li a:hover,\n#wporg-header ul li a.current,\n#wporg-header ul li.current-menu-item a,\n#wporg-header ul li.current_page_parent a {\n\tcolor: #00a0d2;\n}\n\n#wporg-header ul li a.subcurrent {\n\tfont-weight: bold;\n}\n\n#wporg-header .nav-submenu {\n\tclip: rect(1px, 1px, 1px, 1px);\n\theight: 1px;\n\tleft: -2px;\n\tmargin: 0;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n\tz-index: 99999;\n}\n\n#wporg-header ul.nav-submenu li a {\n\theight: 24px;\n\tline-height: 24px;\n\tmargin: 0;\n}\n\n#wporg-header ul li#download {\n\theight: 34px;\n\tpadding: 0 0 34px;\n\tfloat: right;\n\tmargin-right: 14px;\n\toverflow: hidden;\n}\n\n.wporg-page-download #wporg-header #download {\n\tdisplay: none;\n}\n\n#wporg-header ul li#download a {\n\tmargin: 0;\n\tpadding: 0 16px;\n}\n\n#wporg-header ul li#download a.current {\n\tcolor: #eee;\n}\n\n#wporg-header ul li#download a:hover {\n\tcolor: #eee;\n}\n\n@media screen and (max-width:820px) {\n\t#wporg-header ul li#download {\n\t\tdisplay: none;\n\t}\n}\n\n@media screen and (max-width:768px) {\n\t#wporg-header ul li#download {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 10px 20px 20px;\n\t\tpadding-bottom: 0;\n\t\theight: auto;\n\t}\n\t#wporg-header ul li#download a {\n\t\tpadding: 4px 10px;\n\t}\n}\n\n#mobile-menu-button {\n\tbackground: none;\n\tborder: none;\n\tbox-shadow: none;\n\tposition: absolute;\n\ttop: 75px;\n\tleft: 10px;\n\tdisplay: block;\n\tfloat: left;\n\tvertical-align: top;\n\ttext-align: center;\n\ttext-decoration: inherit;\n\tfont-weight: normal;\n\tfont-style: normal;\n\tfont-size: 16px;\n\tfont-family: 'dashicons';\n\tline-height: 1;\n\tpadding: 1px;\n\ttext-shadow: none;\n\t-webkit-transition: color .1s ease-in 0;\n\t-moz-transition: color .1s ease-in 0;\n\ttransition: color .1s ease-in 0;\n\t-webkit-appearance: none;\n\t-webkit-font-smoothing: antialiased;\n}\n\n#mobile-menu-button:before {\n\tdisplay: inline-block;\n\tfloat: left;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tmargin: 0;\n\tpadding: 3px;\n\toutline: none;\n\tborder: none;\n\tcolor: #888;\n\tcontent: '\\f228';\n\tvertical-align: middle;\n\ttext-decoration: none;\n\tfont: normal 50px/1 'Dashicons';\n\t-webkit-font-smoothing: antialiased;\n}\n\n#download-mobile {\n\tbackground: #f7f7f7;\n\tborder-bottom: 1px solid #dddddd;\n}\n\n#download-mobile .wrapper {\n\tpadding: 20px 0;\n\ttext-align: center;\n}\n\n#download-mobile span.download-ready {\n\tfont-size: 1.6em;\n\tmargin: 0 0.25em;\n}\n\n#download-mobile a.download-button {\n\theight: inherit;\n\tpadding: 10px 15px;\n\tfont-size: 1.6em;\n\tmargin: 10px 0.25em;\n}\n\n.wporg-page-nightly .wrapper {\n\tmin-height: 250px;\n}\n\n@media screen and (min-width:480px) {\n\t#head-search form {\n\t\tmargin-left: 0;\n\t}\n}\n\n@media screen and (max-width:480px) {\n\t#head-search form {\n\t\twidth: 248px;\n\t}\n\t#head-search input.text {\n\t\twidth: 216px;\n  }\n}\n\n@media screen and (min-width:769px) {\n\n\t#wporg-header {\n\t\theight: 120px;\n\t\ttext-align: inherit;\n\t}\n\n\t#wporg-header h1 {\n\t\tfloat: left;\n\t\tpadding-left: 10px;\n\t}\n\n\t#head-search {\n\t\tfloat: right;\n\t\tmargin-right: 14px;\n\t\theight: 48px;\n\t\tpadding-top: 30px;\n\t}\n\n\t#head-search form {\n\t\tmargin-left: 0;\n\t}\n\n\t#wporg-header ul#wporg-header-menu {\n\t\tposition: static;\n\t\tfloat:left;\n\t\tmargin: -15px 0 0;\n\t\tpadding: 0;\n\t\tmin-width: 0;\n\t\tmax-width: inherit;\n\t\twidth: 100%;\n\t\tlist-style: none;\n\t}\n\n\t#wporg-header ul li {\n\t\tfloat: left;\n\t\tposition:relative;\n\t}\n\n\t#wporg-header ul li a {\n\t\tpadding: 0 6px;\n\t\theight: 46px;\n\t}\n\n\t#wporg-header ul li#download .uparrow {\n\t\tdisplay:none;\n\t}\n\n\t#wporg-header ul li a.current ~ .uparrow {\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-left: 9px solid transparent;\n\t\tborder-right: 9px solid transparent;\n\t\tborder-bottom: 9px solid #f7f7f7;\n\t\tmargin: -8px auto 0 auto;\n\t}\n\n\t#wporg-header ul li.current-menu-item:after,\n\t#wporg-header ul li.current_page_parent:after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-left: 9px solid transparent;\n\t\tborder-right: 9px solid transparent;\n\t\tborder-bottom: 9px solid #f7f7f7;\n\t\tmargin: -8px 0 0 -9px;\n\t}\n\n\t#wporg-header ul li:hover .nav-submenu ~ .uparrow,\n\t#wporg-header ul li .nav-submenu:hover ~ .uparrow {\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-left: 9px solid transparent;\n\t\tborder-right: 9px solid transparent;\n\t\tborder-bottom: 9px solid #32373c;\n\t\tmargin: -10px auto 0 auto;\n\t}\n\n\t#wporg-header .nav-submenu {\n\t\tbackground: #32373c;\n\t\tborder: #32373c solid 1px;\n\t\tborder-top: 0;\n\t\tmargin-top: -1px;\n\t\tmin-width: 0;\n\t}\n\n\t#wporg-header ul li:hover .nav-submenu,\n\t#wporg-header ul li .nav-submenu:hover  {\n\t\tdisplay:block!important;/* Prevents #wporg-header ul overwriting this */\n\t\tposition:absolute;\n\t\ttop:46px;\n\t\tleft:0;\n\t\tz-index:101;\n\t\tmargin-left:0;\n\t\twidth:auto;\n\t}\n\n\t#wporg-header ul li .nav-submenu li {\n\t\tfloat: none;\n\t}\n\n\t#wporg-header ul.nav-submenu li a {\n\t\theight: 34px;\n\t\tline-height: 34px;\n\t}\n\n\t#wporg-header ul.nav-menu li:hover > ul,\n\t#wporg-header .nav-menu ul li:hover > ul,\n\t#wporg-header ul.nav-menu .focus > ul,\n\t#wporg-header .nav-menu .focus > ul {\n\t\tclip: inherit;\n\t\theight: inherit;\n\t\toverflow: inherit;\n\t\twidth: inherit;\n\t}\n\n\t#headline h2 {\n\t\ttext-rendering: optimizeLegibility;\n\t}\n\n\t#mobile-menu-button {\n\t\tdisplay: none;\n\t}\n\n\t#wporg-header h2.rosetta {\n\t\tpadding: 36px 27px 0;\n\t\tfloat: left;\n\t}\n}\n\n@media screen and (max-width:960px) {\n\t#home-welcome {\n\t\tmin-width: 0 !important;\n\t}\n\n\t#home-welcome .wrapper {\n\t\tmax-width: 100%;\n\t\tmargin: 0;\n\t}\n\n\t#home-text {\n\t\twidth: 100%;\n\t\tfloat: right;\n\t\tmargin: -10px;\n\t}\n\n\n\t#home-below .wrapper .col-2, #home-below .wrapper .col-4 {\n\t\tmax-width: 100%;\n\t}\n\n\t#home-below {\n\t\tmax-width: 100%;\n\t\twidth: auto;\n\t}\n}\n\n@media screen and (min-width:821px) {\n\t#download-mobile {\n\t\tdisplay: none;\n\t}\n}\n\n#home-welcome {\n\tbackground: #f7f7f7;\n\tmin-width: 960px;\n\tmin-height: 340px;\n\tborder-bottom: 1px solid #dfdfdf;\n}\n\n#home-welcome img.screenshot {\n\tmargin-top: 22px;\n\tmargin-right: 28px;\n\tfloat: left;\n}\n\n#home-welcome p {\n\tfont-size: 13px;\n\tpadding: 11px 0;\n\tmargin-right: 14px;\n}\n\n#home-welcome p.intro {\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n\tpadding-top: 34px;\n\tfont-size: 17px;\n\tline-height: 1.5em;\n}\n\n#home-welcome p.intro strong {\n\tfont-weight: normal;\n}\n\np.intro a {\n\tfont-weight: normal;\n}\n\n/* WordPress-style Buttons\n=======================\nCreate a button by adding the `.button` class to an element. For backwards\ncompatibility, we support several other classes (such as `.button-secondary`),\nbut these will *not* work with the stackable classes described below.\n\nButton Styles\n-------------\nTo display a primary button style, add the `.button-primary` class to a button.\n\nButton Sizes\n------------\nAdjust a button's size by adding the `.button-large` or `.button-small` class.\n\nButton States\n-------------\nLock the state of a button by adding the name of the pseudoclass as\nan actual class (e.g. `.hover` for `:hover`).\n\n\nTABLE OF CONTENTS:\n------------------\n 1.0 - Button Layouts\n 2.0 - Default Button Style\n 3.0 - Primary Button Style\n 4.0 - Button Groups\n 5.0 - Responsive Button Styles\n\n---------------------------------------------------------------------------- */\n/* ----------------------------------------------------------------------------\n  1.0 - Button Layouts\n---------------------------------------------------------------------------- */\n.submit input,\ninput[type=button],\ninput[type=submit],\n.button,\n.button-primary,\n.download-button,\n.button-secondary {\n\tborder: 1px solid;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing:    border-box;\n\tbox-sizing:         border-box;\n\tcursor: pointer;\n\tdisplay: inline-block;\n\tfont-size: 0.8rem;\n\theight: 1.5625rem;\n\tline-height: 1;\n\tmargin: 0;\n\tpadding: 0 .8rem;\n\ttext-decoration: none;\n\twhite-space: nowrap;\n\t-webkit-appearance: none;\n}\n\n/* Remove the dotted border on :focus and the extra padding in Firefox */\nbutton::-moz-focus-inner,\ninput[type=\"reset\"]::-moz-focus-inner,\ninput[type=\"button\"]::-moz-focus-inner,\ninput[type=\"submit\"]::-moz-focus-inner {\n\tborder: 0 none;\n\tpadding: 0;\n}\n\n.button.button-xl,\n.button-group.button-xl .button {\n\tfont-size: 1rem;\n\theight: 2.44141rem;\n\tline-height: 1;\n\tpadding: 0 1.5rem;\n}\n\n.button.button-large,\n.button-group.button-large .button,\n.col-2 p.button,\n.col-13 p.button {\n\theight: 1.95313rem;\n\tline-height: 1;\n\tpadding: 0 1rem;\n}\n\n.button.button-small,\n.block-content span.button,\n.button-group.button-small .button {\n\tfont-size: 0.64rem;\n\theight: 1.25rem;\n\tline-height: 1;\n\tpadding: 0 .5rem;\n}\n\n.button.button-hero,\n.button-group.button-hero .button,\n#plugin-description p.button, .col-3 p.button,\nbody.trac #plugin-description .description-right p {\n\tfont-size: 14px;\n\theight: 46px;\n\tline-height: 44px;\n\tpadding: 0 36px;\n}\n\na.button,\na.button-primary,\na.button-secondary {\n\tline-height:  1.5625rem;\n}\n\na.button.button-large,\n.button-group.button-large a.button {\n\tline-height: 1.95313rem;\n}\n\na.button.button-xl,\n.button-group.button-xl a.button {\n\tline-height: 2.44141rem;\n}\n\na.button.button-small,\n.button-group.button-small a.button {\n\tline-height: 1.25rem;\n}\n\n.button:active,\n.button:focus {\n\toutline: none;\n}\n\n.button.hidden {\n\tdisplay: none;\n}\n\n/* Style Reset buttons as simple text links */\ninput[type=\"reset\"],\ninput[type=\"reset\"]:hover,\ninput[type=\"reset\"]:active,\ninput[type=\"reset\"]:focus {\n\tbackground: none;\n\tborder: none;\n\t-webkit-box-shadow: none;\n\tbox-shadow:         none;\n\tpadding: 0 2px 1px;\n\twidth: auto;\n}\n\n/* ----------------------------------------------------------------------------\n  2.0 - Default Button Style\n---------------------------------------------------------------------------- */\n.submit input,\ninput[type=button],\ninput[type=submit],\n.button,\n.button:visited,\n.button-secondary {\n\tbackground: #f7f7f7;\n\tborder-color: #cccccc;\n\t-webkit-box-shadow: 0 1px 0 #cccccc;\n\tbox-shadow:         0 1px 0 #cccccc;\n\tcolor: #555;\n\tvertical-align: top;\n}\n\np .button {\n\tvertical-align: baseline;\n}\n\n.submit input:hover,\ninput[type=button]:hover,\ninput[type=submit]:hover,\n.submit input:focus,\ninput[type=button]:focus,\ninput[type=submit]:focus,\n.button.hover,\n.button:hover,\n.button-secondary:hover,\n.button.focus,\n.button:focus,\n.button-secondary:focus {\n\tbackground: #fafafa;\n\tborder-color: #999;\n\tcolor: #23282d;\n}\n\n.submit input:focus,\ninput[type=button]:focus,\ninput[type=submit]:focus,\n.button.focus,\n.button:focus,\n.button-secondary:focus,\n.button-link:focus {\n\tborder-color: #5b9dd9;\n\t-webkit-box-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\n\tbox-shadow:         0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.submit input:active,\ninput[type=button]:active,\ninput[type=submit]:active,\n.button.active,\n.button.active:hover,\n.button.active:focus,\n.button:active,\n.button-secondary:active {\n\tbackground: #eee;\n\tborder-color: #999;\n\t-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);\n\tbox-shadow:         inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);\n\t-webkit-transform: translateY(1px);\n\t-ms-transform:     translateY(1px);\n\ttransform:         translateY(1px);\n}\n\n.button.active:focus {\n\tborder-color: #5b9dd9;\n\t-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 3px rgba(0, 115, 170, 0.8);\n\tbox-shadow:         inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.submit input:disabled,\ninput[type=button]:disabled,\ninput[type=submit]:disabled,\n.button[disabled],\n.button:disabled,\n.button.disabled,\n.button-secondary[disabled],\n.button-secondary:disabled,\n.button-secondary.disabled,\n.button-disabled {\n\tbackground: #f7f7f7 !important;\n\tborder-color: #ddd !important;\n\t-webkit-box-shadow: none !important;\n\tbox-shadow:         none !important;\n\tcolor: #a0a5aa !important;\n\tcursor: default;\n\ttext-shadow: 0 1px 0 #fff !important;\n\t-webkit-transform: none !important;\n\t-ms-transform:     none !important;\n\ttransform:         none !important;\n}\n\n/* Buttons that look like links, for a cross of good semantics with the visual */\n.button-link {\n\tbackground: none;\n\tborder: 0;\n\t-webkit-border-radius: 0;\n\tborder-radius:         0;\n\t-webkit-box-shadow: none;\n\tbox-shadow:         none;\n\tcursor: pointer;\n\tmargin: 0;\n\toutline: none;\n\tpadding: 0;\n}\n\n.button-link:focus {\n\toutline: #5b9dd9 solid 1px;\n}\n\n/* ----------------------------------------------------------------------------\n  3.0 - Primary Button Style\n---------------------------------------------------------------------------- */\n.button-primary,\n.download-button,\n.button-primary:visited,\n.download-button:visited {\n\tbackground: #0085ba;\n\tborder-color: #0073aa #006799 #006799;\n\t-webkit-box-shadow: 0 1px 0 #006799;\n\tbox-shadow:         0 1px 0 #006799;\n\tcolor: #fff;\n\ttext-decoration: none;\n\ttext-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.button-primary.hover,\n.button-primary:hover,\n.button-primary.focus,\n.button-primary:focus,\n.download-button.hover,\n.download-button:hover,\n.download-button.focus,\n.download-button:focus {\n\tbackground: #008ec2;\n\tborder-color: #006799;\n\tcolor: #fff;\n}\n\n.button-primary.focus,\n.button-primary:focus,\n.download-button.focus,\n.download-button:focus {\n\t-webkit-box-shadow: 0 1px 0 #0073aa, 0 0 2px 1px #33b3db;\n\tbox-shadow:         0 1px 0 #0073aa, 0 0 2px 1px #33b3db;\n}\n\n.button-primary.active,\n.button-primary.active:hover,\n.button-primary.active:focus,\n.button-primary:active,\n.download-button.active,\n.download-button.active:hover,\n.download-button.active:focus,\n.download-button:active {\n\tbackground: #0073aa;\n\tborder-color: #006799;\n\t-webkit-box-shadow: inset 0 2px 0 #006799;\n\tbox-shadow:         inset 0 2px 0 #006799;\n\tvertical-align: top;\n}\n\n.button-primary[disabled],\n.button-primary:disabled,\n.button-primary-disabled,\n.download-button[disabled],\n.download-button:disabled,\n.download-button-disabled {\n\tbackground: #008ec2 !important;\n\tborder-color: #007cb2 !important;\n\t-webkit-box-shadow: none !important;\n\tbox-shadow:         none !important;\n\tcolor: #66c6e4 !important;\n\tcursor: default;\n\ttext-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1) !important;\n}\n\n/* ----------------------------------------------------------------------------\n  4.0 - Button Groups\n---------------------------------------------------------------------------- */\n.button-group {\n\tdisplay: inline-block;\n\tfont-size: 0;\n\tposition: relative;\n\tvertical-align: middle;\n\twhite-space: nowrap;\n}\n\n.button-group > .button {\n\t-webkit-border-radius: 0;\n\tborder-radius: 0;\n\tdisplay: inline-block;\n\tmargin-right: -1px;\n\tz-index: 10;\n}\n\n.button-group > .button-primary {\n\tz-index: 100;\n}\n\n.button-group > .button:hover {\n\tz-index: 20;\n}\n\n.button-group > .button:first-child {\n\t-webkit-border-radius: 3px 0 0 3px;\n\tborder-radius:         3px 0 0 3px;\n}\n\n.button-group > .button:last-child {\n\t-webkit-border-radius: 0 3px 3px 0;\n\tborder-radius:         0 3px 3px 0;\n}\n\n.button-group > .button:focus {\n\tposition: relative;\n\tz-index: 1;\n}\n\n/* ----------------------------------------------------------------------------\n  5.0 - Responsive Button Styles\n---------------------------------------------------------------------------- */\n@media screen and (max-width: 782px) {\n\t.button,\n\t.button.button-xl,\n\t.button.button-large,\n\t.button.button-small {\n\t\tfont-size: 14px;\n\t\theight: auto;\n\t\tline-height: normal;\n\t\tmargin-bottom: 4px;\n\t\tpadding: 6px 14px;\n\t\tvertical-align: middle;\n\t}\n}\n\n\n/* */\n\nbody #ed_toolbar input {\n\tpadding: 0 10px 1px;\n}\n\nbody #ed_toolbar #ed_pre {\n\tfont-family: sans-serif;\n}\n\n.col-3 a.download-button {\n\tdisplay: block;\n\ttext-align: center;\n}\n\n.download-meta {\n\ttext-align: center !important;\n\tfont-size: 12px;\n\tmargin-bottom: 0 !important;\n}\n\n\n/* */\n\n#home-welcome .download-button {\n\tmargin-left: 6px;\n}\n\n.col-3 ul {\n\tmargin-left: 16px;\n\tlist-style: square;\n\tmargin-bottom: 22px;\n}\n\n.col-3 p {\n\tmargin-bottom: 22px;\n}\n\n.download-tar {\n\tfont-size: 12px;\n\ttext-align: center;\n\tmargin-bottom: 14px !important;\n}\n\n#home-below {\n\tfont-size: 13px;\n\twidth: 960px;\n\tmargin: 0 auto;\n}\n\n#home-below .image img {\n\tborder: 1px solid #dadada;\n}\n\n#home-below .wrapper {\n\tfloat: left;\n\tmargin-bottom: 14px;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {\n\tfloat: left;\n\tmargin: 0 14px;\n}\n\n.col-1 { width: 52px; }\n.col-2 { width: 132px; }\n.col-3 { width: 212px; }\n.col-4 { width: 292px; }\n.col-5 { width: 372px; }\n.col-6 { width: 452px; }\n.col-7 { width: 532px; }\n.col-8 { width: 612px; }\n.col-9 { width: 692px; }\n.col-10 { width: 772px; }\n.col-11 { width: 852px; }\n.col-12 { width: 932px; }\n\n.col-9 h2 {\n\tmargin: 6px 0;\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n}\n\n.col-9 .entry {\n\tborder-bottom: 1px solid #dfdfdf;\n\tmargin-bottom: 30px;\n}\n\nh3 {\n\tfont-size: 14px;\n\tcolor: #23282d;\n\tfont-weight:bold;\n\tmargin: -1px 0 1px 0;\n}\n\nh4, h3.head {\n\tfont-weight: bold;\n\tfont-size: 14px;\n\tborder-bottom: 1px solid #dedede;\n\tpadding-bottom: 4px;\n\tcolor: #23282d;\n\tmargin-bottom: 18px;\n}\n\nh5 {\n\tfont-weight: bold;\n\tfont-size: 1em;\n\tmargin-bottom: 12px;\n}\n\n#home-below h4 {\n\tmargin-top: 28px;\n\tmargin-bottom: 16px;\n}\n\n#home-below h4 a {\n\tfont-weight: bold;\n}\n\n#home-below h5 {\n\tmargin-bottom: 0;\n}\n\n#home-below img.book {\n\tmargin-top: -17px;\n\tmargin-bottom: 6px;\n}\n\n#home-below a {\n\tfont-size: 14px;\n}\n\n#home-below ol.steps {\n\tmargin-top: -4px;\n}\n\n#home-below ol.steps li {\n\tpadding-left: 44px;\n\tpadding-top: 4px;\n\tmargin-bottom: 17px;\n\tposition: relative;\n}\n\n#home-below ol.steps li span {\n\tcontent: '';\n\twidth: 31px;\n\theight: 31px;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbackground-image: url(//s.w.org/style/images/steps.png);\n\tbackground-size: 93px 31px;\n\tbackground-repeat: no-repeat;\n}\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n       only screen and (min-resolution: 1.5dppx),\n       only screen and (min-resolution: 144dpi) {\n\t#home-below ol.steps li span {\n\t\tbackground-image: url(//s.w.org/style/images/steps-2x.png);\n\t}\n}\n\n#home-below ol.steps li.one span {\n\tbackground-position: 0 0;\n}\n\n#home-below ol.steps li.two span {\n\tbackground-position: -31px 0;\n}\n\n#home-below ol.steps li.three span {\n\tbackground-position: -62px 0;\n}\n\nul#notable-users {\n\tlist-style: none;\n}\n\np#showcase-link a {\n\tfont-size: 0.9em;\n\tborder: none;\n}\n\nol.steps {\n\tlist-style: none;\n}\n\nul#notable-users li a {\n\tdisplay: block;\n\twidth: 130px;\n\theight: 59px;\n\tmargin-bottom: 8px;\n\tborder-top: 1px solid #f5f5f5;\n\tborder-left: 1px solid #f5f5f5;\n\tborder-right: 1px solid #dedede;\n\tborder-bottom: 1px solid #dedede;\n}\n\nul#notable-users li a:active {\n\tborder-top: 1px solid #dedede;\n\tborder-left: 1px solid #dedede;\n\tborder-right: 1px solid #f5f5f5;\n\tborder-bottom: 1px solid #f5f5f5;\n}\n\ninput.text {\n\tmargin-right: 2px;\n\tfont-size: 12px;\n\tpadding: 3px;\n\tbackground: #f5f5f5;\n\tborder: 1px solid #ccc;\n\theight: 16px;\n\tvertical-align: top;\n\tcolor: #666;\n\tfont-family: sans-serif;\n}\n\n#headline {\n\theight: 62px;\n\tbackground: #f7f7f7;\n\tborder-bottom: 1px solid #dfdfdf;\n}\n\n#headline h2 {\n\tcolor: #555;\n\tfont-size: 28px;\n\tline-height: 1em;\n\ttext-shadow: #fff 0px 1px 0px;\n\tpadding-top: 18px;\n\tpadding-left: 9px;\n\tfloat: left;\n}\n\n.wporg-make .site-title a:before,\nbody.wporg-make #headline h2 a:before {\n\t-webkit-font-smoothing: antialiased;\n\tdisplay: inline-block;\n\tfont: normal 28px/1 'dashicons';\n\tvertical-align: top;\n\twidth: 36px;\n}\nbody.make-core #headline h2 a:before { content: '\\f475'; }\nbody.make-design #headline h2 a:before { content: '\\f309'; }\nbody.make-mobile #headline h2 a:before { content: '\\f470'; }\nbody.make-accessibility #headline h2 a:before { content: '\\f483'; }\nbody.make-polyglots #headline h2 a:before { content: '\\f326'; }\nbody.make-support #headline h2 a:before { content: '\\f125'; }\nbody.make-themes #headline h2 a:before { content: '\\f100'; }\nbody.make-plugins #headline h2 a:before { content: '\\f106'; }\nbody.make-docs #headline h2 a:before { content: '\\f105'; }\nbody.make-community #headline h2 a:before { content: '\\f307'; }\nbody.make-meta #headline h2 a:before { content: '\\f325'; }\nbody.make-training #headline h2 a:before { content: '\\f118'; }\nbody.make-flow #headline h2 a:before { content: '\\f115'; }\nbody.make-tv #headline h2 a:before { content: '\\f235'; }\nbody.make-marketing #headline h2 a:before { content: '\\f130'; }\nbody.make-cli #headline h2 a:before { content: '\\f345'; }\nbody.make-hosting #headline h2 a:before { content: '\\f176'; }\n\n.make-core .site-title a:before { content: '\\f475'; }\n.make-design .site-title a:before { content: '\\f309'; }\n.make-mobile .site-title a:before { content: '\\f470'; }\n.make-accessibility .site-title a:before { content: '\\f483'; }\n.make-polyglots .site-title a:before { content: '\\f326'; }\n.make-support .site-title a:before { content: '\\f125'; }\n.make-themes .site-title a:before { content: '\\f100'; }\n.make-plugins .site-title a:before { content: '\\f106'; }\n.make-docs .site-title a:before { content: '\\f105'; }\n.make-community .site-title a:before { content: '\\f307'; }\n.make-meta .site-title a:before { content: '\\f325'; }\n.make-training .site-title a:before { content: '\\f118'; }\n.make-systems .site-title a:before { content: '\\f107'; }\n.make-flow .site-title a:before { content: '\\f115'; }\n.make-tv .site-title a:before { content: '\\f235'; }\n.make-marketing .site-title a:before { content: '\\f130'; }\n.make-cli .site-title a:before { content: '\\f345'; }\n.make-hosting .site-title a:before { content: '\\f176'; }\n\n#headline .login {\n\tfont-size: 12px;\n\tposition: relative;\n\tfloat: right;\n\tpadding-top: 22px;\n\tmargin-right: 15px;\n}\n\n#headline .login a {\n\tcolor: #21759b;\n}\n\n#headline .login a:visited {\n\tcolor: #4ca6cf;\n}\n\n#headline input.text {\n\tbackground: #fff;\n\tborder: 1px solid #c6d9e9;\n}\n\n#pages {float:right;}\n\n#pagebody .submenu, #pagebody #submenu {\n\tmargin-left: 0;\n\tmargin-top: -2px;\n\tfont-size: 10px;\n\tlist-style: none;\n}\n\n#pagebody .submenu a#subcurrent, #pagebody #submenu a#subcurrent {\n\tcolor: #23282d;\n\tcursor: default;\n}\n\np.person {\n\tpadding-bottom: 10px;\n\tborder-bottom: 1px solid #dadada;\n\tmargin-bottom: 11px;\n}\n\n#pagebody .submenu li {\n\tborder-bottom: 1px solid #dedede;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tpadding: 5px 0;\n}\n\n#pagebody .submenu li a {\n\twidth: 100%;\n\tdisplay: block;\n}\n\n#pagebody .submenu li.current {\n\tbackground: url(//s.w.org/style/images/arrow.png) center left no-repeat;\n\tfont-weight: bold;\n}\n\n#pagebody .submenu li:last-child {\n\tborder-bottom: 0;\n}\n\n#pagebody .submenu li ul {\n\tmargin-top: 0 !important;\n\tmargin-left: 16px !important;\n}\n\n#pagebody .submenu li ul li {\n\tborder: none;\n\tline-height: 1.4em;\n\tpadding-bottom: 2px;\n}\n\n#pagebody {\n\tfont-size: 13px;\n\tmargin-top: 29px;\n\tmargin-bottom: 22px;\n}\n\n#pagebody p, #pagebody ol, #pagebody ul {\n\tmargin: 0 0 22px 0;\n}\n\n#pagebody ul {\n\tmargin-left: 16px;\n\tlist-style: square;\n}\n\n#pagebody .submenu ul {\n\tmargin-bottom: 0;\n}\n\na.rsslink {\n\tbackground:url(//s.w.org/style/images/feedicon10.png) top left no-repeat;\n\tpadding-left: 14px;\n}\n\n#pagebody ol {\n\tmargin-left: 22px;\n}\n\n#pagebody ol.screenshots {\n\tlist-style: none;\n}\n\n#pagebody p.intro {\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n\tcolor: #555;\n\tfont-size: 15px;\n\tline-height: 1.6em;\n\tmargin-top: -1px;\n\tmargin-bottom: 23px;\n}\n\n#pagebody p.intro a {\n\tfont-weight: normal;\n}\n\n.feed {\n\tbackground: url(//s.w.org/style/images/feedicon.png) center left no-repeat;\n\tpadding-left: 19px;\n}\n\n#wporg-footer {\n\tclear: both;\n\toverflow: auto;\n\tmargin: 0 auto;\n\tpadding: 22px 14px 65px 14px;\n\tborder-top: 1px solid #dfdfdf;\n\tbackground-color: #f7f7f7;\n}\n\n#wporg-footer .wrapper {\n\toverflow: auto;\n\tmax-width: 932px;\n}\n\n#wporg-footer ul {\n\tfloat: left;\n\toverflow: auto;\n\twidth: 135px;\n\tmargin-left: 24px;\n\tmargin-bottom: 20px; /* for narrow screens */\n\tpadding-left: 0; /* override other generic styles */\n}\n\n@media screen and (min-width:960px) {\n\t#wporg-footer ul:first-child {\n\t\tmargin-left: 0;\n\t}\n}\n\n@media screen and (min-width:561px) and (max-width:959px) {\n\t#wporg-footer .wrapper {\n\t\tmax-width: 600px;\n\t}\n\n\t#wporg-footer ul:nth-child(3n+1) {\n\t\tmargin-left: 0;\n\t}\n\n\t#wporg-footer ul:nth-child(4n) {\n\t\tclear: both;\n\t}\n\n\t#wporg-footer ul {\n\t\tmargin-left: 2%;\n\t\twidth: 32%;\n\t}\n}\n\n@media screen and (max-width:560px) {\n\t#wporg-footer .wrapper {\n\t\tmax-width: 360px;\n\t}\n\n\t#wporg-footer ul:nth-child(2n+1) {\n\t\tmargin-left: 0;\n\t}\n\n\t#wporg-footer ul:nth-child(odd) {\n\t\tclear: both;\n\t}\n\n\t#wporg-footer ul {\n\t\tmargin-left: 4%;\n\t\twidth: 48%;\n\t}\n}\n\n#wporg-footer ul li {\n\tfont-size: 14px;\n\tmargin-bottom: 1px;\n\tcolor: #bbb;\n\tlist-style-type: none;\n}\n\n#wporg-footer ul li a {\n\tborder: none;\n}\n\n#wporg-footer .cip {\n\tclear: both;\n\tfloat: none;\n\ttext-align: center;\n\tmargin: 35px auto 0 auto;\n\tfont-size: 16px;\n\tletter-spacing: 0.3em;\n\ttext-transform: uppercase;\n\tcolor: #cccccc;\n}\n\n#wporg-footer .cip-image {\n\tbackground: url(//s.w.org/style/images/codeispoetry.png?1) center center no-repeat;\n\tbackground-size: 190px 15px;\n\twidth: 190px;\n\theight: 15px;\n\ttext-indent: -9999px;\n}\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n       only screen and (min-resolution: 1.5dppx),\n\t   only screen and (min-resolution: 144dpi) {\n\t#wporg-footer .cip-image {\n\t\tbackground-image: url(//s.w.org/style/images/codeispoetry-2x.png?1);\n\t}\n}\n\nblockquote {\n\tbackground: #f5f5f5;\n\tborder: 1px solid #dadada;\n\tpadding: 22px 22px 0;\n\tmargin-bottom: 22px;\n}\n\n.wporg-page-about-books #pagebody h2 {\n\tmargin-bottom: 1em;\n}\n\n#pagebody ul.books, ul#otherbooks {\n\tlist-style: none;\n\tmargin: 0;\n}\n\n#pagebody .books .image, #otherbooks .image {\n\twidth: 200px;\n\tdisplay: block;\n\tfloat: left;\n\ttext-align: center;\n\tmargin: 18px;\n\tborder-right: 1px solid #dadada;\n}\n\n#pagebody .books img, #otherbooks img {\n\tborder: 1px solid #dadada;\n}\n\n#pagebody .books.mobile img {\n\tborder:none;\n}\n\n#pagebody .books li, #otherbooks li {\n\tbackground: #f5f5f5;\n\tborder: 1px solid #dadada;\n\tborder-right-color: #eee;\n\tborder-bottom-color: #e0e0e0;\n\tmargin-bottom: 22px;\n\tclear: both;\n\tfloat: left;\n\twidth: 100%;\n}\n\n#pagebody .books h3, #otherbooks h3 {\n\tmargin: 18px 0 5px 0;\n\tfont: 21px Georgia, Times, \"Times New Roman\", serif;\n}\n\n#otherbooks h3, #otherbooks p {\n\tmargin-left:20px;\n}\n\n#otherbooks h3 {\n\tfont-size:18px;\n}\n\n#pagebody .books p, #otherbooks p {\n\tpadding-right: 22px;\n\tpadding-left: 22px;\n\tmargin-bottom: 7px;\n\tline-height: 1.4em;\n}\n\n#pagebody .books .author, #otherbooks .author {\n\tfont: italic 15px Georgia, Times, \"Times New Roman\", serif;\n\tmargin-bottom: 11px;\n\tcolor: #888;\n}\n\n#pagebody .books .published, #otherbooks .published {\n\tfont-size: 11px;\n\ttext-transform: uppercase;\n\tletter-spacing: 0.2em;\n\tcolor: #888;\n}\n\n#pagebody .books h3 a, #otherbooks h3 a {\n\tfont-weight: normal;\n}\n\n.features .col-5 li {\n\tmargin-bottom:15px;\n}\n\n.alt { background: #f2f2f2; }\n\n.featured {\n\tbackground: #fffbcc;\n\tborder: 1px solid #e6db55;\n\tpadding: 11px 11px 16px;\n\tmargin: 32px 0;\n\toverflow: auto;\n\t/*width: 670px;*/\n}\n\n.wporg-page-hosting #pagebody .partner .forum {\n\tmargin: 0;\n}\n\n.partner {\n\tclear: both;\n\tmin-height: 100px;\n\tmargin: 40px 10px 40px 0;\n\tpadding-left: 120px;\n\tposition: relative;\n}\n\n.partner p {\n\tmargin-bottom: 10px;\n}\n\n.partner img {\n\tmargin-left: 10px;\n\tposition: absolute;\n\ttop: 0;\n\tleft: -10px;\n}\n@media (max-width: 359px) {\n\t.partner {\n\t\tmargin-right: 15px;\n\t\tpadding-left: 15px;\n\t}\n\t.partner img {\n\t\tfloat: right;\n\t\tposition: relative;\n\t}\n}\n\n.submit {\n\tborder-top: 1px solid #ccc;\n\tpadding: 1.5em 0 0 0;\n\tmargin: 10px 0 0 0;\n\t-moz-border-radius-bottomleft: 3px;\n\t-khtml-border-bottom-left-radius: 3px;\n\t-webkit-border-bottom-left-radius: 3px;\n\tborder-bottom-left-radius: 3px;\n\t-moz-border-radius-bottomright: 3px;\n\t-khtml-border-bottom-right-radius: 3px;\n\t-webkit-border-bottom-right-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n#pagebody table.widefat {\n\tborder-collapse: collapse;\n\twidth: 100%;\n\tclear: both;\n\tmargin-bottom: 11px;\n}\n\n#pagebody table.widefat a {\n\ttext-decoration: none;\n}\n\n#pagebody table.widefat tr.alt {\n\tbackground-color: #f2f2f2;\n}\n\n#pagebody table.widefat tbody.hover {\n\tcursor: pointer;\n}\n\n#pagebody table.widefat tbody tr.hover,\n#pagebody table.widefat tbody tr:hover {\n\tbackground-color: #ddd;\n}\n#pagebody table.widefat tbody tr.hover a,\n#pagebody table.widefat tbody a:hover {\n\tcolor: #d54e21;\n}\n\n#pagebody table.widefat td, #pagebody table.widefat th {\n\tfont-size: 13px;\n\tpadding: 6px;\n\tvertical-align: text-top;\n}\n\n#pagebody table.widefat thead {\n\tbackground-color: #cfcfcf;\n\tcolor: #000;\n\tfont-weight: bold;\n}\n\n#pagebody table.widefat th {\n\tpadding-bottom: 4px;\n\tpadding-top: 8px;\n\ttext-align: left;\n}\n\n#pagebody table.widefat .check-column {\n\ttext-align: center;\n\tvertical-align: text-top;\n\twidth: 3%;\n}\n\n.wrap, .updated, .error {\n\tmargin: 0;\n\tmargin-left: 15px;\n\tmargin-right: 15px;\n\tpadding: 0;\n\tmax-width: 980px;\n}\n\n.form-table, form#profile-form table {\n\tborder-collapse: collapse;\n\tmargin-top: 1em;\n\twidth: 100%;\n\tcolor: #333;\n}\n\n.form-table td, form#profile-form table td {\n\tmargin-bottom: 9px;\n\tpadding: 10px;\n\tline-height: 20px;\n\tborder-bottom-width: 8px;\n\tborder-bottom-style: solid;\n\n}\n\n.form-table th, form#profile-form table th {\n\ttext-align: left;\n\tpadding: 10px;\n\twidth: 150px;\n\tfont-weight: bold;\n\tborder-bottom-width: 8px;\n\tborder-bottom-style: solid;\n}\n\n.form-table input[type='text'], .form-table textarea,\nform#profile-form table input[type='text'], form#profile-form textarea {\n\tborder: 1px solid #d1e5f6;\n\tborder-top-color: #b0c1cf;\n\tborder-left-color: #b0c1cf;\n}\n\n.form-table input[type='text'] {\n\tpadding: 3px;\n}\n\n.form-table textarea, form#profile-form table textarea {\n\twidth: 520px !important;\n\tfont-size: 13px;\n\tline-height: 1.5em;\n}\n\n.error {\n\tbackground-color: #ffebe8;\n\tborder-color: #c00;\n}\n\n.error a {\n\tcolor: #c00;\n}\n\n.form-invalid {\n\tbackground-color: #ffebe8 !important;\n}\n\n.form-invalid input {\n\tborder-color: #c00 !important;\n}\n\n.form-table td, .form-table th,\nform#profile-form table td, form#profile-form table th {\n\tborder-bottom-color: #fff;\n}\n\n.form-input-tip {\n\tcolor: #999;\n}\n\n#sitesearch {\n\tmargin-top: 10px;\n\tmargin-bottom: 22px;\n\tfont-size: 10px;\n}\n\n#sitesearch #sitesearchbox {\n\twidth: 45%;\n\tpadding: 3px;\n\tfont-size: 18px;\n}\n\n#sitesearch p { margin-top: 4px; }\n\n#sitesearch label { margin-right: 6px;}\n\n#sitesearch .text {\n\theight: 24px;\n}\n\n#sitesearch .button {\n\tfont-size: 16px;\n\tmargin-left: 4px;\n\theight: 32px;\n\tpadding: 0 6px;\n}\n\nol.searchresults {\n\tmargin-top: 22px !important;\n\tpadding-left: 4px;\n}\n\ndiv.special { margin-top: 22px; }\n\n.searchresults h4, .special h4 {\n\tmargin-bottom: 4px;\n}\n.searchresults .source, .special .source {\n\tfloat: right;\n\tfont-size: 10px;\n\tfont-style: italic;\n\tfont-family: \"Lucida Sans\";\n\tcolor: #888;\n\tfont-weight: normal;\n}\n\n.heatmap {\n\tfont-family: Georgia, Times, \"Times New Roman\", serif;\n\tline-height: 3em;\n}\n\n.heatmap a {\n\tfont-weight: normal;\n}\n\n.col-10 .col-5 {\n\tmargin: 0;\n\twidth: 352px;\n}\n\n.col-10 .col-10 {\n\tmargin: 24px 0 0;\n\tclear: both;\n}\n\n.col-10 .col-8, .col-10 .col-7 {\n\tmargin: 0;\n}\n\n.col-10 .col-5 table td {\n\tline-height: 1.5em;\n\tpadding: 10px 0;\n\tborder-bottom: 1px solid #dadada;\n}\n\n.more {\n\tfont-size: 90%;\n}\n\n.column-list {\n\tfont-size: 12px;\n\tline-height: 1.5em;\n}\n\n.column-list li {\n\tpadding-bottom: 4px;\n}\n\n#theuser .block {\n\tmargin: 24px;\n}\n\n#theuser #userinfo {\n\tmargin-left: 22px;\n\tmargin-bottom: 0;\n}\n\n#lang-guess {\n\twidth: 93%;\n\tmax-width: 932px;\n\tmargin: 22px auto 0;\n\tbackground: #fffbcc;\n\tborder: 1px solid #e6db55;\n\ttext-align: center;\n\tfont: 1.3em Georgia, Times, \"Times New Roman\", serif;\n\tpadding: 10px 0;\n\t-moz-border-radius: 3px;\n\t-khtml-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n}\n\nh3.graphics {\n\tclear: both;\n\tpadding-top: 20px;\n\tfont-size:22px;\n\tfont-weight: normal;\n\tcolor: #999;\n\tpadding-bottom: 6px;\n}\n\nul.logo {\n\tmargin: 0 14px 14px 0 !important;\n\twidth: 176px;\n\tborder: 1px solid #dfdfdf;\n\tborder-top: none;\n\tfloat: left;\n}\n\nul.logo li {\n\tlist-style: none;\n\tborder-bottom: 1px solid #dfdfdf;\n\tbackground: #f5f5f5;\n\tline-height:13px;\n}\n\nul.logo li.img {\n\tbackground: #fff;\n}\n\nul.logo li a span {\n\tcolor: #999;\n\tfont-weight: normal;\n}\n\nul.logo li a {\n\tdisplay: block;\n\tpadding: 6px 8px;\n\tfont-size:10px;\n}\n\nul.logo li:first-child {\n\tborder-top: 1px solid #dfdfdf;\n}\n\nul.logo li:last-child {\n\tborder-bottom: none;\n}\n\np.community {\n\tclear: both;\n\tfont-size:14px;\n\tpadding: 24px 0;\n}\n\n\nul.logo .pnglogo { background: #eee; text-align: center;}\n\nul.logo .pnglogo:hover { background: #555; }\n\n.pnglogo img {\n\tpadding: 62px 0;\n}\n\n#logo-blue img, #logo-grey img { padding: 20px 0; }\n\n\nul.colors {\n\tmargin: 0 !important;\n}\n\nul.colors li {\n\tfloat: left;\n\tlist-style: none;\n\tmargin-left: 60px;\n\tpadding-right:50px;\n\tborder-right: 1px solid #dfdfdf;\n\tmargin-right:50px;\n\tmargin-bottom: 24px;\n\tline-height: 14px;\n\tfont-size: 10px;\n\tcolor: #666;\n}\n\nul.colors li strong {\n\tfont-size: 12px;\n\tcolor: #333;\n}\n\nul.colors li:last-child {\n\tpadding-right: 0;\n\tmargin-right: 0;\n\tborder-right: none;\n}\n\nul.colors li img {\n\tfloat: left;\n\tmargin-left: -60px;\n}\n\nbody .meta {\n\tfont-size: 12px;\n\tcolor: #777;\n\tmargin-bottom: 10px;\n}\n\nbody .meta a {\n\tcolor: #777;\n\tborder-bottom: 1px solid #dfdfdf;\n}\n\nbody .meta a:hover { color: #d54e21; border-bottom-color: #d54e21; }\n\nhr { border: none; border-top: 1px solid #dfdfdf; }\n\n#headline a {\n\tcolor: #555;\n}\n\nimg#wpstats {\n\tmargin: -10px 10px 0;\n}\n\n.wporg-stats-chart path[fill=\"#cccccc\"] {\n\tfill: #cbcdce;\n}\n\n.wporg-stats-chart path[fill=\"#0011cc\"] {\n\tfill: #0073aa;\n\tcursor: pointer;\n}\n\n.wporg-stats-chart path[fill=\"#0011cc\"]:hover {\n\tfill: #00a0d2;\n}\n\n.wporg-stats-chart text[fill=\"#0011cc\"] {\n\tfill: #444;\n}\n\n.wporg-stats-chart {\n\twidth: 650px; /* Avoid jumps when the charts are loaded. */\n\theight: 450px;\n\tposition: relative;\n}\n\n.wporg-stats-chart.loading:before {\n\tcontent: '';\n\tdisplay: block;\n\twidth: 20px;\n\theight: 20px;\n\tposition: absolute;\n\tleft: 50%;\n\ttop: 50%;\n\tmargin: -10px 0 0 -10px;\n\tbackground: url(https://s.w.org/wp-includes/images/spinner.gif) no-repeat center;\n\t-webkit-background-size: 20px 20px;\n\tbackground-size: 20px 20px;\n\t-webkit-transform: translateZ(0);\n\ttransform: translateZ(0);\n}\n\n@media print,\n  (-webkit-min-device-pixel-ratio: 1.25),\n  (min-resolution: 120dpi) {\n\t.wporg-stats-chart.loading:before {\n\t\tbackground-image:url(https://s.w.org/wp-includes/images/spinner-2x.gif)\n\t}\n}\n\n/* Responsive styling ---------------------------------- */\n\n.wporg-page-download .mobile-notice {\n\tdisplay: none;\n}\n.wporg-page-download .download-button-container {\n\ttext-align: center;\n}\n.wporg-page-mobile {\n\tbackground-color: #f1f1f1;\n}\n.wporg-page-mobile #pagebody ul.books {\n\tdisplay: -moz-box;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n.wporg-page-mobile #pagebody .books li {\n\twidth: 49%;\n\tmargin-left: 1%;\n\tclear: none;\n}\n.wporg-page-mobile #pagebody .books li:first-child {\n\tmargin-left: 0;\n\tmargin-right: 1%;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books p {\n\tmargin-bottom: 14px;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books li {\n\tpadding: 0 14px 15px;\n\tbox-sizing: border-box;\n\tbackground-color: #fff;\n\tborder: 1px solid #dedede;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books h3 {\n\tmargin-bottom: 15px;\n}\n.wporg-responsive.wporg-page-mobile #pagebody .books .image {\n\tfloat: right;\n\tborder-right: 0;\n\tborder-left: 1px solid #dadada;\n\tmargin-left: 14px;\n\tmargin-right: 0;\n\tmargin-top: 0;\n}\n\n.wporg-responsive .col-7,\nbody.wporg-responsive .col-8,\nbody.wporg-responsive .col-10 {\n\tmargin-left: 174px;\n}\nbody.wporg-responsive .col-2 {\n\tposition: absolute;\n}\n\n.wporg-responsive .col-10 .col-5 {\n\twidth: 50%;\n\tbox-sizing: border-box;\n\tpadding-right: 14px;\n}\n.wporg-responsive .col-10 .col-5:last-child {\n\tpadding-right: 0;\n\tpadding-left: 14px;\n}\n.wporg-responsive.wporg-page-parent-about .col-7,\n.wporg-responsive.wporg-page-parent-about .col-8,\n.wporg-responsive.wporg-page-parent-about .col-10 {\n\tmin-height: 550px;\n}\n\n.wporg-responsive.wporg-page-about-logos h3.graphics img {\n\tfloat: right;\n\tmargin-top: -40px;\n\tmargin-left: 40px;\n}\n.wporg-responsive.wporg-page-about-logos .all-logos ul.logo li {\n\tmin-height: 39px;\n}\n.wporg-responsive.wporg-page-about-logos .all-logos ul.logo li.img {\n\tmin-height: 150px;\n}\n.wporg-responsive.wporg-page-about-logos ul.logo li.img {\n\tline-height: 0;\n\ttext-align: center;\n}\n@media screen and (max-width: 974px) {\n\tbody.wporg-responsive #pagebody .wrapper {\n\t\tdisplay: -moz-box;\n\t\tdisplay: -ms-flexbox;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\tbody.wporg-responsive .col-2,\n\tbody.wporg-responsive .col-3,\n\tbody.wporg-responsive .col-6,\n\tbody.wporg-responsive .col-7,\n\tbody.wporg-responsive .col-8,\n\tbody.wporg-responsive .col-9,\n\tbody.wporg-responsive .col-10,\n\tbody.wporg-responsive .col-12 {\n\t\twidth: inherit;\n\t\tfloat: none;\n\t\tword-wrap: break-word;\n\t}\n\n\tbody.wporg-responsive .col-2 {\n\t\tposition: inherit;\n\t\twidth: 100%;\n\t}\n\n\tbody.wporg-responsive .col-8,\n\tbody.wporg-responsive .col-9,\n\tbody.wporg-responsive .col-10 {\n\t\tmargin-left: 14px;\n\t\tmargin-right: 14px;\n\t}\n\n\t.wporg-responsive.wporg-page-parent-about .col-7,\n\t.wporg-responsive.wporg-page-parent-about .col-8,\n\t.wporg-responsive.wporg-page-parent-about .col-10 {\n\t\tmin-height: inherit;\n\t}\n\n\t.wporg-responsive.wporg-page-mobile #pagebody .books li {\n\t\twidth: 100%;\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t/*\n\t * /download\n\t */\n\n\t.wporg-responsive .col-7 ~.col-2 {\n\t\tposition: inherit;\n\t\tfloat: left;\n\t\twidth: 50%;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t\tpadding: 0 14px;\n\t}\n\t.wporg-responsive .col-7 ~ .col-3 {\n\t\tfloat: right;\n\t\twidth: 50%;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t\tpadding: 0 14px;\n\t}\n\t.wporg-responsive .col-7 {\n\t\tmargin-left: 14px;\n\t\tmargin-right: 14px;\n\t\twidth: inherit;\n\t\tmargin-bottom: 3em;\n\t\tpadding-bottom: 2em;\n\t\tborder-bottom: 1px solid #ccc;\n\t}\n\n\t/*\n\t * /news and /showcase\n\t */\n\n\t.wporg-responsive .storycontent {\n\t\tpadding-right: 0;\n\t}\n}\n@media screen and (max-width: 700px) {\n\t.wporg-responsive.wporg-page-about-logos h3.graphics {\n\t\tpadding-top: 0;\n\t}\n\t.wporg-responsive.wporg-page-about-logos h3.graphics img {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 0 auto 14px;\n\t}\n}\n@media screen and (max-width: 480px) {\n\t.wporg-responsive .col-7 {\n\t\tborder-bottom: 0;\n\t}\n\t.wporg-responsive #sidebar, .wporg-responsive .col-7 {\n\t\tfloat: none;\n\t}\n\t.wporg-responsive #sidebar {\n\t\twidth: 100%;\n\t}\n\n\t.wporg-responsive .col-10 .col-5, .wporg-responsive .col-10 .col-5:last-child {\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t}\n\n\t.wporg-responsive .col-7 ~ .col-3 {\n\t\tmargin-top: 2em;\n\t\tborder-top: 1px solid #ccc;\n\t\tpadding-top: 3em;\n\t\twidth: inherit;\n\t\tfloat: none;\n\t\tmargin: 2em auto;\n\t}\n\t.wporg-page-download .mobile-notice {\n\t\tdisplay: block;\n\t\twidth: 60%;\n\t\tmargin: 1px auto 3em;\n\t\tborder: 1px solid #ccc;\n\t\tpadding: 2em 1.9em 0.5em;\n\t}\n\t.wporg-page-download .mobile-notice-inner {\n\t\tdisplay: none;\n\t}\n\n\t.wporg-page-about-books #pagebody .books li {\n\t\tpadding: 0 18px 18px;\n\t\tbox-sizing: border-box;\n\t}\n\t.wporg-page-about-books #pagebody .books .image {\n\t\tborder-right: 0;\n\t\tfloat: none;\n\t\twidth: inherit;\n\t}\n\t.wporg-page-about-books #pagebody .books p {\n\t\tpadding-right: 0;\n\t\tpadding-left: 0;\n\t}\n\n\t.wporg-responsive.wporg-page-about-logos ul.logo {\n\t\twidth: 100%;\n\t}\n}\n\n\n/*\n *  Notifications\n */\n\n .notification {\n\tbackground: #eee;\n\tfont-size: 13px;\n\tmargin: 0;\n\tmax-width: 100%;\n\tpadding: 8px 12px;\n\ttext-align: center;\n}\n\n.notification-info {\n\tbackground: #d9edf7;\n}\n\n.notification-success {\n\tbackground: #c7e8ca;\n}\n\n.notification-warning {\n\tbackground: #fff8e5;\n}\n\n.notification-danger {\n\tbackground: #f2dede;\n}\n"]}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/mu-plugins/pub/class-o2-follow.php wordpress.org/public_html/wp-content/mu-plugins/pub/class-o2-follow.php
index 2e5f05834..5258f5e3a 100644
--- wordpress.org/public_html/wp-content/mu-plugins/pub/class-o2-follow.php
+++ wordpress.org/public_html/wp-content/mu-plugins/pub/class-o2-follow.php
@@ -78,13 +78,13 @@ class o2_follow {
 	 */
 	public function get_options( $options ) {
 		$localizations      = array(
-			'follow'               => __( 'Follow', 'o2' ),
-			'followComments'       => __( 'Follow comments', 'o2' ),
-			'unfollow'             => __( 'Unfollow', 'o2' ),
-			'unfollowComments'     => __( 'Unfollow comments', 'o2' ),
-			'followError'          => __( 'There was a problem updating your following preferences.', 'o2' ),
-			'followingAll'         => __( 'Following all', 'o2' ),
-			'followingAllComments' => __( 'You are already following all comments on this site.', 'o2' ),
+			'follow'               => __( 'Follow', 'wporg' ),
+			'followComments'       => __( 'Follow comments', 'wporg' ),
+			'unfollow'             => __( 'Unfollow', 'wporg' ),
+			'unfollowComments'     => __( 'Unfollow comments', 'wporg' ),
+			'followError'          => __( 'There was a problem updating your following preferences.', 'wporg' ),
+			'followingAll'         => __( 'Following all', 'wporg' ),
+			'followingAllComments' => __( 'You are already following all comments on this site.', 'wporg' ),
 		);
 		$localizations      = array_merge( $options['strings'], $localizations );
 		$options['strings'] = $localizations;
@@ -119,7 +119,7 @@ class o2_follow {
 
 		$comment_form_extras .= '<p class="comment-subscription-form">';
 		$comment_form_extras .= '<input type="checkbox" name="subscribe" id="subscribe" value="subscribe" style="width: auto;"' . checked( $checked, true, false ) . '/> ';
-		$comment_form_extras .= '<label class="subscribe-label" id="subscribe-label" for="subscribe" style="display: inline;">' . esc_html__( 'Notify me of new comments via email.', 'o2' ) . '</label>';
+		$comment_form_extras .= '<label class="subscribe-label" id="subscribe-label" for="subscribe" style="display: inline;">' . esc_html__( 'Notify me of new comments via email.', 'wporg' ) . '</label>';
 		$comment_form_extras .= '</p>';
 
 		return $comment_form_extras;
@@ -169,7 +169,7 @@ class o2_follow {
 	 * @return string
 	 **/
 	public function subscription_o2_post_form( $post_form_extras = '' ) {
-		$label = esc_html__( 'Notify me of new comments via email.', 'o2' );
+		$label = esc_html__( 'Notify me of new comments via email.', 'wporg' );
 
 		$post_form_extras .= '<p style="margin-top: 1.5em;" class="comment-subscription-form"><input type="checkbox" name="post_subscribe" id="post_subscribe" value="post_subscribe" style="margin-left: .5em;"/>';
 		$post_form_extras .= '<label style="font-size: 1.2em; margin-bottom: .5em;" id="post_subscribe_label" for="post_subscribe"><small>' . $label . '</small></label>';
@@ -185,15 +185,15 @@ class o2_follow {
 		if ( function_exists( 'o2_register_post_action_states' ) ) {
 			o2_register_post_action_states( 'follow', [
 				'normal'     => [
-					'shortText' => __( 'Follow', 'o2' ),
-					'title'     => __( 'Follow comments', 'o2' ),
+					'shortText' => __( 'Follow', 'wporg' ),
+					'title'     => __( 'Follow comments', 'wporg' ),
 					'classes'   => [],
 					'genericon' => 'genericon-subscribe',
 					'nextState' => 'subscribed',
 				],
 				'subscribed' => [
-					'shortText' => __( 'Following', 'o2' ),
-					'title'     => __( 'Unfollow comments', 'o2' ),
+					'shortText' => __( 'Following', 'wporg' ),
+					'title'     => __( 'Unfollow comments', 'wporg' ),
 					'classes'   => [ 'post-comments-subscribed' ],
 					'genericon' => 'genericon-unsubscribe',
 					'nextState' => 'normal',
diff --git wordpress.org/public_html/wp-content/mu-plugins/pub/locales.php wordpress.org/public_html/wp-content/mu-plugins/pub/locales.php
new file mode 100644
index 000000000..ed5efc82d
--- /dev/null
+++ wordpress.org/public_html/wp-content/mu-plugins/pub/locales.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Plugin Name: GlotPress/WordPress Locales
+ * Description: Defines <code>GP_Locale</code> and <code>GP_Locales</code> and extends them with custom locales used throughout wordpress.org.
+ * License: GPLv2 or later
+ */
+
+namespace {
+	require_once __DIR__ . '/locales/locales.php';
+}
+
+namespace WordPressdotorg\Locales {
+
+	use GP_Locales;
+
+	/**
+	 * Sets available languages to all possible locales.
+	 */
+	function set_available_languages() {
+		static $locales;
+
+		if ( ! isset( $locales ) ) {
+			$locales = GP_Locales::locales();
+			$locales = array_column( $locales, 'wp_locale' );
+			$locales = array_filter( $locales );
+		}
+
+		return $locales;
+	}
+	add_filter( 'get_available_languages', __NAMESPACE__ . '\set_available_languages', 10, 0 );
+}
diff --git wordpress.org/public_html/wp-content/mu-plugins/pub/locales/locales.php wordpress.org/public_html/wp-content/mu-plugins/pub/locales/locales.php
new file mode 100644
index 000000000..1316b992f
--- /dev/null
+++ wordpress.org/public_html/wp-content/mu-plugins/pub/locales/locales.php
@@ -0,0 +1,2575 @@
+<?php
+/**
+ * - Copy of https://github.com/GlotPress/GlotPress-WP/blob/537c44daa66b025994ef16f8bc618ec6112de56c/gp-settings.php
+ * - With support for custom locale variants.
+ * - Should not have other dependecies because the file gets also loaded in api.wordpress.org context.
+ */
+
+if ( ! class_exists( 'GP_Locale' ) ) :
+
+class GP_Locale {
+	public $english_name;
+	public $native_name;
+	public $text_direction = 'ltr';
+	public $lang_code_iso_639_1 = null;
+	public $lang_code_iso_639_2 = null;
+	public $lang_code_iso_639_3 = null;
+	public $country_code;
+	public $wp_locale;
+	public $slug;
+	public $nplurals = 2;
+	public $plural_expression = 'n != 1';
+	public $google_code = null;
+	public $preferred_sans_serif_font_family = null;
+	public $facebook_locale = null;
+	// TODO: days, months, decimals, quotes
+
+	private $_index_for_number;
+
+	public function __construct( $args = array() ) {
+		foreach( $args as $key => $value ) {
+			$this->$key = $value;
+		}
+	}
+
+	public static function __set_state( $state ) {
+		return new GP_Locale( $state );
+	}
+
+	/**
+	 * Make deprecated properties checkable for backwards compatibility.
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		if ( 'rtl' == $name ) {
+			return isset( $this->text_direction );
+		}
+	}
+
+	/**
+	 * Make deprecated properties readable for backwards compatibility.
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		if ( 'rtl' == $name ) {
+			return ( 'rtl' === $this->text_direction );
+		}
+	}
+
+	public function combined_name() {
+		/* translators: combined name for locales: 1: name in English, 2: native name */
+		return sprintf( _x( '%1$s/%2$s', 'locales' ), $this->english_name, $this->native_name );
+	}
+
+	public function numbers_for_index( $index, $how_many = 3, $test_up_to = 1000 ) {
+		$numbers = array();
+
+		for( $number = 0; $number < $test_up_to; ++$number ) {
+			if ( $this->index_for_number( $number ) == $index ) {
+				$numbers[] = $number;
+
+				if ( count( $numbers ) >= $how_many ) {
+					break;
+				}
+			}
+		}
+
+		return $numbers;
+	}
+
+	public function index_for_number( $number ) {
+		if ( ! isset( $this->_index_for_number ) ) {
+			$gettext = new Gettext_Translations;
+			$expression = $gettext->parenthesize_plural_exression( $this->plural_expression );
+			$this->_index_for_number = $gettext->make_plural_form_function( $this->nplurals, $expression );
+		}
+
+		$f = $this->_index_for_number;
+
+		return $f( $number );
+	}
+
+}
+
+endif;
+
+if ( ! class_exists( 'GP_Locales' ) ) :
+
+class GP_Locales {
+
+	public $locales = array();
+
+	public function __construct() {
+		$aa = new GP_Locale();
+		$aa->english_name = 'Afar';
+		$aa->native_name = 'Afaraf';
+		$aa->lang_code_iso_639_1 = 'aa';
+		$aa->lang_code_iso_639_2 = 'aar';
+		$aa->slug = 'aa';
+
+		$ae = new GP_Locale();
+		$ae->english_name = 'Avestan';
+		$ae->native_name = 'Avesta';
+		$ae->lang_code_iso_639_1 = 'ae';
+		$ae->lang_code_iso_639_2 = 'ave';
+		$ae->slug = 'ae';
+
+		$af = new GP_Locale();
+		$af->english_name = 'Afrikaans';
+		$af->native_name = 'Afrikaans';
+		$af->lang_code_iso_639_1 = 'af';
+		$af->lang_code_iso_639_2 = 'afr';
+		$af->country_code = 'za';
+		$af->wp_locale = 'af';
+		$af->slug = 'af';
+		$af->google_code = 'af';
+		$af->facebook_locale = 'af_ZA';
+
+		$ak = new GP_Locale();
+		$ak->english_name = 'Akan';
+		$ak->native_name = 'Akan';
+		$ak->lang_code_iso_639_1 = 'ak';
+		$ak->lang_code_iso_639_2 = 'aka';
+		$ak->wp_locale = 'ak';
+		$ak->slug = 'ak';
+		$ak->facebook_locale = 'ak_GH';
+
+		$am = new GP_Locale();
+		$am->english_name = 'Amharic';
+		$am->native_name = 'አማርኛ';
+		$am->lang_code_iso_639_1 = 'am';
+		$am->lang_code_iso_639_2 = 'amh';
+		$am->country_code = 'et';
+		$am->wp_locale = 'am';
+		$am->slug = 'am';
+		$am->facebook_locale = 'am_ET';
+
+		$an = new GP_Locale();
+		$an->english_name = 'Aragonese';
+		$an->native_name = 'Aragonés';
+		$an->lang_code_iso_639_1 = 'an';
+		$an->lang_code_iso_639_2 = 'arg';
+		$an->country_code = 'es';
+		$an->slug = 'an';
+
+		$ar = new GP_Locale();
+		$ar->english_name = 'Arabic';
+		$ar->native_name = 'العربية';
+		$ar->lang_code_iso_639_1 = 'ar';
+		$ar->lang_code_iso_639_2 = 'ara';
+		$ar->wp_locale = 'ar';
+		$ar->slug = 'ar';
+		$ar->nplurals = 6;
+		$ar->plural_expression = 'n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5';
+		$ar->text_direction = 'rtl';
+		$ar->preferred_sans_serif_font_family = 'Tahoma';
+		$ar->google_code = 'ar';
+		$ar->facebook_locale = 'ar_AR';
+
+		$arq = new GP_Locale();
+		$arq->english_name = 'Algerian Arabic';
+		$arq->native_name = 'الدارجة الجزايرية';
+		$arq->lang_code_iso_639_1 = 'ar';
+		$arq->lang_code_iso_639_3 = 'arq';
+		$arq->country_code = 'dz';
+		$arq->wp_locale = 'arq';
+		$arq->slug = 'arq';
+		$arq->nplurals = 6;
+		$arq->plural_expression = 'n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5';
+		$arq->text_direction = 'rtl';
+
+		$ary = new GP_Locale();
+		$ary->english_name = 'Moroccan Arabic';
+		$ary->native_name = 'العربية المغربية';
+		$ary->lang_code_iso_639_1 = 'ar';
+		$ary->lang_code_iso_639_3 = 'ary';
+		$ary->country_code = 'ma';
+		$ary->wp_locale = 'ary';
+		$ary->slug = 'ary';
+		$ary->nplurals = 6;
+		$ary->plural_expression = 'n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5';
+		$ary->text_direction = 'rtl';
+
+		$as = new GP_Locale();
+		$as->english_name = 'Assamese';
+		$as->native_name = 'অসমীয়া';
+		$as->lang_code_iso_639_1 = 'as';
+		$as->lang_code_iso_639_2 = 'asm';
+		$as->lang_code_iso_639_3 = 'asm';
+		$as->country_code = 'in';
+		$as->wp_locale = 'as';
+		$as->slug = 'as';
+		$as->facebook_locale = 'as_IN';
+
+		$ast = new GP_Locale();
+		$ast->english_name = 'Asturian';
+		$ast->native_name = 'Asturianu';
+		$ast->lang_code_iso_639_2 = 'ast';
+		$ast->lang_code_iso_639_3 = 'ast';
+		$ast->country_code = 'es';
+		$ast->wp_locale = 'ast';
+		$ast->slug = 'ast';
+
+		$av = new GP_Locale();
+		$av->english_name = 'Avaric';
+		$av->native_name = 'авар мацӀ';
+		$av->lang_code_iso_639_1 = 'av';
+		$av->lang_code_iso_639_2 = 'ava';
+		$av->slug = 'av';
+
+		$ay = new GP_Locale();
+		$ay->english_name = 'Aymara';
+		$ay->native_name = 'aymar aru';
+		$ay->lang_code_iso_639_1 = 'ay';
+		$ay->lang_code_iso_639_2 = 'aym';
+		$ay->slug = 'ay';
+		$ay->nplurals = 1;
+		$ay->plural_expression = '0';
+		$ay->facebook_locale = 'ay_BO';
+
+		$az = new GP_Locale();
+		$az->english_name = 'Azerbaijani';
+		$az->native_name = 'Azərbaycan dili';
+		$az->lang_code_iso_639_1 = 'az';
+		$az->lang_code_iso_639_2 = 'aze';
+		$az->country_code = 'az';
+		$az->wp_locale = 'az';
+		$az->slug = 'az';
+		$az->google_code = 'az';
+		$az->facebook_locale = 'az_AZ';
+
+		$azb = new GP_Locale();
+		$azb->english_name = 'South Azerbaijani';
+		$azb->native_name = 'گؤنئی آذربایجان';
+		$azb->lang_code_iso_639_1 = 'az';
+		$azb->lang_code_iso_639_3 = 'azb';
+		$azb->country_code = 'ir';
+		$azb->wp_locale = 'azb';
+		$azb->slug = 'azb';
+		$azb->text_direction = 'rtl';
+
+		$az_tr = new GP_Locale();
+		$az_tr->english_name = 'Azerbaijani (Turkey)';
+		$az_tr->native_name = 'Azərbaycan Türkcəsi';
+		$az_tr->lang_code_iso_639_1 = 'az';
+		$az_tr->lang_code_iso_639_2 = 'aze';
+		$az_tr->country_code = 'tr';
+		$az_tr->wp_locale = 'az_TR';
+		$az_tr->slug = 'az-tr';
+
+		$ba = new GP_Locale();
+		$ba->english_name = 'Bashkir';
+		$ba->native_name = 'башҡорт теле';
+		$ba->lang_code_iso_639_1 = 'ba';
+		$ba->lang_code_iso_639_2 = 'bak';
+		$ba->wp_locale = 'ba';
+		$ba->slug = 'ba';
+
+		$bal = new GP_Locale();
+		$bal->english_name = 'Catalan (Balear)';
+		$bal->native_name = 'Català (Balear)';
+		$bal->lang_code_iso_639_2 = 'bal';
+		$bal->country_code = 'es';
+		$bal->wp_locale = 'bal';
+		$bal->slug = 'bal';
+
+		$bcc = new GP_Locale();
+		$bcc->english_name = 'Balochi Southern';
+		$bcc->native_name = 'بلوچی مکرانی';
+		$bcc->lang_code_iso_639_3 = 'bcc';
+		$bcc->country_code = 'pk';
+		$bcc->wp_locale = 'bcc';
+		$bcc->slug = 'bcc';
+		$bcc->nplurals = 1;
+		$bcc->plural_expression = '0';
+		$bcc->text_direction = 'rtl';
+
+		$be = new GP_Locale();
+		$be->english_name = 'Belarusian';
+		$be->native_name = 'Беларуская мова';
+		$be->lang_code_iso_639_1 = 'be';
+		$be->lang_code_iso_639_2 = 'bel';
+		$be->country_code = 'by';
+		$be->wp_locale = 'bel';
+		$be->slug = 'bel';
+		$be->nplurals = 3;
+		$be->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$be->google_code = 'be';
+		$be->facebook_locale = 'be_BY';
+
+		$bg = new GP_Locale();
+		$bg->english_name = 'Bulgarian';
+		$bg->native_name = 'Български';
+		$bg->lang_code_iso_639_1 = 'bg';
+		$bg->lang_code_iso_639_2 = 'bul';
+		$bg->country_code = 'bg';
+		$bg->wp_locale = 'bg_BG';
+		$bg->slug = 'bg';
+		$bg->google_code = 'bg';
+		$bg->facebook_locale = 'bg_BG';
+
+		$bh = new GP_Locale();
+		$bh->english_name = 'Bihari';
+		$bh->native_name = 'भोजपुरी';
+		$bh->lang_code_iso_639_1 = 'bh';
+		$bh->lang_code_iso_639_2 = 'bih';
+		$bh->slug = 'bh';
+
+		$bho = new GP_Locale();
+		$bho->english_name = 'Bhojpuri';
+		$bho->native_name = 'भोजपुरी';
+		$bho->lang_code_iso_639_3 = 'bho';
+		$bho->country_code = 'in';
+		$bho->wp_locale = 'bho';
+		$bho->slug = 'bho';
+
+		$bi = new GP_Locale();
+		$bi->english_name = 'Bislama';
+		$bi->native_name = 'Bislama';
+		$bi->lang_code_iso_639_1 = 'bi';
+		$bi->lang_code_iso_639_2 = 'bis';
+		$bi->country_code = 'vu';
+		$bi->slug = 'bi';
+
+		$bm = new GP_Locale();
+		$bm->english_name = 'Bambara';
+		$bm->native_name = 'Bamanankan';
+		$bm->lang_code_iso_639_1 = 'bm';
+		$bm->lang_code_iso_639_2 = 'bam';
+		$bm->slug = 'bm';
+
+		$bn_bd = new GP_Locale();
+		$bn_bd->english_name = 'Bengali';
+		$bn_bd->native_name = 'বাংলা';
+		$bn_bd->lang_code_iso_639_1 = 'bn';
+		$bn_bd->country_code = 'bn';
+		$bn_bd->wp_locale = 'bn_BD';
+		$bn_bd->slug = 'bn';
+		$bn_bd->google_code = 'bn';
+		$bn_bd->facebook_locale = 'bn_IN';
+
+		$bo = new GP_Locale();
+		$bo->english_name = 'Tibetan';
+		$bo->native_name = 'བོད་ཡིག';
+		$bo->lang_code_iso_639_1 = 'bo';
+		$bo->lang_code_iso_639_2 = 'tib';
+		$bo->wp_locale = 'bo';
+		$bo->slug = 'bo';
+		$bo->nplurals = 1;
+		$bo->plural_expression = '0';
+
+		$br = new GP_Locale();
+		$br->english_name = 'Breton';
+		$br->native_name = 'Brezhoneg';
+		$br->lang_code_iso_639_1 = 'br';
+		$br->lang_code_iso_639_2 = 'bre';
+		$br->lang_code_iso_639_3 = 'bre';
+		$br->country_code = 'fr';
+		$br->wp_locale = 'bre';
+		$br->slug = 'br';
+		$br->nplurals = 2;
+		$br->plural_expression = '(n > 1)';
+		$br->facebook_locale = 'br_FR';
+
+		$brx = new GP_Locale();
+		$brx->english_name = 'Bodo';
+		$brx->native_name = 'बोडो‎';
+		$brx->lang_code_iso_639_3 = 'brx';
+		$brx->country_code = 'in';
+		$brx->wp_locale = 'brx';
+		$brx->slug = 'brx';
+
+		$bs = new GP_Locale();
+		$bs->english_name = 'Bosnian';
+		$bs->native_name = 'Bosanski';
+		$bs->lang_code_iso_639_1 = 'bs';
+		$bs->lang_code_iso_639_2 = 'bos';
+		$bs->country_code = 'ba';
+		$bs->wp_locale = 'bs_BA';
+		$bs->slug = 'bs';
+		$bs->nplurals = 3;
+		$bs->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$bs->google_code = 'bs';
+		$bs->facebook_locale = 'bs_BA';
+
+		$ca = new GP_Locale();
+		$ca->english_name = 'Catalan';
+		$ca->native_name = 'Català';
+		$ca->lang_code_iso_639_1 = 'ca';
+		$ca->lang_code_iso_639_2 = 'cat';
+		$ca->wp_locale = 'ca';
+		$ca->slug = 'ca';
+		$ca->google_code = 'ca';
+		$ca->facebook_locale = 'ca_ES';
+
+		$ca_valencia = clone $ca;
+		$ca_valencia->english_name = 'Catalan (Valencian)';
+		$ca_valencia->native_name = 'Català (Valencià)';
+		$ca_valencia->wp_locale = 'ca_valencia';
+		$ca_valencia->slug = 'ca/valencia';
+
+		$ce = new GP_Locale();
+		$ce->english_name = 'Chechen';
+		$ce->native_name = 'Нохчийн мотт';
+		$ce->lang_code_iso_639_1 = 'ce';
+		$ce->lang_code_iso_639_2 = 'che';
+		$ce->slug = 'ce';
+
+		$ceb = new GP_Locale();
+		$ceb->english_name = 'Cebuano';
+		$ceb->native_name = 'Cebuano';
+		$ceb->lang_code_iso_639_2 = 'ceb';
+		$ceb->lang_code_iso_639_3 = 'ceb';
+		$ceb->country_code = 'ph';
+		$ceb->wp_locale = 'ceb';
+		$ceb->slug = 'ceb';
+		$ceb->facebook_locale = 'cx_PH';
+
+		$ch = new GP_Locale();
+		$ch->english_name = 'Chamorro';
+		$ch->native_name = 'Chamoru';
+		$ch->lang_code_iso_639_1 = 'ch';
+		$ch->lang_code_iso_639_2 = 'cha';
+		$ch->slug = 'ch';
+
+		$ckb = new GP_Locale();
+		$ckb->english_name = 'Kurdish (Sorani)';
+		$ckb->native_name = 'كوردی‎';
+		$ckb->lang_code_iso_639_1 = 'ku';
+		$ckb->lang_code_iso_639_3 = 'ckb';
+		$ckb->country_code = 'iq';
+		$ckb->wp_locale = 'ckb';
+		$ckb->slug = 'ckb';
+		$ckb->text_direction = 'rtl';
+		$ckb->facebook_locale = 'cb_IQ';
+
+		$co = new GP_Locale();
+		$co->english_name = 'Corsican';
+		$co->native_name = 'Corsu';
+		$co->lang_code_iso_639_1 = 'co';
+		$co->lang_code_iso_639_2 = 'cos';
+		$co->country_code = 'it';
+		$co->wp_locale = 'co';
+		$co->slug = 'co';
+
+		$cor = new GP_Locale();
+		$cor->english_name = 'Cornish';
+		$cor->native_name = 'Kernewek';
+		$cor->lang_code_iso_639_1 = 'kw';
+		$cor->lang_code_iso_639_2 = 'cor';
+		$cor->lang_code_iso_639_2 = 'cor';
+		$cor->country_code = 'gb';
+		$cor->wp_locale = 'cor';
+		$cor->slug = 'cor';
+
+		$cr = new GP_Locale();
+		$cr->english_name = 'Cree';
+		$cr->native_name = 'ᓀᐦᐃᔭᐍᐏᐣ';
+		$cr->lang_code_iso_639_1 = 'cr';
+		$cr->lang_code_iso_639_2 = 'cre';
+		$cr->country_code = 'ca';
+		$cr->slug = 'cr';
+
+		$cs = new GP_Locale();
+		$cs->english_name = 'Czech';
+		$cs->native_name = 'Čeština';
+		$cs->lang_code_iso_639_1 = 'cs';
+		$cs->lang_code_iso_639_2 = 'ces';
+		$cs->country_code = 'cz';
+		$cs->wp_locale = 'cs_CZ';
+		$cs->slug = 'cs';
+		$cs->nplurals = 3;
+		$cs->plural_expression = '(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2';
+		$cs->google_code = 'cs';
+		$cs->facebook_locale = 'cs_CZ';
+
+		$csb = new GP_Locale();
+		$csb->english_name = 'Kashubian';
+		$csb->native_name = 'Kaszëbsczi';
+		$csb->lang_code_iso_639_2 = 'csb';
+		$csb->slug = 'csb';
+		$csb->nplurals = 3;
+		$csb->plural_expression = 'n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2';
+
+		$cu = new GP_Locale();
+		$cu->english_name = 'Church Slavic';
+		$cu->native_name = 'ѩзыкъ словѣньскъ';
+		$cu->lang_code_iso_639_1 = 'cu';
+		$cu->lang_code_iso_639_2 = 'chu';
+		$cu->slug = 'cu';
+
+		$cv = new GP_Locale();
+		$cv->english_name = 'Chuvash';
+		$cv->native_name = 'чӑваш чӗлхи';
+		$cv->lang_code_iso_639_1 = 'cv';
+		$cv->lang_code_iso_639_2 = 'chv';
+		$cv->country_code = 'ru';
+		$cv->slug = 'cv';
+
+		$cy = new GP_Locale();
+		$cy->english_name = 'Welsh';
+		$cy->native_name = 'Cymraeg';
+		$cy->lang_code_iso_639_1 = 'cy';
+		$cy->lang_code_iso_639_2 = 'cym';
+		$cy->country_code = 'gb';
+		$cy->wp_locale = 'cy';
+		$cy->slug = 'cy';
+		$cy->nplurals = 4;
+		$cy->plural_expression = '(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3';
+		$cy->google_code = 'cy';
+		$cy->facebook_locale = 'cy_GB';
+
+		$da = new GP_Locale();
+		$da->english_name = 'Danish';
+		$da->native_name = 'Dansk';
+		$da->lang_code_iso_639_1 = 'da';
+		$da->lang_code_iso_639_2 = 'dan';
+		$da->country_code = 'dk';
+		$da->wp_locale = 'da_DK';
+		$da->slug = 'da';
+		$da->google_code = 'da';
+		$da->facebook_locale = 'da_DK';
+
+		$de = new GP_Locale();
+		$de->english_name = 'German';
+		$de->native_name = 'Deutsch';
+		$de->lang_code_iso_639_1 = 'de';
+		$de->country_code = 'de';
+		$de->wp_locale = 'de_DE';
+		$de->slug = 'de';
+		$de->google_code = 'de';
+		$de->facebook_locale = 'de_DE';
+
+		$de_formal = clone $de;
+		$de_formal->english_name = 'German (Formal)';
+		$de_formal->native_name = 'Deutsch (Sie)';
+		$de_formal->slug = 'de/formal';
+		$de_formal->wp_locale = 'de_DE_formal';
+
+		$de_at = new GP_Locale();
+		$de_at->english_name = 'German (Austria)';
+		$de_at->native_name = 'Deutsch (Österreich)';
+		$de_at->lang_code_iso_639_1 = 'de';
+		$de_at->country_code = 'de';
+		$de_at->wp_locale = 'de_AT';
+		$de_at->slug = 'de-at';
+		$de_at->google_code = 'de';
+
+		$de_ch = new GP_Locale();
+		$de_ch->english_name = 'German (Switzerland)';
+		$de_ch->native_name = 'Deutsch (Schweiz)';
+		$de_ch->lang_code_iso_639_1 = 'de';
+		$de_ch->country_code = 'ch';
+		$de_ch->wp_locale = 'de_CH';
+		$de_ch->slug = 'de-ch';
+		$de_ch->google_code = 'de';
+
+		$de_ch_informal = clone $de_ch;
+		$de_ch_informal->english_name = 'German (Switzerland, Informal)';
+		$de_ch_informal->native_name = 'Deutsch (Schweiz, Du)';
+		$de_ch_informal->slug = 'de-ch/informal';
+		$de_ch_informal->wp_locale = 'de_CH_informal';
+
+		$dv = new GP_Locale();
+		$dv->english_name = 'Dhivehi';
+		$dv->native_name = 'ދިވެހި';
+		$dv->lang_code_iso_639_1 = 'dv';
+		$dv->lang_code_iso_639_2 = 'div';
+		$dv->country_code = 'mv';
+		$dv->wp_locale = 'dv';
+		$dv->slug = 'dv';
+		$dv->text_direction = 'rtl';
+
+		$dzo = new GP_Locale();
+		$dzo->english_name = 'Dzongkha';
+		$dzo->native_name = 'རྫོང་ཁ';
+		$dzo->lang_code_iso_639_1 = 'dz';
+		$dzo->lang_code_iso_639_2 = 'dzo';
+		$dzo->country_code = 'bt';
+		$dzo->wp_locale = 'dzo';
+		$dzo->slug = 'dzo';
+		$dzo->nplurals = 1;
+		$dzo->plural_expression = '0';
+
+		$ewe = new GP_Locale();
+		$ewe->english_name = 'Ewe';
+		$ewe->native_name = 'Eʋegbe';
+		$ewe->lang_code_iso_639_1 = 'ee';
+		$ewe->lang_code_iso_639_2 = 'ewe';
+		$ewe->lang_code_iso_639_3 = 'ewe';
+		$ewe->country_code = 'gh';
+		$ewe->wp_locale = 'ewe';
+		$ewe->slug = 'ee';
+
+		$el_po = new GP_Locale();
+		$el_po->english_name = 'Greek (Polytonic)';
+		$el_po->native_name = 'Greek (Polytonic)'; // TODO
+		$el_po->country_code = 'gr';
+		$el_po->slug = 'el-po';
+
+		$el = new GP_Locale();
+		$el->english_name = 'Greek';
+		$el->native_name = 'Ελληνικά';
+		$el->lang_code_iso_639_1 = 'el';
+		$el->lang_code_iso_639_2 = 'ell';
+		$el->country_code = 'gr';
+		$el->wp_locale = 'el';
+		$el->slug = 'el';
+		$el->google_code = 'el';
+		$el->facebook_locale = 'el_GR';
+
+		$emoji = new GP_Locale();
+		$emoji->english_name = 'Emoji';
+		$emoji->native_name = "\xf0\x9f\x8c\x8f\xf0\x9f\x8c\x8d\xf0\x9f\x8c\x8e (Emoji)";
+		$emoji->lang_code_iso_639_2 = 'art';
+		$emoji->wp_locale = 'art_xemoji';
+		$emoji->slug = 'art-xemoji';
+		$emoji->nplurals = 1;
+		$emoji->plural_expression = '0';
+
+		$en = new GP_Locale();
+		$en->english_name = 'English';
+		$en->native_name = 'English';
+		$en->lang_code_iso_639_1 = 'en';
+		$en->country_code = 'us';
+		$en->wp_locale = 'en_US';
+		$en->slug = 'en';
+		$en->google_code = 'en';
+		$en->facebook_locale = 'en_US';
+
+		$en_au = new GP_Locale();
+		$en_au->english_name = 'English (Australia)';
+		$en_au->native_name = 'English (Australia)';
+		$en_au->lang_code_iso_639_1 = 'en';
+		$en_au->lang_code_iso_639_2 = 'eng';
+		$en_au->lang_code_iso_639_3 = 'eng';
+		$en_au->country_code = 'au';
+		$en_au->wp_locale = 'en_AU';
+		$en_au->slug = 'en-au';
+		$en_au->google_code = 'en';
+
+		$en_ca = new GP_Locale();
+		$en_ca->english_name = 'English (Canada)';
+		$en_ca->native_name = 'English (Canada)';
+		$en_ca->lang_code_iso_639_1 = 'en';
+		$en_ca->lang_code_iso_639_2 = 'eng';
+		$en_ca->lang_code_iso_639_3 = 'eng';
+		$en_ca->country_code = 'ca';
+		$en_ca->wp_locale = 'en_CA';
+		$en_ca->slug = 'en-ca';
+		$en_ca->google_code = 'en';
+
+		$en_gb = new GP_Locale();
+		$en_gb->english_name = 'English (UK)';
+		$en_gb->native_name = 'English (UK)';
+		$en_gb->lang_code_iso_639_1 = 'en';
+		$en_gb->lang_code_iso_639_2 = 'eng';
+		$en_gb->lang_code_iso_639_3 = 'eng';
+		$en_gb->country_code = 'gb';
+		$en_gb->wp_locale = 'en_GB';
+		$en_gb->slug = 'en-gb';
+		$en_gb->google_code = 'en';
+		$en_gb->facebook_locale = 'en_GB';
+
+		$en_nz = new GP_Locale();
+		$en_nz->english_name = 'English (New Zealand)';
+		$en_nz->native_name = 'English (New Zealand)';
+		$en_nz->lang_code_iso_639_1 = 'en';
+		$en_nz->lang_code_iso_639_2 = 'eng';
+		$en_nz->lang_code_iso_639_3 = 'eng';
+		$en_nz->country_code = 'nz';
+		$en_nz->wp_locale = 'en_NZ';
+		$en_nz->slug = 'en-nz';
+		$en_nz->google_code = 'en';
+
+		$en_za = new GP_Locale();
+		$en_za->english_name = 'English (South Africa)';
+		$en_za->native_name = 'English (South Africa)';
+		$en_za->lang_code_iso_639_1 = 'en';
+		$en_za->lang_code_iso_639_2 = 'eng';
+		$en_za->lang_code_iso_639_3 = 'eng';
+		$en_za->country_code = 'za';
+		$en_za->wp_locale = 'en_ZA';
+		$en_za->slug = 'en-za';
+		$en_za->google_code = 'en';
+
+		$eo = new GP_Locale();
+		$eo->english_name = 'Esperanto';
+		$eo->native_name = 'Esperanto';
+		$eo->lang_code_iso_639_1 = 'eo';
+		$eo->lang_code_iso_639_2 = 'epo';
+		$eo->wp_locale = 'eo';
+		$eo->slug = 'eo';
+		$eo->google_code = 'eo';
+		$eo->facebook_locale = 'eo_EO';
+
+		$es = new GP_Locale();
+		$es->english_name = 'Spanish (Spain)';
+		$es->native_name = 'Español';
+		$es->lang_code_iso_639_1 = 'es';
+		$es->lang_code_iso_639_2 = 'spa';
+		$es->lang_code_iso_639_3 = 'spa';
+		$es->country_code = 'es';
+		$es->wp_locale = 'es_ES';
+		$es->slug = 'es';
+		$es->google_code = 'es';
+		$es->facebook_locale = 'es_ES';
+
+		$es_ar = new GP_Locale();
+		$es_ar->english_name = 'Spanish (Argentina)';
+		$es_ar->native_name = 'Español de Argentina';
+		$es_ar->lang_code_iso_639_1 = 'es';
+		$es_ar->lang_code_iso_639_2 = 'spa';
+		$es_ar->lang_code_iso_639_3 = 'spa';
+		$es_ar->country_code = 'ar';
+		$es_ar->wp_locale = 'es_AR';
+		$es_ar->slug = 'es-ar';
+		$es_ar->google_code = 'es';
+		$es_ar->facebook_locale = 'es_LA';
+
+		$es_cl = new GP_Locale();
+		$es_cl->english_name = 'Spanish (Chile)';
+		$es_cl->native_name = 'Español de Chile';
+		$es_cl->lang_code_iso_639_1 = 'es';
+		$es_cl->lang_code_iso_639_2 = 'spa';
+		$es_cl->lang_code_iso_639_3 = 'spa';
+		$es_cl->country_code = 'cl';
+		$es_cl->wp_locale = 'es_CL';
+		$es_cl->slug = 'es-cl';
+		$es_cl->google_code = 'es';
+		$es_cl->facebook_locale = 'es_CL';
+
+		$es_co = new GP_Locale();
+		$es_co->english_name = 'Spanish (Colombia)';
+		$es_co->native_name = 'Español de Colombia';
+		$es_co->lang_code_iso_639_1 = 'es';
+		$es_co->lang_code_iso_639_2 = 'spa';
+		$es_co->lang_code_iso_639_3 = 'spa';
+		$es_co->country_code = 'co';
+		$es_co->wp_locale = 'es_CO';
+		$es_co->slug = 'es-co';
+		$es_co->google_code = 'es';
+		$es_co->facebook_locale = 'es_CO';
+
+		$es_cr = new GP_Locale();
+		$es_cr->english_name = 'Spanish (Costa Rica)';
+		$es_cr->native_name = 'Español de Costa Rica';
+		$es_cr->lang_code_iso_639_1 = 'es';
+		$es_cr->lang_code_iso_639_2 = 'spa';
+		$es_cr->lang_code_iso_639_3 = 'spa';
+		$es_cr->country_code = 'cr';
+		$es_cr->wp_locale = 'es_CR';
+		$es_cr->slug = 'es-cr';
+
+		$es_do = new GP_Locale();
+		$es_do->english_name = 'Spanish (Dominican Republic)';
+		$es_do->native_name = 'Español de República Dominicana';
+		$es_do->lang_code_iso_639_1 = 'es';
+		$es_do->lang_code_iso_639_2 = 'spa';
+		$es_do->lang_code_iso_639_3 = 'spa';
+		$es_do->country_code = 'do';
+		$es_do->wp_locale = 'es_DO';
+		$es_do->slug = 'es-do';
+		$es_do->google_code = 'es';
+
+		$es_gt = new GP_Locale();
+		$es_gt->english_name = 'Spanish (Guatemala)';
+		$es_gt->native_name = 'Español de Guatemala';
+		$es_gt->lang_code_iso_639_1 = 'es';
+		$es_gt->lang_code_iso_639_2 = 'spa';
+		$es_gt->lang_code_iso_639_3 = 'spa';
+		$es_gt->country_code = 'gt';
+		$es_gt->wp_locale = 'es_GT';
+		$es_gt->slug = 'es-gt';
+		$es_gt->google_code = 'es';
+		$es_gt->facebook_locale = 'es_LA';
+
+		$es_hn = new GP_Locale();
+		$es_hn->english_name = 'Spanish (Honduras)';
+		$es_hn->native_name = 'Español de Honduras';
+		$es_hn->lang_code_iso_639_1 = 'es';
+		$es_hn->lang_code_iso_639_2 = 'spa';
+		$es_hn->lang_code_iso_639_3 = 'spa';
+		$es_hn->country_code = 'hn';
+		$es_hn->wp_locale = 'es_HN';
+		$es_hn->slug = 'es-hn';
+		$es_hn->google_code = 'es';
+
+		$es_mx = new GP_Locale();
+		$es_mx->english_name = 'Spanish (Mexico)';
+		$es_mx->native_name = 'Español de México';
+		$es_mx->lang_code_iso_639_1 = 'es';
+		$es_mx->lang_code_iso_639_2 = 'spa';
+		$es_mx->lang_code_iso_639_3 = 'spa';
+		$es_mx->country_code = 'mx';
+		$es_mx->wp_locale = 'es_MX';
+		$es_mx->slug = 'es-mx';
+		$es_mx->google_code = 'es';
+		$es_mx->facebook_locale = 'es_MX';
+
+		$es_pe = new GP_Locale();
+		$es_pe->english_name = 'Spanish (Peru)';
+		$es_pe->native_name = 'Español de Perú';
+		$es_pe->lang_code_iso_639_1 = 'es';
+		$es_pe->lang_code_iso_639_2 = 'spa';
+		$es_pe->lang_code_iso_639_3 = 'spa';
+		$es_pe->country_code = 'pe';
+		$es_pe->wp_locale = 'es_PE';
+		$es_pe->slug = 'es-pe';
+		$es_pe->google_code = 'es';
+		$es_pe->facebook_locale = 'es_LA';
+
+		$es_pr = new GP_Locale();
+		$es_pr->english_name = 'Spanish (Puerto Rico)';
+		$es_pr->native_name = 'Español de Puerto Rico';
+		$es_pr->lang_code_iso_639_1 = 'es';
+		$es_pr->lang_code_iso_639_2 = 'spa';
+		$es_pr->lang_code_iso_639_3 = 'spa';
+		$es_pr->country_code = 'pr';
+		$es_pr->wp_locale = 'es_PR';
+		$es_pr->slug = 'es-pr';
+		$es_pr->google_code = 'es';
+		$es_pr->facebook_locale = 'es_LA';
+
+		$es_us = new GP_Locale();
+		$es_us->english_name = 'Spanish (US)';
+		$es_us->native_name = 'Español de los Estados Unidos';
+		$es_us->lang_code_iso_639_1 = 'es';
+		$es_us->lang_code_iso_639_2 = 'spa';
+		$es_us->lang_code_iso_639_3 = 'spa';
+		$es_us->country_code = 'us';
+		$es_us->slug = 'es-us';
+
+		$es_uy = new GP_Locale();
+		$es_uy->english_name = 'Spanish (Uruguay)';
+		$es_uy->native_name = 'Español de Uruguay';
+		$es_uy->lang_code_iso_639_1 = 'es';
+		$es_uy->lang_code_iso_639_2 = 'spa';
+		$es_uy->lang_code_iso_639_3 = 'spa';
+		$es_uy->country_code = 'uy';
+		$es_uy->wp_locale = 'es_UY';
+		$es_uy->slug = 'es-uy';
+
+		$es_ve = new GP_Locale();
+		$es_ve->english_name = 'Spanish (Venezuela)';
+		$es_ve->native_name = 'Español de Venezuela';
+		$es_ve->lang_code_iso_639_1 = 'es';
+		$es_ve->lang_code_iso_639_2 = 'spa';
+		$es_ve->lang_code_iso_639_3 = 'spa';
+		$es_ve->country_code = 've';
+		$es_ve->wp_locale = 'es_VE';
+		$es_ve->slug = 'es-ve';
+		$es_ve->google_code = 'es';
+		$es_ve->facebook_locale = 'es_VE';
+
+		$et = new GP_Locale();
+		$et->english_name = 'Estonian';
+		$et->native_name = 'Eesti';
+		$et->lang_code_iso_639_1 = 'et';
+		$et->lang_code_iso_639_2 = 'est';
+		$et->country_code = 'ee';
+		$et->wp_locale = 'et';
+		$et->slug = 'et';
+		$et->google_code = 'et';
+		$et->facebook_locale = 'et_EE';
+
+		$eu = new GP_Locale();
+		$eu->english_name = 'Basque';
+		$eu->native_name = 'Euskara';
+		$eu->lang_code_iso_639_1 = 'eu';
+		$eu->lang_code_iso_639_2 = 'eus';
+		$eu->country_code = 'es';
+		$eu->wp_locale = 'eu';
+		$eu->slug = 'eu';
+		$eu->google_code = 'eu';
+		$eu->facebook_locale = 'eu_ES';
+
+		$fa = new GP_Locale();
+		$fa->english_name = 'Persian';
+		$fa->native_name = 'فارسی';
+		$fa->lang_code_iso_639_1 = 'fa';
+		$fa->lang_code_iso_639_2 = 'fas';
+		$fa->wp_locale = 'fa_IR';
+		$fa->slug = 'fa';
+		$fa->nplurals = 1;
+		$fa->plural_expression = '0';
+		$fa->text_direction = 'rtl';
+		$fa->google_code = 'fa';
+		$fa->facebook_locale = 'fa_IR';
+
+		$fa_af = new GP_Locale();
+		$fa_af->english_name = 'Persian (Afghanistan)';
+		$fa_af->native_name = '(فارسی (افغانستان';
+		$fa_af->lang_code_iso_639_1 = 'fa';
+		$fa_af->lang_code_iso_639_2 = 'fas';
+		$fa_af->wp_locale = 'fa_AF';
+		$fa_af->slug = 'fa-af';
+		$fa_af->nplurals = 1;
+		$fa_af->plural_expression = '0';
+		$fa_af->text_direction = 'rtl';
+		$fa_af->google_code = 'fa';
+
+		$ff_sn = new GP_Locale();
+		$ff_sn->english_name = 'Fulah';
+		$ff_sn->native_name = 'Pulaar';
+		$ff_sn->lang_code_iso_639_1 = 'ff';
+		$ff_sn->lang_code_iso_639_2 = 'fuc';
+		$ff_sn->country_code = 'sn';
+		$ff_sn->wp_locale = 'fuc';
+		$ff_sn->slug = 'fuc';
+		$ff_sn->plural_expression = 'n!=1';
+
+		$fi = new GP_Locale();
+		$fi->english_name = 'Finnish';
+		$fi->native_name = 'Suomi';
+		$fi->lang_code_iso_639_1 = 'fi';
+		$fi->lang_code_iso_639_2 = 'fin';
+		$fi->country_code = 'fi';
+		$fi->wp_locale = 'fi';
+		$fi->slug = 'fi';
+		$fi->google_code = 'fi';
+		$fi->facebook_locale = 'fi_FI';
+
+		$fj = new GP_Locale();
+		$fj->english_name = 'Fijian';
+		$fj->native_name = 'Vosa Vakaviti';
+		$fj->lang_code_iso_639_1 = 'fj';
+		$fj->lang_code_iso_639_2 = 'fij';
+		$fj->country_code = 'fj';
+		$fj->slug = 'fj';
+
+		$fo = new GP_Locale();
+		$fo->english_name = 'Faroese';
+		$fo->native_name = 'Føroyskt';
+		$fo->lang_code_iso_639_1 = 'fo';
+		$fo->lang_code_iso_639_2 = 'fao';
+		$fo->country_code = 'fo';
+		$fo->wp_locale = 'fo';
+		$fo->slug = 'fo';
+		$fo->facebook_locale = 'fo_FO';
+
+		$fr = new GP_Locale();
+		$fr->english_name = 'French (France)';
+		$fr->native_name = 'Français';
+		$fr->lang_code_iso_639_1 = 'fr';
+		$fr->country_code = 'fr';
+		$fr->wp_locale = 'fr_FR';
+		$fr->slug = 'fr';
+		$fr->nplurals = 2;
+		$fr->plural_expression = 'n > 1';
+		$fr->google_code = 'fr';
+		$fr->facebook_locale = 'fr_FR';
+
+		$fr_be = new GP_Locale();
+		$fr_be->english_name = 'French (Belgium)';
+		$fr_be->native_name = 'Français de Belgique';
+		$fr_be->lang_code_iso_639_1 = 'fr';
+		$fr_be->lang_code_iso_639_2 = 'fra';
+		$fr_be->country_code = 'be';
+		$fr_be->wp_locale = 'fr_BE';
+		$fr_be->slug = 'fr-be';
+
+		$fr_ca = new GP_Locale();
+		$fr_ca->english_name = 'French (Canada)';
+		$fr_ca->native_name = 'Français du Canada';
+		$fr_ca->lang_code_iso_639_1 = 'fr';
+		$fr_ca->lang_code_iso_639_2 = 'fra';
+		$fr_ca->country_code = 'ca';
+		$fr_ca->wp_locale = 'fr_CA';
+		$fr_ca->slug = 'fr-ca';
+		$fr_ca->facebook_locale = 'fr_CA';
+
+		$fr_ch = new GP_Locale();
+		$fr_ch->english_name = 'French (Switzerland)';
+		$fr_ch->native_name = 'Français de Suisse';
+		$fr_ch->lang_code_iso_639_1 = 'fr';
+		$fr_ch->lang_code_iso_639_2 = 'fra';
+		$fr_ch->country_code = 'ch';
+		$fr_ch->slug = 'fr-ch';
+
+		$frp = new GP_Locale();
+		$frp->english_name = 'Arpitan';
+		$frp->native_name = 'Arpitan';
+		$frp->lang_code_iso_639_3 = 'frp';
+		$frp->country_code = 'fr';
+		$frp->wp_locale = 'frp';
+		$frp->slug = 'frp';
+		$frp->nplurals = 2;
+		$frp->plural_expression = 'n > 1';
+
+		$fur = new GP_Locale();
+		$fur->english_name = 'Friulian';
+		$fur->native_name = 'Friulian';
+		$fur->lang_code_iso_639_2 = 'fur';
+		$fur->lang_code_iso_639_3 = 'fur';
+		$fur->country_code = 'it';
+		$fur->wp_locale = 'fur';
+		$fur->slug = 'fur';
+
+		$fy = new GP_Locale();
+		$fy->english_name = 'Frisian';
+		$fy->native_name = 'Frysk';
+		$fy->lang_code_iso_639_1 = 'fy';
+		$fy->lang_code_iso_639_2 = 'fry';
+		$fy->country_code = 'nl';
+		$fy->wp_locale = 'fy';
+		$fy->slug = 'fy';
+		$fy->facebook_locale = 'fy_NL';
+
+		$ga = new GP_Locale();
+		$ga->english_name = 'Irish';
+		$ga->native_name = 'Gaelige';
+		$ga->lang_code_iso_639_1 = 'ga';
+		$ga->lang_code_iso_639_2 = 'gle';
+		$ga->country_code = 'ie';
+		$ga->slug = 'ga';
+		$ga->wp_locale = 'ga';
+		$ga->nplurals = 5;
+		$ga->plural_expression = 'n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4';
+		$ga->google_code = 'ga';
+		$ga->facebook_locale = 'ga_IE';
+
+		$gax = new GP_Locale();
+		$gax->english_name = 'Borana-Arsi-Guji Oromo';
+		$gax->native_name = 'Afaan Oromoo';
+		$gax->lang_code_iso_639_3 = 'gax';
+		$gax->country_code = 'et';
+		$gax->slug = 'gax';
+		$gax->wp_locale = 'gax';
+		$gax->nplurals = 2;
+		$gax->plural_expression = 'n > 1';
+
+		$gd = new GP_Locale();
+		$gd->english_name = 'Scottish Gaelic';
+		$gd->native_name = 'Gàidhlig';
+		$gd->lang_code_iso_639_1 = 'gd';
+		$gd->lang_code_iso_639_2 = 'gla';
+		$gd->lang_code_iso_639_3 = 'gla';
+		$gd->country_code = 'gb';
+		$gd->wp_locale = 'gd';
+		$gd->slug = 'gd';
+		$gd->nplurals = 4;
+		$gd->plural_expression = '(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3';
+		$gd->google_code = 'gd';
+
+		$gl = new GP_Locale();
+		$gl->english_name = 'Galician';
+		$gl->native_name = 'Galego';
+		$gl->lang_code_iso_639_1 = 'gl';
+		$gl->lang_code_iso_639_2 = 'glg';
+		$gl->country_code = 'es';
+		$gl->wp_locale = 'gl_ES';
+		$gl->slug = 'gl';
+		$gl->google_code = 'gl';
+		$gl->facebook_locale = 'gl_ES';
+
+		$gn = new GP_Locale();
+		$gn->english_name = 'Guaraní';
+		$gn->native_name = 'Avañe\'ẽ';
+		$gn->lang_code_iso_639_1 = 'gn';
+		$gn->lang_code_iso_639_2 = 'grn';
+		$gn->wp_locale = 'gn';
+		$gn->slug = 'gn';
+
+		$gsw = new GP_Locale();
+		$gsw->english_name = 'Swiss German';
+		$gsw->native_name = 'Schwyzerdütsch';
+		$gsw->lang_code_iso_639_2 = 'gsw';
+		$gsw->lang_code_iso_639_3 = 'gsw';
+		$gsw->country_code = 'ch';
+		$gsw->wp_locale = 'gsw';
+		$gsw->slug = 'gsw';
+
+		$gu = new GP_Locale();
+		$gu->english_name = 'Gujarati';
+		$gu->native_name = 'ગુજરાતી';
+		$gu->lang_code_iso_639_1 = 'gu';
+		$gu->lang_code_iso_639_2 = 'guj';
+		$gu->wp_locale = 'gu';
+		$gu->slug = 'gu';
+		$gu->google_code = 'gu';
+		$gu->facebook_locale = 'gu_IN';
+
+		$ha = new GP_Locale();
+		$ha->english_name = 'Hausa (Arabic)';
+		$ha->native_name = 'هَوُسَ';
+		$ha->lang_code_iso_639_1 = 'ha';
+		$ha->lang_code_iso_639_2 = 'hau';
+		$ha->slug = 'ha';
+		$ha->text_direction = 'rtl';
+		$ha->google_code = 'ha';
+
+		$hat = new GP_Locale();
+		$hat->english_name = 'Haitian Creole';
+		$hat->native_name = 'Kreyol ayisyen';
+		$hat->lang_code_iso_639_1 = 'ht';
+		$hat->lang_code_iso_639_2 = 'hat';
+		$hat->lang_code_iso_639_3 = 'hat';
+		$hat->country_code = 'ht';
+		$hat->wp_locale = 'hat';
+		$hat->slug = 'hat';
+
+		$hau = new GP_Locale();
+		$hau->english_name = 'Hausa';
+		$hau->native_name = 'Harshen Hausa';
+		$hau->lang_code_iso_639_1 = 'ha';
+		$hau->lang_code_iso_639_2 = 'hau';
+		$hau->lang_code_iso_639_3 = 'hau';
+		$hau->country_code = 'ng';
+		$hau->wp_locale = 'hau';
+		$hau->slug = 'hau';
+		$hau->google_code = 'ha';
+		$hau->facebook_locale = 'ha_NG';
+
+		$haw = new GP_Locale();
+		$haw->english_name = 'Hawaiian';
+		$haw->native_name = 'Ōlelo Hawaiʻi';
+		$haw->lang_code_iso_639_2 = 'haw';
+		$haw->country_code = 'us';
+		$haw->wp_locale = 'haw_US';
+		$haw->slug = 'haw';
+
+		$haz = new GP_Locale();
+		$haz->english_name = 'Hazaragi';
+		$haz->native_name = 'هزاره گی';
+		$haz->lang_code_iso_639_3 = 'haz';
+		$haz->country_code = 'af';
+		$haz->wp_locale = 'haz';
+		$haz->slug = 'haz';
+		$haz->text_direction = 'rtl';
+
+		$he = new GP_Locale();
+		$he->english_name = 'Hebrew';
+		$he->native_name = 'עִבְרִית';
+		$he->lang_code_iso_639_1 = 'he';
+		$he->country_code = 'il';
+		$he->wp_locale = 'he_IL';
+		$he->slug = 'he';
+		$he->text_direction = 'rtl';
+		$he->google_code = 'iw';
+		$he->facebook_locale = 'he_IL';
+
+		$hi = new GP_Locale();
+		$hi->english_name = 'Hindi';
+		$hi->native_name = 'हिन्दी';
+		$hi->lang_code_iso_639_1 = 'hi';
+		$hi->lang_code_iso_639_2 = 'hin';
+		$hi->country_code = 'in';
+		$hi->wp_locale = 'hi_IN';
+		$hi->slug = 'hi';
+		$hi->google_code = 'hi';
+		$hi->facebook_locale = 'hi_IN';
+
+		$hr = new GP_Locale();
+		$hr->english_name = 'Croatian';
+		$hr->native_name = 'Hrvatski';
+		$hr->lang_code_iso_639_1 = 'hr';
+		$hr->lang_code_iso_639_2 = 'hrv';
+		$hr->country_code = 'hr';
+		$hr->wp_locale = 'hr';
+		$hr->slug = 'hr';
+		$hr->nplurals = 3;
+		$hr->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$hr->google_code = 'hr';
+		$hr->facebook_locale = 'hr_HR';
+
+		$hsb = new GP_Locale();
+		$hsb->english_name = 'Upper Sorbian';
+		$hsb->native_name = 'Hornjoserbšćina';
+		$hsb->lang_code_iso_639_2 = 'hsb';
+		$hsb->lang_code_iso_639_3 = 'hsb';
+		$hsb->country_code = 'de';
+		$hsb->wp_locale = 'hsb';
+		$hsb->slug = 'hsb';
+		$hsb->nplurals = 4;
+		$hsb->plural_expression = '(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)';
+
+		$hu = new GP_Locale();
+		$hu->english_name = 'Hungarian';
+		$hu->native_name = 'Magyar';
+		$hu->lang_code_iso_639_1 = 'hu';
+		$hu->lang_code_iso_639_2 = 'hun';
+		$hu->country_code = 'hu';
+		$hu->wp_locale = 'hu_HU';
+		$hu->slug = 'hu';
+		$hu->google_code = 'hu';
+		$hu->facebook_locale = 'hu_HU';
+
+		$hy = new GP_Locale();
+		$hy->english_name = 'Armenian';
+		$hy->native_name = 'Հայերեն';
+		$hy->lang_code_iso_639_1 = 'hy';
+		$hy->lang_code_iso_639_2 = 'hye';
+		$hy->country_code = 'am';
+		$hy->wp_locale = 'hy';
+		$hy->slug = 'hy';
+		$hy->google_code = 'hy';
+		$hy->facebook_locale = 'hy_AM';
+
+		$ia = new GP_Locale();
+		$ia->english_name = 'Interlingua';
+		$ia->native_name = 'Interlingua';
+		$ia->lang_code_iso_639_1 = 'ia';
+		$ia->lang_code_iso_639_2 = 'ina';
+		$ia->slug = 'ia';
+
+		$ibo = new GP_Locale();
+		$ibo->english_name = 'Igbo';
+		$ibo->native_name = 'Asụsụ Igbo';
+		$ibo->lang_code_iso_639_1 = 'ig';
+		$ibo->lang_code_iso_639_2 = 'ibo';
+		$ibo->lang_code_iso_639_3 = 'ibo';
+		$ibo->country_code = 'ng';
+		$ibo->wp_locale = 'ibo';
+		$ibo->slug = 'ibo';
+		$ibo->nplurals = 1;
+		$ibo->plural_expression = '0';
+		$ibo->google_code = 'ig';
+
+		$id = new GP_Locale();
+		$id->english_name = 'Indonesian';
+		$id->native_name = 'Bahasa Indonesia';
+		$id->lang_code_iso_639_1 = 'id';
+		$id->lang_code_iso_639_2 = 'ind';
+		$id->country_code = 'id';
+		$id->wp_locale = 'id_ID';
+		$id->slug = 'id';
+		$id->nplurals = 2;
+		$id->plural_expression = 'n > 1';
+		$id->google_code = 'id';
+		$id->facebook_locale = 'id_ID';
+
+		$ido = new GP_Locale();
+		$ido->english_name = 'Ido';
+		$ido->native_name = 'Ido';
+		$ido->lang_code_iso_639_1 = 'io';
+		$ido->lang_code_iso_639_2 = 'ido';
+		$ido->lang_code_iso_639_3 = 'ido';
+		$ido->wp_locale = 'ido';
+		$ido->slug = 'ido';
+
+		$ike = new GP_Locale();
+		$ike->english_name = 'Inuktitut';
+		$ike->native_name = 'ᐃᓄᒃᑎᑐᑦ';
+		$ike->lang_code_iso_639_1 = 'iu';
+		$ike->lang_code_iso_639_2 = 'iku';
+		$ike->country_code = 'ca';
+		$ike->slug = 'ike';
+
+		$ilo = new GP_Locale();
+		$ilo->english_name = 'Iloko';
+		$ilo->native_name = 'Pagsasao nga Iloko';
+		$ilo->lang_code_iso_639_2 = 'ilo';
+		$ilo->country_code = 'ph';
+		$ilo->slug = 'ilo';
+
+		$is = new GP_Locale();
+		$is->english_name = 'Icelandic';
+		$is->native_name = 'Íslenska';
+		$is->lang_code_iso_639_1 = 'is';
+		$is->lang_code_iso_639_2 = 'isl';
+		$is->country_code = 'is';
+		$is->slug = 'is';
+		$is->wp_locale = 'is_IS';
+		$is->nplurals = 2;
+		$is->plural_expression = '(n % 100 != 1 && n % 100 != 21 && n % 100 != 31 && n % 100 != 41 && n % 100 != 51 && n % 100 != 61 && n % 100 != 71 && n % 100 != 81 && n % 100 != 91)';
+		$is->google_code = 'is';
+		$is->facebook_locale = 'is_IS';
+
+		$it = new GP_Locale();
+		$it->english_name = 'Italian';
+		$it->native_name = 'Italiano';
+		$it->lang_code_iso_639_1 = 'it';
+		$it->lang_code_iso_639_2 = 'ita';
+		$it->country_code = 'it';
+		$it->wp_locale = 'it_IT';
+		$it->slug = 'it';
+		$it->google_code = 'it';
+		$it->facebook_locale = 'it_IT';
+
+		$ja = new GP_Locale();
+		$ja->english_name = 'Japanese';
+		$ja->native_name = '日本語';
+		$ja->lang_code_iso_639_1 = 'ja';
+		$ja->country_code = 'jp';
+		$ja->wp_locale = 'ja';
+		$ja->slug = 'ja';
+		$ja->google_code = 'ja';
+		$ja->facebook_locale = 'ja_JP';
+		$ja->nplurals = 1;
+		$ja->plural_expression = '0';
+
+		$jv = new GP_Locale();
+		$jv->english_name = 'Javanese';
+		$jv->native_name = 'Basa Jawa';
+		$jv->lang_code_iso_639_1 = 'jv';
+		$jv->lang_code_iso_639_2 = 'jav';
+		$jv->country_code = 'id';
+		$jv->wp_locale = 'jv_ID';
+		$jv->slug = 'jv';
+		$jv->google_code = 'jw';
+		$jv->facebook_locale = 'jv_ID';
+
+		$ka = new GP_Locale();
+		$ka->english_name = 'Georgian';
+		$ka->native_name = 'ქართული';
+		$ka->lang_code_iso_639_1 = 'ka';
+		$ka->lang_code_iso_639_2 = 'kat';
+		$ka->country_code = 'ge';
+		$ka->wp_locale = 'ka_GE';
+		$ka->slug = 'ka';
+		$ka->nplurals = 1;
+		$ka->plural_expression = '0';
+		$ka->google_code = 'ka';
+		$ka->facebook_locale = 'ka_GE';
+
+		$kaa = new GP_Locale();
+		$kaa->english_name = 'Karakalpak';
+		$kaa->native_name = 'Qaraqalpaq tili';
+		$kaa->lang_code_iso_639_2 = 'kaa';
+		$kaa->lang_code_iso_639_3 = 'kaa';
+		$kaa->country_code = 'uz';
+		$kaa->wp_locale = 'kaa';
+		$kaa->slug = 'kaa';
+
+		$kab = new GP_Locale();
+		$kab->english_name = 'Kabyle';
+		$kab->native_name = 'Taqbaylit';
+		$kab->lang_code_iso_639_2 = 'kab';
+		$kab->lang_code_iso_639_3 = 'kab';
+		$kab->country_code = 'dz';
+		$kab->wp_locale = 'kab';
+		$kab->slug = 'kab';
+		$kab->nplurals = 2;
+		$kab->plural_expression = '(n > 1)';
+
+		$kal = new GP_Locale();
+		$kal->english_name = 'Greenlandic';
+		$kal->native_name = 'Kalaallisut';
+		$kal->lang_code_iso_639_1 = 'kl';
+		$kal->lang_code_iso_639_2 = 'kal';
+		$kal->lang_code_iso_639_3 = 'kal';
+		$kal->country_code = 'gl';
+		$kal->wp_locale = 'kal';
+		$kal->slug = 'kal';
+
+		$kin = new GP_Locale();
+		$kin->english_name = 'Kinyarwanda';
+		$kin->native_name = 'Ikinyarwanda';
+		$kin->lang_code_iso_639_1 = 'rw';
+		$kin->lang_code_iso_639_2 = 'kin';
+		$kin->lang_code_iso_639_3 = 'kin';
+		$kin->wp_locale = 'kin';
+		$kin->country_code = 'rw';
+		$kin->slug = 'kin';
+		$kin->facebook_locale = 'rw_RW';
+
+		$kk = new GP_Locale();
+		$kk->english_name = 'Kazakh';
+		$kk->native_name = 'Қазақ тілі';
+		$kk->lang_code_iso_639_1 = 'kk';
+		$kk->lang_code_iso_639_2 = 'kaz';
+		$kk->country_code = 'kz';
+		$kk->wp_locale = 'kk';
+		$kk->slug = 'kk';
+		$kk->google_code = 'kk';
+		$kk->facebook_locale = 'kk_KZ';
+
+		$km = new GP_Locale();
+		$km->english_name = 'Khmer';
+		$km->native_name = 'ភាសាខ្មែរ';
+		$km->lang_code_iso_639_1 = 'km';
+		$km->lang_code_iso_639_2 = 'khm';
+		$km->country_code = 'kh';
+		$km->wp_locale = 'km';
+		$km->slug = 'km';
+		$km->nplurals = 1;
+		$km->plural_expression = '0';
+		$km->google_code = 'km';
+		$km->facebook_locale = 'km_KH';
+
+		$kmr = new GP_Locale();
+		$kmr->english_name = 'Kurdish (Kurmanji)';
+		$kmr->native_name = 'Kurdî';
+		$kmr->lang_code_iso_639_1 = 'ku';
+		$kmr->lang_code_iso_639_3 = 'kmr';
+		$kmr->country_code = 'tr';
+		$kmr->wp_locale = 'kmr';
+		$kmr->slug = 'kmr';
+		$kmr->facebook_locale = 'ku_TR';
+
+		$kn = new GP_Locale();
+		$kn->english_name = 'Kannada';
+		$kn->native_name = 'ಕನ್ನಡ';
+		$kn->lang_code_iso_639_1 = 'kn';
+		$kn->lang_code_iso_639_2 = 'kan';
+		$kn->country_code = 'in';
+		$kn->wp_locale = 'kn';
+		$kn->slug = 'kn';
+		$kn->google_code = 'kn';
+		$kn->facebook_locale = 'kn_IN';
+
+		$ko = new GP_Locale();
+		$ko->english_name = 'Korean';
+		$ko->native_name = '한국어';
+		$ko->lang_code_iso_639_1 = 'ko';
+		$ko->lang_code_iso_639_2 = 'kor';
+		$ko->country_code = 'kr';
+		$ko->wp_locale = 'ko_KR';
+		$ko->slug = 'ko';
+		$ko->nplurals = 1;
+		$ko->plural_expression = '0';
+		$ko->google_code = 'ko';
+		$ko->facebook_locale = 'ko_KR';
+
+		$ks = new GP_Locale();
+		$ks->english_name = 'Kashmiri';
+		$ks->native_name = 'कश्मीरी';
+		$ks->lang_code_iso_639_1 = 'ks';
+		$ks->lang_code_iso_639_2 = 'kas';
+		$ks->slug = 'ks';
+
+		$kir = new GP_Locale();
+		$kir->english_name = 'Kyrgyz';
+		$kir->native_name = 'Кыргызча';
+		$kir->lang_code_iso_639_1 = 'ky';
+		$kir->lang_code_iso_639_2 = 'kir';
+		$kir->lang_code_iso_639_3 = 'kir';
+		$kir->country_code = 'kg';
+		$kir->wp_locale = 'kir';
+		$kir->slug = 'kir';
+		$kir->nplurals = 1;
+		$kir->plural_expression = '0';
+		$kir->google_code = 'ky';
+
+		$la = new GP_Locale();
+		$la->english_name = 'Latin';
+		$la->native_name = 'Latine';
+		$la->lang_code_iso_639_1 = 'la';
+		$la->lang_code_iso_639_2 = 'lat';
+		$la->slug = 'la';
+		$la->google_code = 'la';
+		$la->facebook_locale = 'la_VA';
+
+		$lb = new GP_Locale();
+		$lb->english_name = 'Luxembourgish';
+		$lb->native_name = 'Lëtzebuergesch';
+		$lb->lang_code_iso_639_1 = 'lb';
+		$lb->country_code = 'lu';
+		$lb->wp_locale = 'lb_LU';
+		$lb->slug = 'lb';
+
+		$li = new GP_Locale();
+		$li->english_name = 'Limburgish';
+		$li->native_name = 'Limburgs';
+		$li->lang_code_iso_639_1 = 'li';
+		$li->lang_code_iso_639_2 = 'lim';
+		$li->lang_code_iso_639_3 = 'lim';
+		$li->country_code = 'nl';
+		$li->wp_locale = 'li';
+		$li->slug = 'li';
+		$li->facebook_locale = 'li_NL';
+
+		$lij = new GP_Locale();
+		$lij->english_name = 'Ligurian';
+		$lij->native_name = 'Lìgure';
+		$lij->lang_code_iso_639_3 = 'lij';
+		$lij->country_code = 'it';
+		$lij->wp_locale = 'lij';
+		$lij->slug = 'lij';
+
+		$lin = new GP_Locale();
+		$lin->english_name = 'Lingala';
+		$lin->native_name = 'Ngala';
+		$lin->lang_code_iso_639_1 = 'ln';
+		$lin->lang_code_iso_639_2 = 'lin';
+		$lin->country_code = 'cd';
+		$lin->wp_locale = 'lin';
+		$lin->slug = 'lin';
+		$lin->nplurals = 2;
+		$lin->plural_expression = 'n>1';
+		$lin->facebook_locale = 'ln_CD';
+
+		$lmo = new GP_Locale();
+		$lmo->english_name = 'Lombard';
+		$lmo->native_name = 'Lombardo';
+		$lmo->lang_code_iso_639_3 = 'lmo';
+		$lmo->country_code = 'it';
+		$lmo->wp_locale = 'lmo';
+		$lmo->slug = 'lmo';
+
+		$lo = new GP_Locale();
+		$lo->english_name = 'Lao';
+		$lo->native_name = 'ພາສາລາວ';
+		$lo->lang_code_iso_639_1 = 'lo';
+		$lo->lang_code_iso_639_2 = 'lao';
+		$lo->country_code = 'LA';
+		$lo->wp_locale = 'lo';
+		$lo->slug = 'lo';
+		$lo->nplurals = 1;
+		$lo->plural_expression = '0';
+		$lo->google_code = 'lo';
+		$lo->facebook_locale = 'lo_LA';
+
+		$lt = new GP_Locale();
+		$lt->english_name = 'Lithuanian';
+		$lt->native_name = 'Lietuvių kalba';
+		$lt->lang_code_iso_639_1 = 'lt';
+		$lt->lang_code_iso_639_2 = 'lit';
+		$lt->country_code = 'lt';
+		$lt->wp_locale = 'lt_LT';
+		$lt->slug = 'lt';
+		$lt->nplurals = 3;
+		$lt->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$lt->google_code = 'lt';
+		$lt->facebook_locale = 'lt_LT';
+
+		$lug = new GP_Locale();
+		$lug->english_name = 'Luganda';
+		$lug->native_name = 'Oluganda';
+		$lug->lang_code_iso_639_1 = 'lg';
+		$lug->lang_code_iso_639_2 = 'lug';
+		$lug->lang_code_iso_639_3 = 'lug';
+		$lug->country_code = 'ug';
+		$lug->wp_locale = 'lug';
+		$lug->slug = 'lug';
+
+		$lv = new GP_Locale();
+		$lv->english_name = 'Latvian';
+		$lv->native_name = 'Latviešu valoda';
+		$lv->lang_code_iso_639_1 = 'lv';
+		$lv->lang_code_iso_639_2 = 'lav';
+		$lv->country_code = 'lv';
+		$lv->wp_locale = 'lv';
+		$lv->slug = 'lv';
+		$lv->nplurals = 3;
+		$lv->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)';
+		$lv->google_code = 'lv';
+		$lv->facebook_locale = 'lv_LV';
+
+		$me = new GP_Locale();
+		$me->english_name = 'Montenegrin';
+		$me->native_name = 'Crnogorski jezik';
+		$me->country_code = 'me';
+		$me->wp_locale = 'me_ME';
+		$me->slug = 'me';
+		$me->nplurals = 3;
+		$me->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+
+		$mfe = new GP_Locale();
+		$mfe->english_name = 'Mauritian Creole';
+		$mfe->native_name = 'Kreol Morisien';
+		$mfe->lang_code_iso_639_3 = 'mfe';
+		$mfe->country_code = 'mu';
+		$mfe->wp_locale = 'mfe';
+		$mfe->slug = 'mfe';
+		$mfe->nplurals = 1;
+		$mfe->plural_expression = '0';
+
+		$mg = new GP_Locale();
+		$mg->english_name = 'Malagasy';
+		$mg->native_name = 'Malagasy';
+		$mg->lang_code_iso_639_1 = 'mg';
+		$mg->lang_code_iso_639_2 = 'mlg';
+		$mg->country_code = 'mg';
+		$mg->wp_locale = 'mg_MG';
+		$mg->slug = 'mg';
+		$mg->google_code = 'mg';
+		$mg->facebook_locale = 'mg_MG';
+
+		$mhr = new GP_Locale();
+		$mhr->english_name = 'Mari (Meadow)';
+		$mhr->native_name = 'Олык марий';
+		$mhr->lang_code_iso_639_3 = 'mhr';
+		$mhr->country_code = 'ru';
+		$mhr->slug = 'mhr';
+
+		$mk = new GP_Locale();
+		$mk->english_name = 'Macedonian';
+		$mk->native_name = 'Македонски јазик';
+		$mk->lang_code_iso_639_1 = 'mk';
+		$mk->lang_code_iso_639_2 = 'mkd';
+		$mk->country_code = 'mk';
+		$mk->wp_locale = 'mk_MK';
+		$mk->slug = 'mk';
+		$mk->nplurals = 2;
+		$mk->plural_expression = 'n==1 || n%10==1 ? 0 : 1';
+		$mk->google_code = 'mk';
+		$mk->facebook_locale = 'mk_MK';
+
+		$ml = new GP_Locale();
+		$ml->english_name = 'Malayalam';
+		$ml->native_name = 'മലയാളം';
+		$ml->lang_code_iso_639_1 = 'ml';
+		$ml->lang_code_iso_639_2 = 'mal';
+		$ml->country_code = 'in';
+		$ml->wp_locale = 'ml_IN';
+		$ml->slug = 'ml';
+		$ml->google_code = 'ml';
+		$ml->facebook_locale = 'ml_IN';
+
+		$mlt = new GP_Locale();
+		$mlt->english_name = 'Maltese';
+		$mlt->native_name = 'Malti';
+		$mlt->lang_code_iso_639_1 = 'mt';
+		$mlt->lang_code_iso_639_2 = 'mlt';
+		$mlt->lang_code_iso_639_3 = 'mlt';
+		$mlt->country_code = 'mt';
+		$mlt->wp_locale = 'mlt';
+		$mlt->slug = 'mlt';
+		$mlt->nplurals = 4;
+		$mlt->plural_expression = '(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3)';
+		$mlt->google_code = 'mt';
+		$mlt->facebook_locale = 'mt_MT';
+
+		$mn = new GP_Locale();
+		$mn->english_name = 'Mongolian';
+		$mn->native_name = 'Монгол';
+		$mn->lang_code_iso_639_1 = 'mn';
+		$mn->lang_code_iso_639_2 = 'mon';
+		$mn->country_code = 'mn';
+		$mn->wp_locale = 'mn';
+		$mn->slug = 'mn';
+		$mn->google_code = 'mn';
+		$mn->facebook_locale = 'mn_MN';
+
+		$mr = new GP_Locale();
+		$mr->english_name = 'Marathi';
+		$mr->native_name = 'मराठी';
+		$mr->lang_code_iso_639_1 = 'mr';
+		$mr->lang_code_iso_639_2 = 'mar';
+		$mr->wp_locale = 'mr';
+		$mr->slug = 'mr';
+		$mr->google_code = 'mr';
+		$mr->facebook_locale = 'mr_IN';
+
+		$mri = new GP_Locale();
+		$mri->english_name = 'Maori';
+		$mri->native_name = 'Te Reo Māori';
+		$mri->lang_code_iso_639_1 = 'mi';
+		$mri->lang_code_iso_639_3 = 'mri';
+		$mri->country_code = 'nz';
+		$mri->slug = 'mri';
+		$mri->wp_locale = 'mri';
+		$mri->nplurals = 2;
+		$mri->plural_expression = '(n > 1)';
+		$mri->google_code = 'mi';
+
+		$mrj = new GP_Locale();
+		$mrj->english_name = 'Mari (Hill)';
+		$mrj->native_name = 'Кырык мары';
+		$mrj->lang_code_iso_639_3 = 'mrj';
+		$mrj->country_code = 'ru';
+		$mrj->slug = 'mrj';
+
+		$ms = new GP_Locale();
+		$ms->english_name = 'Malay';
+		$ms->native_name = 'Bahasa Melayu';
+		$ms->lang_code_iso_639_1 = 'ms';
+		$ms->lang_code_iso_639_2 = 'msa';
+		$ms->wp_locale = 'ms_MY';
+		$ms->slug = 'ms';
+		$ms->nplurals = 1;
+		$ms->plural_expression = '0';
+		$ms->google_code = 'ms';
+		$ms->facebook_locale = 'ms_MY';
+
+		$mwl = new GP_Locale();
+		$mwl->english_name = 'Mirandese';
+		$mwl->native_name = 'Mirandés';
+		$mwl->lang_code_iso_639_2 = 'mwl';
+		$mwl->slug = 'mwl';
+
+		$my = new GP_Locale();
+		$my->english_name = 'Myanmar (Burmese)';
+		$my->native_name = 'ဗမာစာ';
+		$my->lang_code_iso_639_1 = 'my';
+		$my->lang_code_iso_639_2 = 'mya';
+		$my->country_code = 'mm';
+		$my->wp_locale = 'my_MM';
+		$my->slug = 'mya';
+		$my->google_code = 'my';
+
+		$ne = new GP_Locale();
+		$ne->english_name = 'Nepali';
+		$ne->native_name = 'नेपाली';
+		$ne->lang_code_iso_639_1 = 'ne';
+		$ne->lang_code_iso_639_2 = 'nep';
+		$ne->country_code = 'np';
+		$ne->wp_locale = 'ne_NP';
+		$ne->slug = 'ne';
+		$ne->google_code = 'ne';
+		$ne->facebook_locale = 'ne_NP';
+
+		$nb = new GP_Locale();
+		$nb->english_name = 'Norwegian (Bokmål)';
+		$nb->native_name = 'Norsk bokmål';
+		$nb->lang_code_iso_639_1 = 'nb';
+		$nb->lang_code_iso_639_2 = 'nob';
+		$nb->country_code = 'no';
+		$nb->wp_locale = 'nb_NO';
+		$nb->slug = 'nb';
+		$nb->google_code = 'no';
+		$nb->facebook_locale = 'nb_NO';
+
+		$nl = new GP_Locale();
+		$nl->english_name = 'Dutch';
+		$nl->native_name = 'Nederlands';
+		$nl->lang_code_iso_639_1 = 'nl';
+		$nl->lang_code_iso_639_2 = 'nld';
+		$nl->country_code = 'nl';
+		$nl->wp_locale = 'nl_NL';
+		$nl->slug = 'nl';
+		$nl->google_code = 'nl';
+		$nl->facebook_locale = 'nl_NL';
+
+		$nl_formal = clone $nl;
+		$nl_formal->english_name = 'Dutch (Formal)';
+		$nl_formal->native_name = 'Nederlands (Formeel)';
+		$nl_formal->slug = 'nl/formal';
+		$nl_formal->wp_locale = 'nl_NL_formal';
+
+		$nl_be = new GP_Locale();
+		$nl_be->english_name = 'Dutch (Belgium)';
+		$nl_be->native_name = 'Nederlands (België)';
+		$nl_be->lang_code_iso_639_1 = 'nl';
+		$nl_be->lang_code_iso_639_2 = 'nld';
+		$nl_be->country_code = 'be';
+		$nl_be->wp_locale = 'nl_BE';
+		$nl_be->slug = 'nl-be';
+		$nl_be->google_code = 'nl';
+
+		$nn = new GP_Locale();
+		$nn->english_name = 'Norwegian (Nynorsk)';
+		$nn->native_name = 'Norsk nynorsk';
+		$nn->lang_code_iso_639_1 = 'nn';
+		$nn->lang_code_iso_639_2 = 'nno';
+		$nn->country_code = 'no';
+		$nn->wp_locale = 'nn_NO';
+		$nn->slug = 'nn';
+		$nn->google_code = 'no';
+		$nn->facebook_locale = 'nn_NO';
+
+		$no = new GP_Locale();
+		$no->english_name = 'Norwegian';
+		$no->native_name = 'Norsk';
+		$no->lang_code_iso_639_1 = 'no';
+		$no->lang_code_iso_639_2 = 'nor';
+		$no->country_code = 'no';
+		$no->slug = 'no';
+		$no->google_code = 'no';
+
+		$nqo = new GP_Locale();
+		$nqo->english_name = 'N’ko';
+		$nqo->native_name = 'ߒߞߏ';
+		$nqo->lang_code_iso_639_2 = 'nqo';
+		$nqo->lang_code_iso_639_3 = 'nqo';
+		$nqo->country_code = 'gn';
+		$nqo->wp_locale = 'nqo';
+		$nqo->slug = 'nqo';
+		$nqo->text_direction = 'rtl';
+
+		$oci = new GP_Locale();
+		$oci->english_name = 'Occitan';
+		$oci->native_name = 'Occitan';
+		$oci->lang_code_iso_639_1 = 'oc';
+		$oci->lang_code_iso_639_2 = 'oci';
+		$oci->country_code = 'fr';
+		$oci->wp_locale = 'oci';
+		$oci->slug = 'oci';
+		$oci->nplurals = 2;
+		$oci->plural_expression = '(n > 1)';
+
+		$orm = new GP_Locale();
+		$orm->english_name = 'Oromo';
+		$orm->native_name = 'Afaan Oromo';
+		$orm->lang_code_iso_639_1 = 'om';
+		$orm->lang_code_iso_639_2 = 'orm';
+		$orm->lang_code_iso_639_3 = 'orm';
+		$orm->slug = 'orm';
+		$orm->plural_expression = '(n > 1)';
+
+		$ory = new GP_Locale();
+		$ory->english_name = 'Oriya';
+		$ory->native_name = 'ଓଡ଼ିଆ';
+		$ory->lang_code_iso_639_1 = 'or';
+		$ory->lang_code_iso_639_2 = 'ory';
+		$ory->country_code = 'in';
+		$ory->wp_locale = 'ory';
+		$ory->slug = 'ory';
+		$ory->facebook_locale = 'or_IN';
+
+		$os = new GP_Locale();
+		$os->english_name = 'Ossetic';
+		$os->native_name = 'Ирон';
+		$os->lang_code_iso_639_1 = 'os';
+		$os->lang_code_iso_639_2 = 'oss';
+		$os->wp_locale = 'os';
+		$os->slug = 'os';
+
+		$pa = new GP_Locale();
+		$pa->english_name = 'Punjabi';
+		$pa->native_name = 'ਪੰਜਾਬੀ';
+		$pa->lang_code_iso_639_1 = 'pa';
+		$pa->lang_code_iso_639_2 = 'pan';
+		$pa->country_code = 'in';
+		$pa->wp_locale = 'pa_IN';
+		$pa->slug = 'pa';
+		$pa->google_code = 'pa';
+		$pa->facebook_locale = 'pa_IN';
+
+		$pap = new GP_Locale();
+		$pap->english_name = 'Papiamento';
+		$pap->native_name = 'Papiamentu';
+		$pap->lang_code_iso_639_2 = 'pap';
+		$pap->lang_code_iso_639_3 = 'pap';
+		$pap->country_code = 'cw';
+		$pap->wp_locale = 'pap';
+		$pap->slug = 'pap';
+
+		$pcm = new GP_Locale();
+		$pcm->english_name = 'Nigerian Pidgin';
+		$pcm->native_name = 'Nigerian Pidgin';
+		$pcm->lang_code_iso_639_3 = 'pcm';
+		$pcm->country_code = 'ng';
+		$pcm->wp_locale = 'pcm';
+		$pcm->slug = 'pcm';
+
+		$pirate = new GP_Locale();
+		$pirate->english_name = 'English (Pirate)';
+		$pirate->native_name = 'English (Pirate)';
+		$pirate->lang_code_iso_639_2 = 'art';
+		$pirate->wp_locale = 'art_xpirate';
+		$pirate->slug = 'pirate';
+		$pirate->google_code = 'xx-pirate';
+		$pirate->facebook_locale = 'en_PI';
+
+		$pl = new GP_Locale();
+		$pl->english_name = 'Polish';
+		$pl->native_name = 'Polski';
+		$pl->lang_code_iso_639_1 = 'pl';
+		$pl->lang_code_iso_639_2 = 'pol';
+		$pl->country_code = 'pl';
+		$pl->wp_locale = 'pl_PL';
+		$pl->slug = 'pl';
+		$pl->nplurals = 3;
+		$pl->plural_expression = '(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$pl->google_code = 'pl';
+		$pl->facebook_locale = 'pl_PL';
+
+		$pt = new GP_Locale();
+		$pt->english_name = 'Portuguese (Portugal)';
+		$pt->native_name = 'Português';
+		$pt->lang_code_iso_639_1 = 'pt';
+		$pt->country_code = 'pt';
+		$pt->wp_locale = 'pt_PT';
+		$pt->slug = 'pt';
+		$pt->google_code = 'pt-PT';
+		$pt->facebook_locale = 'pt_PT';
+
+		$pt_ao90 = clone $pt;
+		$pt_ao90->english_name = 'Portuguese (Portugal, AO90)';
+		$pt_ao90->native_name = 'Português (AO90)';
+		$pt_ao90->slug = 'pt/ao90';
+		$pt_ao90->wp_locale = 'pt_PT_ao90';
+
+		$pt_ao = new GP_Locale();
+		$pt_ao->english_name = 'Portuguese (Angola)';
+		$pt_ao->native_name = 'Português de Angola';
+		$pt_ao->lang_code_iso_639_1 = 'pt';
+		$pt_ao->country_code = 'ao';
+		$pt_ao->wp_locale = 'pt_AO';
+		$pt_ao->slug = 'pt-ao';
+
+		$pt_br = new GP_Locale();
+		$pt_br->english_name = 'Portuguese (Brazil)';
+		$pt_br->native_name = 'Português do Brasil';
+		$pt_br->lang_code_iso_639_1 = 'pt';
+		$pt_br->lang_code_iso_639_2 = 'por';
+		$pt_br->country_code = 'br';
+		$pt_br->wp_locale = 'pt_BR';
+		$pt_br->slug = 'pt-br';
+		$pt_br->nplurals = 2;
+		$pt_br->plural_expression = '(n > 1)';
+		$pt_br->google_code = 'pt-BR';
+		$pt_br->facebook_locale = 'pt_BR';
+
+		$ps = new GP_Locale();
+		$ps->english_name = 'Pashto';
+		$ps->native_name = 'پښتو';
+		$ps->lang_code_iso_639_1 = 'ps';
+		$ps->lang_code_iso_639_2 = 'pus';
+		$ps->country_code = 'af';
+		$ps->wp_locale = 'ps';
+		$ps->slug = 'ps';
+		$ps->text_direction = 'rtl';
+		$ps->facebook_locale = 'ps_AF';
+
+		$rhg = new GP_Locale();
+		$rhg->english_name = 'Rohingya';
+		$rhg->native_name = 'Ruáinga';
+		$rhg->lang_code_iso_639_3 = 'rhg';
+		$rhg->country_code = 'mm';
+		$rhg->wp_locale = 'rhg';
+		$rhg->slug = 'rhg';
+		$rhg->nplurals = 1;
+		$rhg->plural_expression = '0';
+
+		$ro = new GP_Locale();
+		$ro->english_name = 'Romanian';
+		$ro->native_name = 'Română';
+		$ro->lang_code_iso_639_1 = 'ro';
+		$ro->lang_code_iso_639_2 = 'ron';
+		$ro->country_code = 'ro';
+		$ro->wp_locale = 'ro_RO';
+		$ro->slug = 'ro';
+		$ro->nplurals = 3;
+		$ro->plural_expression = '(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2)';
+		$ro->google_code = 'ro';
+		$ro->facebook_locale = 'ro_RO';
+
+		$roh = new GP_Locale();
+		$roh->english_name = 'Romansh';
+		$roh->native_name = 'Rumantsch';
+		$roh->lang_code_iso_639_2 = 'rm';
+		$roh->lang_code_iso_639_3 = 'roh';
+		$roh->country_code = 'ch';
+		$roh->wp_locale = 'roh';
+		$roh->slug = 'roh';
+
+		$ru = new GP_Locale();
+		$ru->english_name = 'Russian';
+		$ru->native_name = 'Русский';
+		$ru->lang_code_iso_639_1 = 'ru';
+		$ru->lang_code_iso_639_2 = 'rus';
+		$ru->country_code = 'ru';
+		$ru->wp_locale = 'ru_RU';
+		$ru->slug = 'ru';
+		$ru->nplurals = 3;
+		$ru->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$ru->google_code = 'ru';
+		$ru->facebook_locale = 'ru_RU';
+
+		$rue = new GP_Locale();
+		$rue->english_name = 'Rusyn';
+		$rue->native_name = 'Русиньскый';
+		$rue->lang_code_iso_639_3 = 'rue';
+		$rue->wp_locale = 'rue';
+		$rue->slug = 'rue';
+		$rue->nplurals = 3;
+		$rue->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+
+		$rup = new GP_Locale();
+		$rup->english_name = 'Aromanian';
+		$rup->native_name = 'Armãneashce';
+		$rup->lang_code_iso_639_2 = 'rup';
+		$rup->lang_code_iso_639_3 = 'rup';
+		$rup->country_code = 'mk';
+		$rup->wp_locale = 'rup_MK';
+		$rup->slug = 'rup';
+
+		$sah = new GP_Locale();
+		$sah->english_name = 'Sakha';
+		$sah->native_name = 'Сахалыы';
+		$sah->lang_code_iso_639_2 = 'sah';
+		$sah->lang_code_iso_639_3 = 'sah';
+		$sah->country_code = 'ru';
+		$sah->wp_locale = 'sah';
+		$sah->slug = 'sah';
+
+		$sa_in = new GP_Locale();
+		$sa_in->english_name = 'Sanskrit';
+		$sa_in->native_name = 'भारतम्';
+		$sa_in->lang_code_iso_639_1 = 'sa';
+		$sa_in->lang_code_iso_639_2 = 'san';
+		$sa_in->lang_code_iso_639_3 = 'san';
+		$sa_in->country_code = 'in';
+		$sa_in->wp_locale = 'sa_IN';
+		$sa_in->slug = 'sa-in';
+		$sa_in->facebook_locale = 'sa_IN';
+
+		$scn = new GP_Locale();
+		$scn->english_name = 'Sicilian';
+		$scn->native_name = 'Sicilianu';
+		$scn->lang_code_iso_639_3 = 'scn';
+		$scn->country_code = 'it';
+		$scn->wp_locale = 'scn';
+		$scn->slug = 'scn';
+
+		$si = new GP_Locale();
+		$si->english_name = 'Sinhala';
+		$si->native_name = 'සිංහල';
+		$si->lang_code_iso_639_1 = 'si';
+		$si->lang_code_iso_639_2 = 'sin';
+		$si->country_code = 'lk';
+		$si->wp_locale = 'si_LK';
+		$si->slug = 'si';
+		$si->google_code = 'si';
+		$si->facebook_locale = 'si_LK';
+
+		$sk = new GP_Locale();
+		$sk->english_name = 'Slovak';
+		$sk->native_name = 'Slovenčina';
+		$sk->lang_code_iso_639_1 = 'sk';
+		$sk->lang_code_iso_639_2 = 'slk';
+		$sk->country_code = 'sk';
+		$sk->slug = 'sk';
+		$sk->wp_locale = 'sk_SK';
+		$sk->nplurals = 3;
+		$sk->plural_expression = '(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2';
+		$sk->google_code = 'sk';
+		$sk->facebook_locale = 'sk_SK';
+
+		$skr = new GP_Locale();
+		$skr->english_name = 'Saraiki';
+		$skr->native_name = 'سرائیکی';
+		$skr->lang_code_iso_639_3 = 'skr';
+		$skr->country_code = 'pk';
+		$skr->wp_locale = 'skr';
+		$skr->slug = 'skr';
+		$skr->nplurals = 2;
+		$skr->plural_expression = '(n > 1)';
+		$skr->text_direction = 'rtl';
+
+		$sl = new GP_Locale();
+		$sl->english_name = 'Slovenian';
+		$sl->native_name = 'Slovenščina';
+		$sl->lang_code_iso_639_1 = 'sl';
+		$sl->lang_code_iso_639_2 = 'slv';
+		$sl->country_code = 'si';
+		$sl->wp_locale = 'sl_SI';
+		$sl->slug = 'sl';
+		$sl->nplurals = 4;
+		$sl->plural_expression = '(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)';
+		$sl->google_code = 'sl';
+		$sl->facebook_locale = 'sl_SI';
+
+		$sna = new GP_Locale();
+		$sna->english_name = 'Shona';
+		$sna->native_name = 'ChiShona';
+		$sna->lang_code_iso_639_1 = 'sn';
+		$sna->lang_code_iso_639_3 = 'sna';
+		$sna->country_code = 'zw';
+		$sna->wp_locale = 'sna';
+		$sna->slug = 'sna';
+
+		$snd = new GP_Locale();
+		$snd->english_name = 'Sindhi';
+		$snd->native_name = 'سنڌي';
+		$snd->lang_code_iso_639_1 = 'sd';
+		$snd->lang_code_iso_639_2 = 'sd';
+		$snd->lang_code_iso_639_3 = 'snd';
+		$snd->country_code = 'pk';
+		$snd->wp_locale = 'snd';
+		$snd->slug = 'snd';
+		$snd->text_direction = 'rtl';
+
+		$so = new GP_Locale();
+		$so->english_name = 'Somali';
+		$so->native_name = 'Afsoomaali';
+		$so->lang_code_iso_639_1 = 'so';
+		$so->lang_code_iso_639_2 = 'som';
+		$so->lang_code_iso_639_3 = 'som';
+		$so->country_code = 'so';
+		$so->wp_locale = 'so_SO';
+		$so->slug = 'so';
+		$so->google_code = 'so';
+		$so->facebook_locale = 'so_SO';
+
+		$sq = new GP_Locale();
+		$sq->english_name = 'Albanian';
+		$sq->native_name = 'Shqip';
+		$sq->lang_code_iso_639_1 = 'sq';
+		$sq->lang_code_iso_639_2 = 'sqi';
+		$sq->wp_locale = 'sq';
+		$sq->country_code = 'al';
+		$sq->slug = 'sq';
+		$sq->google_code = 'sq';
+		$sq->facebook_locale = 'sq_AL';
+
+		$sq_xk = new GP_Locale();
+		$sq_xk->english_name = 'Shqip (Kosovo)';
+		$sq_xk->native_name = 'Për Kosovën Shqip';
+		$sq_xk->lang_code_iso_639_1 = 'sq';
+		$sq_xk->country_code = 'xk'; // Temporary country code until Kosovo is assigned an ISO code.
+		$sq_xk->wp_locale = 'sq_XK';
+		$sq_xk->slug = 'sq-xk';
+
+		$sr = new GP_Locale();
+		$sr->english_name = 'Serbian';
+		$sr->native_name = 'Српски језик';
+		$sr->lang_code_iso_639_1 = 'sr';
+		$sr->lang_code_iso_639_2 = 'srp';
+		$sr->country_code = 'rs';
+		$sr->wp_locale = 'sr_RS';
+		$sr->slug = 'sr';
+		$sr->nplurals = 3;
+		$sr->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$sr->google_code = 'sr';
+		$sr->facebook_locale = 'sr_RS';
+
+		$srd = new GP_Locale();
+		$srd->english_name = 'Sardinian';
+		$srd->native_name = 'Sardu';
+		$srd->lang_code_iso_639_1 = 'sc';
+		$srd->lang_code_iso_639_2 = 'srd';
+		$srd->country_code = 'it';
+		$srd->wp_locale = 'srd';
+		$srd->slug = 'srd';
+		$srd->facebook_locale = 'sc_IT';
+
+		$ssw = new GP_Locale();
+		$ssw->english_name = 'Swati';
+		$ssw->native_name = 'SiSwati';
+		$ssw->lang_code_iso_639_1 = 'ss';
+		$ssw->lang_code_iso_639_2 = 'ssw';
+		$ssw->lang_code_iso_639_3 = 'ssw';
+		$ssw->country_code = 'sz';
+		$ssw->wp_locale = 'ssw';
+		$ssw->slug = 'ssw';
+
+		$su = new GP_Locale();
+		$su->english_name = 'Sundanese';
+		$su->native_name = 'Basa Sunda';
+		$su->lang_code_iso_639_1 = 'su';
+		$su->lang_code_iso_639_2 = 'sun';
+		$su->country_code = 'id';
+		$su->wp_locale = 'su_ID';
+		$su->slug = 'su';
+		$su->nplurals = 1;
+		$su->plural_expression = '0';
+		$su->google_code = 'su';
+
+		$sv = new GP_Locale();
+		$sv->english_name = 'Swedish';
+		$sv->native_name = 'Svenska';
+		$sv->lang_code_iso_639_1 = 'sv';
+		$sv->lang_code_iso_639_2 = 'swe';
+		$sv->country_code = 'se';
+		$sv->wp_locale = 'sv_SE';
+		$sv->slug = 'sv';
+		$sv->google_code = 'sv';
+		$sv->facebook_locale = 'sv_SE';
+
+		$sw = new GP_Locale();
+		$sw->english_name = 'Swahili';
+		$sw->native_name = 'Kiswahili';
+		$sw->lang_code_iso_639_1 = 'sw';
+		$sw->lang_code_iso_639_2 = 'swa';
+		$sw->wp_locale = 'sw';
+		$sw->slug = 'sw';
+		$sw->google_code = 'sw';
+		$sw->facebook_locale = 'sw_KE';
+
+		$syr = new GP_Locale();
+		$syr->english_name = 'Syriac';
+		$syr->native_name = 'Syriac';
+		$syr->lang_code_iso_639_3 = 'syr';
+		$syr->country_code = 'iq';
+		$syr->wp_locale = 'syr';
+		$syr->slug = 'syr';
+
+		$szl = new GP_Locale();
+		$szl->english_name = 'Silesian';
+		$szl->native_name = 'Ślōnskŏ gŏdka';
+		$szl->lang_code_iso_639_3 = 'szl';
+		$szl->country_code = 'pl';
+		$szl->wp_locale = 'szl';
+		$szl->slug = 'szl';
+		$szl->nplurals = 3;
+		$szl->plural_expression = '(n==1 ? 0 : n%10>=2 && n%10<=4 && n%100==20 ? 1 : 2)';
+		$szl->facebook_locale = 'sz_PL';
+
+		$ta = new GP_Locale();
+		$ta->english_name = 'Tamil';
+		$ta->native_name = 'தமிழ்';
+		$ta->lang_code_iso_639_1 = 'ta';
+		$ta->lang_code_iso_639_2 = 'tam';
+		$ta->country_code = 'in';
+		$ta->wp_locale = 'ta_IN';
+		$ta->slug = 'ta';
+		$ta->google_code = 'ta';
+		$ta->facebook_locale = 'ta_IN';
+
+		$ta_lk = new GP_Locale();
+		$ta_lk->english_name = 'Tamil (Sri Lanka)';
+		$ta_lk->native_name = 'தமிழ்';
+		$ta_lk->lang_code_iso_639_1 = 'ta';
+		$ta_lk->lang_code_iso_639_2 = 'tam';
+		$ta_lk->country_code = 'lk';
+		$ta_lk->wp_locale = 'ta_LK';
+		$ta_lk->slug = 'ta-lk';
+		$ta_lk->google_code = 'ta';
+
+		$tah = new GP_Locale();
+		$tah->english_name = 'Tahitian';
+		$tah->native_name = 'Reo Tahiti';
+		$tah->lang_code_iso_639_1 = 'ty';
+		$tah->lang_code_iso_639_2 = 'tah';
+		$tah->lang_code_iso_639_3 = 'tah';
+		$tah->country_code = 'fr';
+		$tah->wp_locale = 'tah';
+		$tah->slug = 'tah';
+		$tah->nplurals = 2;
+		$tah->plural_expression = '(n > 1)';
+
+		$te = new GP_Locale();
+		$te->english_name = 'Telugu';
+		$te->native_name = 'తెలుగు';
+		$te->lang_code_iso_639_1 = 'te';
+		$te->lang_code_iso_639_2 = 'tel';
+		$te->wp_locale = 'te';
+		$te->slug = 'te';
+		$te->google_code = 'te';
+		$te->facebook_locale = 'te_IN';
+
+		$tg = new GP_Locale();
+		$tg->english_name = 'Tajik';
+		$tg->native_name = 'Тоҷикӣ';
+		$tg->lang_code_iso_639_1 = 'tg';
+		$tg->lang_code_iso_639_2 = 'tgk';
+		$tah->country_code = 'tj';
+		$tg->wp_locale = 'tg';
+		$tg->slug = 'tg';
+		$tg->google_code = 'tg';
+		$tg->facebook_locale = 'tg_TJ';
+
+		$th = new GP_Locale();
+		$th->english_name = 'Thai';
+		$th->native_name = 'ไทย';
+		$th->lang_code_iso_639_1 = 'th';
+		$th->lang_code_iso_639_2 = 'tha';
+		$th->wp_locale = 'th';
+		$th->slug = 'th';
+		$th->nplurals = 1;
+		$th->plural_expression = '0';
+		$th->google_code = 'th';
+		$th->facebook_locale = 'th_TH';
+
+		$tir = new GP_Locale();
+		$tir->english_name = 'Tigrinya';
+		$tir->native_name = 'ትግርኛ';
+		$tir->lang_code_iso_639_1 = 'ti';
+		$tir->lang_code_iso_639_2 = 'tir';
+		$tir->country_code = 'er';
+		$tir->wp_locale = 'tir';
+		$tir->slug = 'tir';
+		$tir->nplurals = 1;
+		$tir->plural_expression = '0';
+
+		$tlh = new GP_Locale();
+		$tlh->english_name = 'Klingon';
+		$tlh->native_name = 'TlhIngan';
+		$tlh->lang_code_iso_639_2 = 'tlh';
+		$tlh->slug = 'tlh';
+		$tlh->nplurals = 1;
+		$tlh->plural_expression = '0';
+		$tlh->facebook_locale = 'tl_ST';
+
+		$tl = new GP_Locale();
+		$tl->english_name = 'Tagalog';
+		$tl->native_name = 'Tagalog';
+		$tl->lang_code_iso_639_1 = 'tl';
+		$tl->lang_code_iso_639_2 = 'tgl';
+		$tl->country_code = 'ph';
+		$tl->wp_locale = 'tl';
+		$tl->slug = 'tl';
+		$tl->google_code = 'tl';
+		$tl->facebook_locale = 'tl_PH';
+
+		$tr = new GP_Locale();
+		$tr->english_name = 'Turkish';
+		$tr->native_name = 'Türkçe';
+		$tr->lang_code_iso_639_1 = 'tr';
+		$tr->lang_code_iso_639_2 = 'tur';
+		$tr->country_code = 'tr';
+		$tr->wp_locale = 'tr_TR';
+		$tr->slug = 'tr';
+		$tr->nplurals = 2;
+		$tr->plural_expression = '(n > 1)';
+		$tr->google_code = 'tr';
+		$tr->facebook_locale = 'tr_TR';
+
+		$tt_ru = new GP_Locale();
+		$tt_ru->english_name = 'Tatar';
+		$tt_ru->native_name = 'Татар теле';
+		$tt_ru->lang_code_iso_639_1 = 'tt';
+		$tt_ru->lang_code_iso_639_2 = 'tat';
+		$tt_ru->country_code = 'ru';
+		$tt_ru->wp_locale = 'tt_RU';
+		$tt_ru->slug = 'tt';
+		$tt_ru->nplurals = 1;
+		$tt_ru->plural_expression = '0';
+		$tt_ru->facebook_locale = 'tt_RU';
+
+		$tuk = new GP_Locale();
+		$tuk->english_name = 'Turkmen';
+		$tuk->native_name = 'Türkmençe';
+		$tuk->lang_code_iso_639_1 = 'tk';
+		$tuk->lang_code_iso_639_2 = 'tuk';
+		$tuk->country_code = 'tm';
+		$tuk->wp_locale = 'tuk';
+		$tuk->slug = 'tuk';
+		$tuk->nplurals = 2;
+		$tuk->plural_expression = '(n > 1)';
+		$tuk->facebook_locale = 'tk_TM';
+
+		$twd = new GP_Locale();
+		$twd->english_name = 'Tweants';
+		$twd->native_name = 'Twents';
+		$twd->lang_code_iso_639_3 = 'twd';
+		$twd->country_code = 'nl';
+		$twd->wp_locale = 'twd';
+		$twd->slug = 'twd';
+
+		$tzm = new GP_Locale();
+		$tzm->english_name = 'Tamazight (Central Atlas)';
+		$tzm->native_name = 'ⵜⴰⵎⴰⵣⵉⵖⵜ';
+		$tzm->lang_code_iso_639_2 = 'tzm';
+		$tzm->country_code = 'ma';
+		$tzm->wp_locale = 'tzm';
+		$tzm->slug = 'tzm';
+		$tzm->nplurals = 2;
+		$tzm->plural_expression = '(n > 1)';
+
+		$udm = new GP_Locale();
+		$udm->english_name = 'Udmurt';
+		$udm->native_name = 'Удмурт кыл';
+		$udm->lang_code_iso_639_2 = 'udm';
+		$udm->slug = 'udm';
+
+		$ug = new GP_Locale();
+		$ug->english_name = 'Uighur';
+		$ug->native_name = 'ئۇيغۇرچە';
+		$ug->lang_code_iso_639_1 = 'ug';
+		$ug->lang_code_iso_639_2 = 'uig';
+		$ug->country_code = 'cn';
+		$ug->wp_locale = 'ug_CN';
+		$ug->slug = 'ug';
+		$ug->text_direction = 'rtl';
+
+		$uk = new GP_Locale();
+		$uk->english_name = 'Ukrainian';
+		$uk->native_name = 'Українська';
+		$uk->lang_code_iso_639_1 = 'uk';
+		$uk->lang_code_iso_639_2 = 'ukr';
+		$uk->country_code = 'ua';
+		$uk->wp_locale = 'uk';
+		$uk->slug = 'uk';
+		$uk->nplurals = 3;
+		$uk->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
+		$uk->google_code = 'uk';
+		$uk->facebook_locale = 'uk_UA';
+
+		$ur = new GP_Locale();
+		$ur->english_name = 'Urdu';
+		$ur->native_name = 'اردو';
+		$ur->lang_code_iso_639_1 = 'ur';
+		$ur->lang_code_iso_639_2 = 'urd';
+		$ur->country_code = 'pk';
+		$ur->wp_locale = 'ur';
+		$ur->slug = 'ur';
+		$ur->text_direction = 'rtl';
+		$ur->google_code = 'ur';
+		$ur->facebook_locale = 'ur_PK';
+
+		$uz = new GP_Locale();
+		$uz->english_name = 'Uzbek';
+		$uz->native_name = 'O‘zbekcha';
+		$uz->lang_code_iso_639_1 = 'uz';
+		$uz->lang_code_iso_639_2 = 'uzb';
+		$uz->country_code = 'uz';
+		$uz->wp_locale = 'uz_UZ';
+		$uz->slug = 'uz';
+		$uz->nplurals = 1;
+		$uz->plural_expression = '0';
+		$uz->google_code = 'uz';
+		$uz->facebook_locale = 'uz_UZ';
+
+		$vec = new GP_Locale();
+		$vec->english_name = 'Venetian';
+		$vec->native_name = 'Vèneta';
+		$vec->lang_code_iso_639_2 = 'roa';
+		$vec->lang_code_iso_639_3 = 'vec';
+		$vec->country_code = 'it';
+		$vec->slug = 'vec';
+
+		$vi = new GP_Locale();
+		$vi->english_name = 'Vietnamese';
+		$vi->native_name = 'Tiếng Việt';
+		$vi->lang_code_iso_639_1 = 'vi';
+		$vi->lang_code_iso_639_2 = 'vie';
+		$vi->country_code = 'vn';
+		$vi->wp_locale = 'vi';
+		$vi->slug = 'vi';
+		$vi->nplurals = 1;
+		$vi->plural_expression = '0';
+		$vi->google_code = 'vi';
+		$vi->facebook_locale = 'vi_VN';
+
+		$wa = new GP_Locale();
+		$wa->english_name = 'Walloon';
+		$wa->native_name = 'Walon';
+		$wa->lang_code_iso_639_1 = 'wa';
+		$wa->lang_code_iso_639_2 = 'wln';
+		$wa->country_code = 'be';
+		$wa->wp_locale = 'wa';
+		$wa->slug = 'wa';
+
+		$xho = new GP_Locale();
+		$xho->english_name = 'Xhosa';
+		$xho->native_name = 'isiXhosa';
+		$xho->lang_code_iso_639_1 = 'xh';
+		$xho->lang_code_iso_639_2 = 'xho';
+		$xho->lang_code_iso_639_3 = 'xho';
+		$xho->country_code = 'za';
+		$xho->wp_locale = 'xho';
+		$xho->slug = 'xho';
+		$xho->google_code = 'xh';
+		$xho->facebook_locale = 'xh_ZA';
+
+		$xmf = new GP_Locale();
+		$xmf->english_name = 'Mingrelian';
+		$xmf->native_name = 'მარგალური ნინა';
+		$xmf->lang_code_iso_639_3 = 'xmf';
+		$xmf->country_code = 'ge';
+		$xmf->wp_locale = 'xmf';
+		$xmf->slug = 'xmf';
+
+		$yi = new GP_Locale();
+		$yi->english_name = 'Yiddish';
+		$yi->native_name = 'ייִדיש';
+		$yi->lang_code_iso_639_1 = 'yi';
+		$yi->lang_code_iso_639_2 = 'yid';
+		$yi->slug = 'yi';
+		$yi->text_direction = 'rtl';
+		$yi->google_code = 'yi';
+
+		$yor = new GP_Locale();
+		$yor->english_name = 'Yoruba';
+		$yor->native_name = 'Yorùbá';
+		$yor->lang_code_iso_639_1 = 'yo';
+		$yor->lang_code_iso_639_2 = 'yor';
+		$yor->lang_code_iso_639_3 = 'yor';
+		$yor->country_code = 'ng';
+		$yor->wp_locale = 'yor';
+		$yor->slug = 'yor';
+		$yor->google_code = 'yo';
+		$yor->facebook_locale = 'yo_NG';
+
+		$zh_cn = new GP_Locale();
+		$zh_cn->english_name = 'Chinese (China)';
+		$zh_cn->native_name = '简体中文';
+		$zh_cn->lang_code_iso_639_1 = 'zh';
+		$zh_cn->lang_code_iso_639_2 = 'zho';
+		$zh_cn->country_code = 'cn';
+		$zh_cn->wp_locale = 'zh_CN';
+		$zh_cn->slug = 'zh-cn';
+		$zh_cn->nplurals = 1;
+		$zh_cn->plural_expression = '0';
+		$zh_cn->google_code = 'zh-CN';
+		$zh_cn->facebook_locale = 'zh_CN';
+
+		$zh_hk = new GP_Locale();
+		$zh_hk->english_name = 'Chinese (Hong Kong)';
+		$zh_hk->native_name = '香港中文版	';
+		$zh_hk->lang_code_iso_639_1 = 'zh';
+		$zh_hk->lang_code_iso_639_2 = 'zho';
+		$zh_hk->country_code = 'hk';
+		$zh_hk->wp_locale = 'zh_HK';
+		$zh_hk->slug = 'zh-hk';
+		$zh_hk->nplurals = 1;
+		$zh_hk->plural_expression = '0';
+		$zh_hk->facebook_locale = 'zh_HK';
+
+		$zh_sg = new GP_Locale();
+		$zh_sg->english_name = 'Chinese (Singapore)';
+		$zh_sg->native_name = '中文';
+		$zh_sg->lang_code_iso_639_1 = 'zh';
+		$zh_sg->lang_code_iso_639_2 = 'zho';
+		$zh_sg->country_code = 'sg';
+		$zh_sg->wp_locale = 'zh_SG';
+		$zh_sg->slug = 'zh-sg';
+		$zh_sg->nplurals = 1;
+		$zh_sg->plural_expression = '0';
+
+		$zh_tw = new GP_Locale();
+		$zh_tw->english_name = 'Chinese (Taiwan)';
+		$zh_tw->native_name = '繁體中文';
+		$zh_tw->lang_code_iso_639_1 = 'zh';
+		$zh_tw->lang_code_iso_639_2 = 'zho';
+		$zh_tw->country_code = 'tw';
+		$zh_tw->slug = 'zh-tw';
+		$zh_tw->wp_locale= 'zh_TW';
+		$zh_tw->nplurals = 1;
+		$zh_tw->plural_expression = '0';
+		$zh_tw->google_code = 'zh-TW';
+		$zh_tw->facebook_locale = 'zh_TW';
+
+		$zh = new GP_Locale();
+		$zh->english_name = 'Chinese';
+		$zh->native_name = '中文';
+		$zh->lang_code_iso_639_1 = 'zh';
+		$zh->lang_code_iso_639_2 = 'zho';
+		$zh->slug = 'zh';
+		$zh->nplurals = 1;
+		$zh->plural_expression = '0';
+
+		$zul = new GP_Locale();
+		$zul->english_name = 'Zulu';
+		$zul->native_name = 'isiZulu';
+		$zul->lang_code_iso_639_1 = 'zu';
+		$zul->lang_code_iso_639_2 = 'zul';
+		$zul->lang_code_iso_639_3 = 'zul';
+		$zul->country_code = 'za';
+		$zul->wp_locale = 'zul';
+		$zul->slug = 'zul';
+		$zul->google_code = 'zu';
+
+		foreach( get_defined_vars() as $locale ) {
+			$this->locales[ $locale->slug ] = $locale;
+		}
+	}
+
+	public static function &instance() {
+		if ( ! isset( $GLOBALS['gp_locales'] ) )
+			$GLOBALS['gp_locales'] = new GP_Locales;
+
+		return $GLOBALS['gp_locales'];
+	}
+
+	public static function locales() {
+		$instance = GP_Locales::instance();
+		return $instance->locales;
+	}
+
+	public static function exists( $slug ) {
+		$instance = GP_Locales::instance();
+		return isset( $instance->locales[ $slug ] );
+	}
+
+	public static function by_slug( $slug ) {
+		$instance = GP_Locales::instance();
+		return isset( $instance->locales[ $slug ] )? $instance->locales[ $slug ] : null;
+	}
+
+	public static function by_field( $field_name, $field_value ) {
+		$instance = GP_Locales::instance();
+		$result   = false;
+
+		foreach( $instance->locales() as $locale ) {
+			if ( isset( $locale->$field_name ) && $locale->$field_name == $field_value ) {
+				$result = $locale;
+				break;
+			}
+		}
+
+		return $result;
+	}
+}
+
+endif;
diff --git api.wordpress.org/public_html/core/serve-happy/1.0/config.php wordpress.org/public_html/wp-content/mu-plugins/pub/servehappy-config.php
similarity index 54%
rename from api.wordpress.org/public_html/core/serve-happy/1.0/config.php
rename to wordpress.org/public_html/wp-content/mu-plugins/pub/servehappy-config.php
index 37fa46a79..b37a5ca6d 100644
--- api.wordpress.org/public_html/core/serve-happy/1.0/config.php
+++ wordpress.org/public_html/wp-content/mu-plugins/pub/servehappy-config.php
@@ -1,9 +1,20 @@
 <?php
 namespace WordPressdotorg\API\Serve_Happy;
+/**
+ * Plugin Name: Servehappy Versions
+ * Description: Defines PHP version constants used by the Servehappy API and throughout wordpress.org.
+ * Version:     1.0
+ * Author:      WordPress.org
+ * Author URI:  https://wordpress.org/
+ * License:     GPLv2 or later
+ */
 
 // The latest branch of PHP which WordPress.org recommends.
 define( 'RECOMMENDED_PHP', '7.3' );
 
+// The oldest branch of PHP which WordPress core still works with.
+define( 'MINIMUM_PHP', '5.2.4' );
+
 // The lowest branch of PHP which is actively supported.
 define( 'SUPPORTED_PHP', '7.2' );
 
diff --git wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-add-existing-users-via-username.php wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-add-existing-users-via-username.php
index 83ab38af4..704e4a954 100644
--- wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-add-existing-users-via-username.php
+++ wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-add-existing-users-via-username.php
@@ -22,7 +22,7 @@ function replace_email_label() {
 	?>
 	<script>
 		( function( $ ) {
-			$( 'label[for="adduser-email"]' ).html( '<?php echo esc_js( __( 'E-mail or Username' ) ); ?>' );
+			$( 'label[for="adduser-email"]' ).html( '<?php echo esc_js( __( 'Email or Username' ) ); ?>' );
 			$( '#adduser-email' ).attr( 'type', 'text' );
 			$( '#add-new-user' ).find( '+ div + p' ).html( "<?php echo esc_js( __( 'Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' ) ); ?>" );
 		} )( jQuery );
diff --git wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-canonical-tweaks.php wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-canonical-tweaks.php
new file mode 100644
index 000000000..1fb5d31dd
--- /dev/null
+++ wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-canonical-tweaks.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * Custom Canonical redirect for Facebook and Twitter referrers.
+ */
+add_action( 'template_redirect', function() {
+
+	// Only run on pages with canonical enabled.
+	if ( ! has_action( 'template_redirect', 'redirect_canonical' ) ) {
+		return;
+	}
+
+	$url = false;
+	if ( isset( $_GET['fbclid'] ) ) {
+		$url = remove_query_arg( 'fbclid' ) . '#utm_medium=referral&utm_source=facebook.com&utm_content=social';
+	} elseif ( isset( $_GET['__twitter_impression'] ) ) {
+		$url = remove_query_arg( '__twitter_impression' ) . '#utm_medium=referral&utm_source=twitter.com&utm_content=social';
+	}
+
+	if ( $url ) {
+		wp_safe_redirect( $url, 301 );
+		exit;
+	}
+
+}, 9 ); // Before redirect_canonical();
diff --git wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-page-limiter.php wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-page-limiter.php
new file mode 100644
index 000000000..e706e0609
--- /dev/null
+++ wordpress.org/public_html/wp-content/mu-plugins/pub/wporg-page-limiter.php
@@ -0,0 +1,89 @@
+<?php
+/**
+ * Plugin Name: Limit Logged out users to 49 Pages. See https://meta.trac.wordpress.org/ticket/4068
+ */
+
+class WPORG_Page_Limiter {
+	// Bots are blocked for Pages 50+
+	const MAX_PAGES = 49;
+
+	function __construct() {
+		add_action( 'init', [ $this, 'init' ] );
+	}
+
+	public function init() {
+		// Don't apply this to WordPress.org API endpoints.
+		if ( defined( 'WPORG_IS_API' ) && WPORG_IS_API ) {
+			return;
+		}
+
+		// Logged in users don't need limited pagination.
+		if ( is_user_logged_in() ) {
+			return;
+		}
+
+		// Priority of 100 is needed as a few places use filter callbacks to fill in the details.
+
+		// Pre-query, ensure we flag this request as a 404.
+		add_filter( 'request', [ $this, 'request' ], 100 );
+
+		// 404 on high pages instead of performing a DB query.
+		add_action( 'parse_query', [ $this, 'parse_query' ], 100 );
+
+		// Limit WP_Query::max_num_pages to self::MAX_PAGES
+		add_filter( 'found_posts', [ $this, 'found_posts' ], 100, 2 );
+
+		// BbPress Forum Topic pagination
+		add_filter( 'bbp_topic_pagination', [ $this, 'bbp_topic_pagination' ], 100 );
+	}
+
+	// Pre-query, Override the query to be a 404.
+	public function request( $args ) {
+		if ( isset( $args['paged'] ) && $args['paged'] > self::MAX_PAGES ) {
+			$args = array(
+				'error' => 404,
+			);
+		}
+		return $args;
+	}
+
+	// Trigger a 404 for any paged requests exceeding the page limits.
+	public function parse_query( $query ) {
+		if ( ! $query->is_main_query() ) {
+			return;
+		}
+
+		$paged = $query->get( 'paged' );
+
+		if ( $paged && $paged > self::MAX_PAGES ) {
+			$query->set_404();
+		}
+
+	}
+
+	// Make WordPress think there's only 50 pages
+	public function found_posts( $found_posts, $query ) {
+		if ( ! $query->is_main_query() ) {
+			return $found_posts;
+		}
+
+		// Set a 20 posts_per_page fallback just in case it's not set on the query.. Shouldn't actually be needed.
+		$posts_per_page = $query->query_vars['posts_per_page'] ?? 20;
+		$max_posts      = self::MAX_PAGES * $posts_per_page;
+
+		return min(
+			$found_posts,
+			$max_posts
+		);
+	}
+
+	// bbPress filter the max forum pagination
+	public function bbp_topic_pagination( $args ) {
+		if ( $args['total'] > self::MAX_PAGES ) {
+			$args['total'] = self::MAX_PAGES;
+		}
+
+		return $args;
+	}
+}
+new WPORG_Page_Limiter();
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/plugins/glotpress-translate-bridge/glotpress-translate-bridge.php wordpress.org/public_html/wp-content/plugins/glotpress-translate-bridge/glotpress-translate-bridge.php
index 2f164e711..f249a20dc 100644
--- wordpress.org/public_html/wp-content/plugins/glotpress-translate-bridge/glotpress-translate-bridge.php
+++ wordpress.org/public_html/wp-content/plugins/glotpress-translate-bridge/glotpress-translate-bridge.php
@@ -148,7 +148,7 @@ class GlotPress_Translate_Bridge {
 		);
 
 		if ( ! $translation ) {
-			$decoded_strings = array_map( 'html_entity_decode', $strings );
+			$decoded_strings = array_map( 'wp_specialchars_decode', $strings );
 			if ( $decoded_strings != $strings ) {
 				$translation = $this->find_translation( $decoded_strings, $project_path );
 			}
diff --git wordpress.org/public_html/wp-content/plugins/official-wordpress-events/official-wordpress-events.php wordpress.org/public_html/wp-content/plugins/official-wordpress-events/official-wordpress-events.php
index 9fe999b29..74e27413b 100644
--- wordpress.org/public_html/wp-content/plugins/official-wordpress-events/official-wordpress-events.php
+++ wordpress.org/public_html/wp-content/plugins/official-wordpress-events/official-wordpress-events.php
@@ -133,7 +133,7 @@ class Official_WordPress_Events {
 		if ( $events ) {
 			ob_start();
 			require_once( __DIR__ . '/template-events.php' );
-			$output = ob_get_flush();
+			$output = ob_get_clean();
 		}
 
 		return $output;
@@ -520,28 +520,30 @@ class Official_WordPress_Events {
 			$chunked_db_events[ $event->meetup_url ][] = $event;
 		}
 
+		require_once( __DIR__ . '/class-meetup-client.php' );
+		$meetup_client = new Meetup_Client();
+
+		if ( ! empty( $meetup_client->error->errors ) ) {
+			$this->log( 'Failed to instantiate meetup client: ' . wp_json_encode( $meetup_client->error ), true );
+			return;
+		}
+
 		foreach ( $chunked_db_events as $group_url => $db_events ) {
 			$url_name = trim( wp_parse_url( $group_url, PHP_URL_PATH ), '/' );
 
-			$request_url = sprintf(
-				'%s%s/events?page=500&status=upcoming,cancelled&key=%s',
-				self::MEETUP_API_BASE_URL,
+			$events = $meetup_client->get_group_events(
 				$url_name,
-				MEETUP_API_KEY
+				array(
+					'status' => 'upcoming,cancelled',
+				)
 			);
 
-			$response   = $this->remote_get( $request_url );
-			$body       = json_decode( wp_remote_retrieve_body( $response ) );
-			$api_events = wp_list_pluck( $body, 'id' );
-
 			// Make sure we have a valid API response, to avoid marking events as deleted just because the request failed.
-			if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) {
+			if ( is_wp_error( $events ) ) {
 				continue;
 			}
 
-			if ( empty( $body[0]->status ) || empty( $api_events[0] ) ) {
-				continue;
-			}
+			$api_events = wp_list_pluck( $events, 'id' );
 
 			foreach ( $db_events as $db_event ) {
 				// If the event is still appearing in the Meetup.com API results, it hasn't been deleted.
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-committers.php wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-committers.php
index 4a0f56dea..599cf47c7 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-committers.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-committers.php
@@ -51,7 +51,7 @@ class Committers extends \WP_List_Table {
 		}
 
 		$this->items = array_map( function ( $user ) {
-			return new \WP_User( $user );
+			return get_user_by( 'login', $user );
 		}, Tools::get_plugin_committers( $plugin_slug ) );
 	}
 
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-support-reps.php wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-support-reps.php
index 6ad2a5bf7..4d8a42786 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-support-reps.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-support-reps.php
@@ -51,7 +51,7 @@ class Support_Reps extends \WP_List_Table {
 		}
 
 		$this->items = array_map( function ( $user ) {
-			return new \WP_User( $user );
+			return get_user_by( 'slug', $user );
 		}, Tools::get_plugin_support_reps( $plugin_slug ) );
 	}
 
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-author-card.php wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-author-card.php
index fbe363b67..86725ba25 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-author-card.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-author-card.php
@@ -81,25 +81,37 @@ class Author_Card {
 						urlencode( esc_attr( $author->user_nicename ) ),
 						esc_attr__( 'Click to search Pluginrepo SupportPress for mentions of this author', 'wporg-plugins' )
 					),
+					sprintf(
+						'<a href="https://secure.helpscout.net/search/?query=mailbox:Plugins%%20%s" title="%s">HS</a>',
+						urlencode( esc_attr( $author->user_nicename ) ),
+						esc_attr__( 'Click to search Help Scout for mentions of this author', 'wporg-plugins' )
+					),
 				);
-				vprintf( '<span class="profile-sp-link">[ %s | %s ]</span>', $author_links );
+				vprintf( '<span class="profile-sp-link">[ %s | %s | %s ]</span>', $author_links );
 				?>
 
 				<span class="profile-links">
 					<a href="//profiles.wordpress.org/<?php echo $author->user_nicename; ?>"><?php _e( 'profile', 'wporg-plugins' ); ?></a> |
 					<a href="//wordpress.org/support/users/<?php echo $author->user_nicename; ?>"><?php _e( 'support', 'wporg-plugins' ); ?></a>
 				</span>
+
 				<div class="profile-email">
-					&lt;<?php echo $author->user_email; ?>&gt;
-					<span class="profile-sp-link">
+					&lt;<?php echo esc_attr( $author->user_email ); ?>&gt;
 					<?php
-					printf(
-						'[ <a href="https://supportpress.wordpress.org/plugins/?sender=%s&status=&todo=Search" title="%s">SP</a> ]',
-						esc_attr( $author->user_email ),
-						esc_attr__( 'Click to search Pluginrepo SupportPress for emails sent to/from this email address', 'wporg-plugins' )
+					$author_email_links = array(
+						sprintf(
+							'<a href="https://supportpress.wordpress.org/plugins/?sender=%s&status=&todo=Search" title="%s">SP</a>',
+							urlencode( $author->user_email ),
+							esc_attr__( 'Click to search Pluginrepo SupportPress for emails sent to/from this email address', 'wporg-plugins' )
+						),
+						sprintf(
+							'<a href="https://secure.helpscout.net/search/?query=mailbox:Plugins%%20%s" title="%s">HS</a>',
+							urlencode( $author->user_email ),
+							esc_attr__( 'Click to search Help Scout for emails sent to/from this email address', 'wporg-plugins' )
+						),
 					);
+					vprintf( '<span class="profile-sp-link">[ %s | %s ]</span>', $author_email_links );
 					?>
-					</span>
 				</div>
 				<div class="profile-join">
 					<?php
@@ -117,7 +129,7 @@ class Author_Card {
 		<?php if ( ! empty( $author->user_url ) ) : ?>
 			<p class="profile-url">
 				<?php _e( 'Author URL:', 'wporg-plugins' ); ?>
-				<a href="http://href.li?<?php echo esc_url( $author->user_url ); ?>"><?php echo esc_html( $author->user_url ); ?></a>
+				<a href="<?php echo esc_url( $author->user_url ); ?>"><?php echo esc_html( $author->user_url ); ?></a>
 			</p>
 		<?php endif; ?>
 
@@ -282,6 +294,7 @@ class Author_Card {
 				}
 			}
 
+			$plugin_name = $plugin->post_title;
 			$plugin_slug = $plugin->post_name;
 			if ( in_array( $plugin->post_status, array( 'new', 'pending' ) ) ) {
 				/* translators: %s: time ago */
@@ -345,7 +358,7 @@ class Author_Card {
 				echo '*';
 			}
 
-			vprintf( '<span class="profile-sp-link">[ %s | %s | %s ]</span>', [
+			vprintf( '<span class="profile-sp-link">[ %s | %s | %s | %s ]</span>', [
 				sprintf(
 					'<a href="%s" title="%s">%s</a>',
 					esc_url( get_edit_post_link( $plugin->ID, '' ) ),
@@ -359,9 +372,14 @@ class Author_Card {
 				),
 				sprintf(
 					'<a href="https://supportpress.wordpress.org/plugins/?q=%s&status=&todo=Search+%%C2%%BB" title="%s">SP</a>',
-					urlencode( esc_attr( $plugin_slug ) ),
+					urlencode( esc_attr( $plugin_name ) ),
 					esc_attr__( 'Click to search Plugin SupportPress for mentions of this plugin', 'wporg-plugins' )
 				),
+				sprintf(
+					'<a href="https://secure.helpscout.net/search/?query=mailbox:Plugins%%20%s" title="%s">HS</a>',
+					rawurlencode( esc_attr( $plugin_name ) ),
+					esc_attr__( 'Click to search Help Scout for mentions of this plugin', 'wporg-plugins' )
+				),
 			] );
 
 			if ( $extra ) {
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-review-tools.php wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-review-tools.php
index ce3df2b27..6b3a493e0 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-review-tools.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-review-tools.php
@@ -80,8 +80,42 @@ class Review_Tools {
 		'squarespace',
 		'medium.com',
 		'yahoo.com',
-		'mail.com',
+		'@mail.com',
 		'example.org',
+		'wordpress.com',
+	];
+
+	/**
+	 * List of known problematic IPs
+	 *
+	 * @var array
+	 */
+	public static $iffy_ips = [
+		'2.240.',
+		'2.241.',
+		'5.102.170.',
+		'5.102.171.',
+		'38.78.',
+		'47.15.',
+		'49.50.124.',
+		'65.33.104.38',
+		'71.41.77.202',
+		'76.73.108.',
+		'80.131.192.168',
+		'87.188.',
+		'91.228.',
+		'91.238.',
+		'94.103.41.',
+		'109.123.',
+		'110.55.1.251',
+		'110.55.4.248',
+		'116.193.162.',
+		'119.235.251.',
+		'159.253.145.183',
+		'173.171.9.190',
+		'173.234.140.18',
+		'188.116.36.',
+		'217.87.',
 	];
 
 	/**
@@ -187,6 +221,7 @@ class Review_Tools {
 				array_push( self::$flagged['low'], 'account has no URL' );
 			}
 
+			// URLs and domains that are often abused.
 			foreach ( self::$weird_urls as $url ) {
 				if ( false !== stripos( $author->user_url, $url ) ) {
 					array_push( self::$flagged['med'], 'account URL contains ' . $url );
@@ -258,14 +293,10 @@ class Review_Tools {
 				$subject = sprintf( __( '[WordPress Plugin Directory] Notice: %s', 'wporg-plugins' ), $post->post_title );
 			}
 
+			// HelpScout requires urlencode() becuase it wants spaces as + signs.
+			$contact_author = 'https://secure.helpscout.net/mailbox/ad3e85554c5bd064/new-ticket/?name=' . $author->display_name . '&email=' . $author->user_email . '&cc=' . $cc_emails . '&subject=' . urlencode( $subject );
 			?>
-			<form id="contact-author" class="contact-author" method="POST" action="https://supportpress.wordpress.org/plugins/thread-new.php">
-				<input type="hidden" name="to_email" value="<?php echo esc_attr( $author->user_email ); ?>"/>
-				<input type="hidden" name="to_name" value="<?php echo esc_attr( $author->display_name ); ?>"/>
-				<input type="hidden" name="cc" value="<?php echo esc_attr( $cc_emails ); ?>"/>
-				<input type="hidden" name="subject" value="<?php echo esc_attr( $subject ); ?>"/>
-				<button class="button button-primary" type="submit">Contact plugin author</button>
-			</form>
+			<a id="contact-author" class="button button-primary" href="<?php echo esc_url( $contact_author ); ?>">Contact plugin committer(s)</a>
 			<?php
 
 			return $string;
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-internal-stats.php wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-internal-stats.php
index 7f5d6cfc1..64761e6d8 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-internal-stats.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-internal-stats.php
@@ -149,6 +149,14 @@ class Internal_Stats extends Base {
 			$usage['other'] = round( array_sum( $others ) / $total * 100, 2 );
 		}
 
+		// Due to rounding issues, sometimes we'll end up with the total being .01 or .02 off 100
+		// In these cases, we'll just alter the 'other' or final number slightly so everything adds up to 100.
+		// This is ultimately needed for the stats graphs to display properly.
+		if ( array_sum( $usage ) != 100.00 ) {
+			$last_key = array_keys( $usage )[ count( $usage ) - 1 ];
+			$usage[ $last_key ] -= array_sum( $usage ) - 100.00;
+		}
+
 		return $usage;
 	}
 
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/rebuild-zip.php wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/rebuild-zip.php
index 5be066e77..8f70e70d6 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/rebuild-zip.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/rebuild-zip.php
@@ -39,8 +39,9 @@ if ( empty( $opts['versions'] ) ) {
 foreach ( array( 'url', 'abspath', 'plugin' ) as $opt ) {
 	if ( empty( $opts[ $opt ] ) ) {
 		fwrite( STDERR, "Missing Parameter: $opt\n" );
-		fwrite( STDERR, "Usage: php {$argv[0]} --plugin hello-dolly --abspath /home/example/public_html --url https://wordpress.org/plugins/\n" );
+		fwrite( STDERR, "Usage: php {$argv[0]} --plugin hello-dolly --versions 1.0,trunk --abspath /home/example/public_html --url https://wordpress.org/plugins/\n" );
 		fwrite( STDERR, "--url and --abspath will be guessed if possible.\n" );
+		fwrite( STDERR, "--versions if skipped will rebuild all tags/trunk.\n" );
 		exit( 1 );
 	}
 }
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/class-i18n.php wordpress.org/public_html/wp-content/plugins/plugin-directory/class-i18n.php
index 6c68d5cd1..5381623d1 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/class-i18n.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/class-i18n.php
@@ -73,6 +73,7 @@ class I18n {
 		// Section terms.
 		_x( 'Adopt Me', 'Plugin Section Name', 'wporg-plugins' );
 		_x( 'Beta', 'Plugin Section Name', 'wporg-plugins' );
+		_x( 'Blocks', 'Plugin Section Name', 'wporg-plugins' );
 		_x( 'My Favorites', 'Plugin Section Name', 'wporg-plugins' );
 		_x( 'Featured', 'Plugin Section Name', 'wporg-plugins' );
 		_x( 'Popular', 'Plugin Section Name', 'wporg-plugins' );
@@ -81,6 +82,7 @@ class I18n {
 		// Section descriptions.
 		_x( 'Plugins that have been offered for adoption by others.', 'Plugin Section Description', 'wporg-plugins' );
 		_x( 'Beta plugins are in development for possible inclusion in a future version of WordPress.', 'Plugin Section Description', 'wporg-plugins' );
+		_x( 'Plugins that offer blocks.', 'Plugin Section Description', 'wporg-plugins' );
 		_x( 'Plugins contained within this category get displayed on the Featured tab.', 'Plugin Section Description', 'wporg-plugins' );
 		_x( 'The below plugins have been marked as favorites.', 'Plugin Section Description', 'wporg-plugins' );
 		_x( 'Plugins that offer blocks for the block-based editor.', 'Plugin Section Description', 'wporg-plugins' );
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php
index 3e02837a0..1d524cb89 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php
@@ -49,6 +49,8 @@ class Plugin_Directory {
 		add_action( 'wp_head', array( Template::class, 'json_ld_schema' ), 1 );
 		add_action( 'wp_head', array( Template::class, 'output_meta' ), 1 );
 		add_action( 'wp_head', array( Template::class, 'hreflang_link_attributes' ), 2 );
+		add_action( 'wp_head', array( Template::class, 'archive_link_rel_prev_next' ), 3 );
+		add_action( 'wp_head', array( Template::class, 'archive_rel_canonical_link' ), 3 );
 
 		// Cron tasks.
 		new Jobs\Manager();
@@ -493,7 +495,7 @@ class Plugin_Directory {
 		) );
 
 		// Add the browse/* views.
-		add_rewrite_tag( '%browse%', '(featured|popular|beta|blocks|new|favorites)' );
+		add_rewrite_tag( '%browse%', '(featured|popular|beta|blocks|new|favorites|adopt-me)' );
 		add_permastruct( 'browse', 'browse/%browse%' );
 
 		// Create an archive for a users favorites too.
@@ -524,6 +526,9 @@ class Plugin_Directory {
 		remove_action( 'wp_head', 'feed_links', 2 );
 		remove_action( 'wp_head', 'feed_links_extra', 3 );
 
+		// Remove the core <link rel="canonical"> as we've got a plugin-directory-specific version
+		remove_action( 'wp_head', 'rel_canonical' );
+
 		add_filter( 'get_term', array( __NAMESPACE__ . '\I18n', 'translate_term' ) );
 		add_filter( 'the_content', array( $this, 'translate_post_content' ), 1, 2 );
 		add_filter( 'the_title', array( $this, 'translate_post_title' ), 1, 2 );
@@ -585,6 +590,7 @@ class Plugin_Directory {
 		register_widget( __NAMESPACE__ . '\Widgets\Committers' );
 		register_widget( __NAMESPACE__ . '\Widgets\Contributors' );
 		register_widget( __NAMESPACE__ . '\Widgets\Support_Reps' );
+		register_widget( __NAMESPACE__ . '\Widgets\Adopt_Me' );
 	}
 
 	/**
@@ -669,11 +675,24 @@ class Plugin_Directory {
 		if ( 'plugin_business_model' == $term->taxonomy ) {
 			return false;
 		}
+
 		if ( 'plugin_built_for' == $term->taxonomy ) {
 			// Term slug = Post Slug = /%postname%/
 			return trailingslashit( home_url( $term->slug ) );
 		}
 
+		// browse/%
+		if ( 'plugin_section' == $term->taxonomy && 'favorites' == $term->slug ) {
+			return trailingslashit( home_url( 'browse/favorites/' . get_query_var( 'favorites_user' ) ) );
+		} elseif ( 'plugin_section' == $term->taxonomy ) {
+			return trailingslashit( home_url( 'browse/' . $term->slug ) );
+		}
+
+		// author/%
+		if ( 'plugin_contributors' == $term->taxonomy ) {
+			return trailingslashit( home_url( 'author/' . $term->slug ) );
+		}
+
 		return $term_link;
 	}
 
@@ -710,6 +729,13 @@ class Plugin_Directory {
 			$wp_query->query_vars['browse'] = 'featured';
 		}
 
+		// For any invalid values passed to browse, set it to featured instead
+		if ( !empty ( $wp_query->query ['browse'] ) &&
+		     !in_array( $wp_query->query['browse'], array( 'featured', 'popular', 'beta', 'blocks', 'new', 'favorites', 'adopt-me' ) ) ) {
+			 $wp_query->query['browse'] = 'featured';
+			 $wp_query->query_vars['browse'] = 'featured';
+		}
+
 		// Set up custom queries for the /browse/ URLs
 		switch ( $wp_query->get( 'browse' ) ) {
 			case 'beta':
@@ -749,7 +775,7 @@ class Plugin_Directory {
 		}
 
 		// For /browse/ requests, we conditionally need to avoid querying the taxonomy for most views (as it's handled in code above)
-		if ( isset( $wp_query->query['browse'] ) && ! in_array( $wp_query->query['browse'], array( 'beta', 'blocks', 'featured' ) ) ) {
+		if ( isset( $wp_query->query['browse'] ) && ! in_array( $wp_query->query['browse'], array( 'beta', 'blocks', 'featured', 'adopt-me' ) ) ) {
 			unset( $wp_query->query_vars['browse'] );
 
 			add_filter( 'the_posts', function( $posts, $wp_query ) {
@@ -1077,6 +1103,18 @@ class Plugin_Directory {
 		}
 
 		switch ( $term->taxonomy ) {
+			case 'plugin_section':
+				if ( 'favorites' == $term->slug ) {
+					$user = get_query_var( 'favorites_user' ) ?? $_GET['favorites_user'];
+					$user = get_user_by( 'slug', $user );
+					if ( $user && $user != wp_get_current_user() ) {
+						$name = sprintf(
+							__( 'Favorites: %s', 'wporg-plugins' ),
+							esc_html( $user->display_name )
+						);
+					}
+				}
+				break;
 			case 'plugin_contributors':
 			case 'plugin_committers':
 				$user = get_user_by( 'slug', $term->name );
@@ -1156,6 +1194,7 @@ class Plugin_Directory {
 
 			// The readme.txt page.
 			if ( 'readme.txt' === $path[2] ) {
+				status_header( 200 );
 				header( 'Content-type: text/plain' );
 				echo file_get_contents( __DIR__ . '/readme/readme.txt' );
 				die();
@@ -1189,12 +1228,28 @@ class Plugin_Directory {
 			die();
 		}
 
+		// Existing tag with no plugins.
+		if ( is_tax() && ! $GLOBALS['wp_query']->have_posts() ) {
+			// [1] => plugins [2] => tags [3] => example-plugin-name [4..] => random().
+			$path = explode( '/', $_SERVER['REQUEST_URI'] );
+
+			wp_safe_redirect( home_url( '/search/' . urlencode( $path[3] ) . '/' ), 301 );
+			die();
+		}
+
 		// Empty search query.
 		if ( 'search' === get_query_var( 'name' ) || isset( $_GET['s'] ) && ! get_query_var( 's' ) ) {
 			wp_safe_redirect( site_url( '/' ), 301 );
 			die();
 		}
 
+		// Paginated front page.
+		if ( is_front_page() && is_paged() ) {
+			$GLOBALS['wp_query']->set_404();
+			status_header( 404 );
+			return;
+		}
+
 		// disable feeds
 		if ( is_feed() ) {
 			if( isset( $_GET['feed'] ) ) {
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-i18n.php wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-i18n.php
index c1933e862..dbd701783 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-i18n.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-i18n.php
@@ -223,9 +223,14 @@ class Plugin_I18n {
 			return 0;
 		}
 
+		// The slug is optional, use 'default' as .. default.
+		list( $locale, $locale_slug ) = array_merge( explode( '/', $locale ), [ 'default' ] );
+
 		$translation_set_id = $wpdb->get_var( $wpdb->prepare(
-			'SELECT id FROM ' . GLOTPRESS_TABLE_PREFIX . 'translation_sets WHERE project_id = %d AND locale = %s AND slug = "default"',
-			$branch_id, $locale
+			'SELECT id FROM ' . GLOTPRESS_TABLE_PREFIX . 'translation_sets WHERE project_id = %d AND locale = %s AND slug = %s',
+			$branch_id,
+			$locale,
+			$locale_slug
 		) );
 
 		if ( empty( $translation_set_id ) ) {
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/class-template.php wordpress.org/public_html/wp-content/plugins/plugin-directory/class-template.php
index fd2b209a9..fed895de0 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/class-template.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/class-template.php
@@ -133,23 +133,111 @@ class Template {
 	 * @static
 	 */
 	public static function output_meta() {
-		$metas = [];
+		$metas   = [];
+		$noindex = false;
 
-		if ( is_singular( 'plugin' ) ) {
+		// Prevent duplicate search engine results.
+		if ( get_query_var( 'plugin_advanced' ) || is_search() ) {
+			$noindex = true;
+		} elseif ( is_singular( 'plugin' ) ) {
 			$metas[] = sprintf(
 				'<meta name="description" value="%s" />',
 				esc_attr( get_the_excerpt() )
 			);
 
-			// Add noindex on disabled plugin page.
-			if ( 'publish' !== get_post_status() ) {
-				$metas[] = '<meta name="robots" content="noindex" />';
+			// Add noindex for closed or outdated plugins.
+			if ( 'publish' !== get_post_status() || self::is_plugin_outdated() ) {
+				$noindex = true;
 			}
 		}
 
+		if ( $noindex ) {
+			$metas[] = '<meta name="robots" content="noindex,follow" />' . "\n";
+		}
+
 		echo implode( "\n", $metas );
 	}
 
+	/**
+	 * Prints <link rel="prev|next"> tags for archives.
+	 *
+	 * @static
+	 */
+	public static function archive_link_rel_prev_next() {
+		global $paged, $wp_query;
+		if ( ! is_archive() && ! is_search() ) {
+			return;
+		}
+
+		$max_page = $wp_query->max_num_pages;
+		if ( ! $paged ) {
+			$paged = 1;
+		}
+
+		$nextpage = intval( $paged ) + 1;
+		$prevpage = intval( $paged ) - 1;
+
+		if ( $prevpage >= 1 ) {
+			printf(
+				'<link rel="prev" href="%s">' . "\n",
+				esc_url( get_pagenum_link( $prevpage ) )
+			);
+		}
+
+		if ( $nextpage <= $max_page ) {
+			printf(
+				'<link rel="next" href="%s">' . "\n",
+				esc_url( get_pagenum_link( $nextpage ) )
+			);
+		}
+	}
+
+	/**
+	 * Gets current major WP version to check against "Tested up to" value.
+	 *
+	 * @static
+	 * @global string $wp_version WordPress version.
+	 *
+	 * @return float Current major WP version.
+	 */
+	public static function get_current_major_wp_version() {
+		$current_version = '';
+
+		// Assume the value stored in a constant (which is set on WP.org), if defined.
+		if ( defined( 'WP_CORE_LATEST_RELEASE' ) && WP_CORE_LATEST_RELEASE ) {
+			$current_version = substr( WP_CORE_LATEST_RELEASE, 0, 3 );
+		}
+
+		// Otherwise, use the version of the running WP instance.
+		if ( empty( $current_version ) ) {
+			global $wp_version;
+
+			$current_version = substr( $wp_version, 0, 3 );
+
+			// However, if the running WP instance appears to not be a release version, assume the latest stable version.
+			if ( false !== strpos( $wp_version, '-' ) ) {
+				$current_version = (float) $current_version - 0.1;
+			}
+		}
+
+		return (float) $current_version;
+	}
+
+	/**
+	 * Checks if the plugin was tested with the latest 3 major releases of WordPress.
+	 *
+	 * @static
+	 *
+	 * @param int|\WP_Post|null $post Optional. Post ID or post object. Defaults to global $post.
+	 * @return bool True if the plugin is marked as tested, false otherwise.
+	 */
+	public static function is_plugin_outdated( $post = null ) {
+		$tested_up_to             = (string) get_post_meta( get_post( $post )->ID, 'tested', true );
+		$version_to_check_against = (string) ( self::get_current_major_wp_version() - 0.2 );
+
+		return version_compare( $version_to_check_against, $tested_up_to, '>' );
+	}
+
 	/**
 	 * Returns a string representing the number of active installations for an item.
 	 *
@@ -163,7 +251,9 @@ class Template {
 		$post  = get_post( $post );
 		$count = get_post_meta( $post->ID, 'active_installs', true ) ?: 0;
 
-		if ( $count <= 10 ) {
+		if ( 'closed' === $post->post_status ) {
+			$text = __( 'N/A', 'wporg-plugins' );
+		} elseif ( $count <= 10 ) {
 			$text = __( 'Fewer than 10', 'wporg-plugins' );
 		} elseif ( $count >= 1000000 ) {
 			$million_count = intdiv( $count, 1000000 );
@@ -268,6 +358,7 @@ class Template {
 		$default_sections = array(
 			'description',
 			'screenshots',
+			'blocks',
 			'stats',
 			'support',
 			'reviews',
@@ -276,6 +367,9 @@ class Template {
 		if ( ! get_post_meta( $plugin->ID, 'screenshots', true ) && ! get_post_meta( $plugin->ID, 'assets_screenshots', true ) ) {
 			unset( $default_sections[ array_search( 'screenshots', $default_sections ) ] );
 		}
+		if ( ! get_post_meta( $plugin->ID, 'all_blocks' ) ) {
+			unset( $default_sections[ array_search( 'blocks', $default_sections ) ] );
+		}
 
 		$raw_sections = get_post_meta( $plugin->ID, 'sections', true ) ?: array();
 		$raw_sections = array_unique( array_merge( $raw_sections, $default_sections ) );
@@ -337,6 +431,11 @@ class Template {
 					$url   = trailingslashit( $permalink ) . '/' . $section_slug . '/';
 					break;
 
+				case 'blocks':
+					$title = _x( 'Blocks', 'plugin tab title', 'wporg-plugins' );
+					$url   = trailingslashit( $permalink ) . '/' . $section_slug . '/';
+					break;
+
 				default:
 					continue;
 			}
@@ -733,21 +832,38 @@ class Template {
 	public static function hreflang_link_attributes() {
 		global $wpdb;
 
-		if ( ! get_post() ) {
+		$post = false;
+		if ( is_singular( 'plugin' ) ) {
+			$post = get_post();
+		}
+
+		$path = self::get_current_url( $path_only = true );
+		if ( ! $path ) {
 			return;
 		}
 
 		wp_cache_add_global_groups( array( 'locale-associations' ) );
 
-		if ( false === ( $sites = wp_cache_get( 'local-sites-' . get_post()->post_name, 'locale-associations' ) ) ) {
+		// WARNING: for any changes below, check other uses of the `locale-assosciations` group as there's shared cache keys in use.
+		$cache_key = $post ? 'local-sites-' . $post->post_name : 'local-sites';
+		if ( false === ( $sites = wp_cache_get( $cache_key, 'locale-associations' ) ) ) {
 
 			// get subdomain/locale associations
 			$subdomains = $wpdb->get_results( 'SELECT locale, subdomain FROM wporg_locales', OBJECT_K );
 
-			$sites = Plugin_I18n::instance()->get_locales();
-
 			require_once GLOTPRESS_LOCALES_PATH;
 
+			if ( $post ) {
+				$sites = Plugin_I18n::instance()->get_locales();
+			} else {
+				$sites = array();
+				foreach ( array_keys( $subdomains ) as $locale ) {
+					$sites[] = (object) array(
+						'wp_locale'    => $locale
+					);
+				}
+			}
+
 			foreach ( $sites as $key => $site ) {
 				$gp_locale = \GP_Locales::by_field( 'wp_locale', $site->wp_locale );
 				if ( empty( $gp_locale ) ) {
@@ -793,17 +909,7 @@ class Template {
 				return strcasecmp( $a->hreflang, $b->hreflang );
 			} );
 
-			wp_cache_set( 'local-sites-' . get_post()->post_name, $sites, 'locale-associations', DAY_IN_SECONDS );
-		}
-
-		if ( is_singular() ) {
-			$path = parse_url( get_permalink(), PHP_URL_PATH );
-			if ( get_query_var( 'plugin_advanced' ) ) {
-				$path .= 'advanced/';
-			}
-		} else {
-			// WordPress doesn't have a good way to get the canonical version of non-singular urls.
-			$path = $_SERVER['REQUEST_URI']; // phpcs:ignore
+			wp_cache_set( $cache_key, $sites, 'locale-associations', DAY_IN_SECONDS );
 		}
 
 		foreach ( $sites as $site ) {
@@ -820,4 +926,57 @@ class Template {
 			);
 		}
 	}
+
+	/**
+	 * Outputs a <link rel="canonical"> on archive pages.
+	 */
+	public static function archive_rel_canonical_link() {
+		if ( $url = self::get_current_url() ) {
+			printf(
+				'<link rel="canonical" href="%s">' . "\n",
+				esc_url( $url )
+			);
+		}
+	}
+
+	/**
+	 * Get the current front-end requested URL.
+	 */
+	public static function get_current_url( $path_only = false ) {
+		$queried_object = get_queried_object();
+		$link = false;
+
+		if ( is_tax() || is_tag() || is_category() ) {
+			$link = get_term_link( $queried_object );
+		} elseif ( is_singular() ) {
+			$link = get_permalink( $queried_object );
+
+			if ( is_singular( 'plugin' ) && get_query_var( 'plugin_advanced' ) ) {
+				$link .= 'advanced/';
+			}
+		} elseif ( is_search() ) {
+			$link = home_url( 'search/' . urlencode( get_query_var( 's' ) ) . '/' );
+		} elseif ( is_front_page() ) {
+			$link = home_url( '/' );
+		}
+
+		if ( $link && is_paged() ) {
+			if ( false !== stripos( $link, '?' ) ) {
+				$link = add_query_arg( 'paged', (int) get_query_var( 'paged' ), $link );
+			} else {
+				$link = rtrim( $link, '/' ) . '/page/' . (int) get_query_var( 'paged' ) . '/';
+			}
+		}
+
+		if ( $path_only && $link ) {
+			$path = parse_url( $link, PHP_URL_PATH );
+			if ( $query = parse_url( $link, PHP_URL_QUERY ) ) {
+				$path .= '?' . $query;
+			}
+
+			return $path;
+		}
+
+		return $link;
+	}
 }
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/class-tools.php wordpress.org/public_html/wp-content/plugins/plugin-directory/class-tools.php
index 2adb1b599..c5c8ee375 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/class-tools.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/class-tools.php
@@ -55,7 +55,7 @@ class Tools {
 
 			$reviews = $wpdb->get_results( $wpdb->prepare(
 				"SELECT
-					ID, post_content, post_title, post_author, post_modified,
+					ID, post_name, post_content, post_title, post_author, post_modified,
 					r.rating as post_rating
 				FROM ratings r
 					LEFT JOIN wporg_419_posts p ON r.post_id = p.ID
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-import.php wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-import.php
index d407c1295..59c9efa4a 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-import.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-import.php
@@ -123,6 +123,8 @@ class Import {
 
 		if ( in_array( 'adopt-me', $readme->tags ) ) {
 			wp_set_object_terms( $plugin->ID, 'adopt-me', 'plugin_section' );
+		} else {
+			wp_remove_object_terms( $plugin->ID, 'adopt-me', 'plugin_section' );
 		}
 
 		// Update the tested-up-to value
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-svn-watcher.php wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-svn-watcher.php
index 48caebf76..532f046fd 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-svn-watcher.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-svn-watcher.php
@@ -136,7 +136,7 @@ class SVN_Watcher {
 				if ( in_array( strtolower( basename( $path ) ), array( 'readme.txt', 'readme.md' ) ) ) {
 					$plugin['readme_touched'] = true;
 				}
-				if ( ! $plugin['code_touched'] && ( '/' == substr( $path, -1 ) || '.php' == substr( $path, -4 ) ) ) {
+				if ( ! $plugin['code_touched'] && ( '/' === substr( $path, -1 ) || '.php' === substr( $path, -4 ) || '.js' === substr( $path, -3 ) ) ) {
 					$plugin['code_touched'] = true;
 				}
 			}
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-i18n-import.php wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-i18n-import.php
index 113eb245f..508d7db69 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-i18n-import.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-i18n-import.php
@@ -115,7 +115,7 @@ abstract class I18n_Import {
 	 * Import generated POT file to GlotPress.
 	 *
 	 * @param string $project       GP project slug to import to
-	 * @param string $branch        GP project branch to import to (dev|stable)
+	 * @param string $branch        GP project branch to import to (dev|stable)-readme
 	 * @param string $file          Path to POT file
 	 * @param array  $str_priorities GP string priorities
 	 */
@@ -130,8 +130,8 @@ abstract class I18n_Import {
 			return;
 		}
 
-		// @todo: Fix this.
-		$gp_branch_id = Plugin_I18n::instance()->get_gp_branch_id( $project, "{$branch}-readme" );
+		// @todo: Make the `glotpress import-originals` CLI command handle this.
+		$gp_branch_id = Plugin_I18n::instance()->get_gp_branch_id( $project, $branch );
 		if ( $gp_branch_id ) {
 			foreach ( $str_priorities as $str => $prio ) {
 				if ( 1 !== $prio && -1 !== $prio ) {
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-readme-import.php wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-readme-import.php
index 0c684af84..6051b073e 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-readme-import.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-readme-import.php
@@ -72,7 +72,7 @@ class Readme_Import extends I18n_Import {
 				'extracted_comments' => 'Short description.',
 			] ) );
 
-			$str_priorities[ $readme->name ] = 1;
+			$str_priorities[ $readme->short_description ] = 1;
 		}
 
 		if ( $readme->screenshots ) {
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/css/edit-form.css wordpress.org/public_html/wp-content/plugins/plugin-directory/css/edit-form.css
index cfc754664..8a6f9b692 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/css/edit-form.css
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/css/edit-form.css
@@ -369,3 +369,6 @@ a.profile-plugin-open {
 	margin-right: 0.5em;
 }
 
+.plugin-zip-files a {
+	overflow-wrap: break-word;
+}
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-manager.php wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-manager.php
index 5382d7872..bd787f897 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-manager.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-manager.php
@@ -21,6 +21,7 @@ class Manager {
 		add_action( 'plugin_directory_plugin_support_resolved', array( __NAMESPACE__ . '\Plugin_Support_Resolved', 'cron_trigger' ) );
 		add_action( 'plugin_directory_svn_sync', array( __NAMESPACE__ . '\SVN_Watcher', 'cron_trigger' ) );
 		add_action( 'plugin_directory_update_api_check', array( __NAMESPACE__ . '\API_Update_Updater', 'cron_trigger' ) );
+		add_action( 'plugin_directory_translation_sync', array( __NAMESPACE__ . '\Translation_Sync', 'cron_trigger' ) );
 
 		// A cronjob to check cronjobs
 		add_action( 'plugin_directory_check_cronjobs', array( $this, 'register_cron_tasks' ) );
@@ -249,6 +250,9 @@ class Manager {
 		if ( ! wp_next_scheduled( 'plugin_directory_check_cronjobs' ) ) {
 			wp_schedule_event( time() + 60, 'every_120s', 'plugin_directory_check_cronjobs' );
 		}
+		if ( ! wp_next_scheduled ( 'plugin_directory_translation_sync' ) ) {
+			wp_schedule_event( time() + 60, 'daily', 'plugin_directory_translation_sync' );
+		}
 	}
 
 	/**
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-translation-sync.php wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-translation-sync.php
index 507d4b7d6..cb77aa261 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-translation-sync.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-translation-sync.php
@@ -32,7 +32,8 @@ class Translation_Sync {
 			global $wp_object_cache;
 			if ( is_object( $wp_object_cache ) ) {
 				$wp_object_cache->cache = array();
-				$wp_object_cache->stats = array();
+				$wp_object_cache->stats = array( 'add' => 0, 'get' => 0, 'get_multi' => 0, 'delete' => 0);
+				$wp_object_cache->group_ops = array();
 			}
 
 			$args['offset'] += $args['posts_per_page'];
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/phpcs.xml.dist wordpress.org/public_html/wp-content/plugins/plugin-directory/phpcs.xml.dist
index 6f36164ef..37d8a1183 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/phpcs.xml.dist
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/phpcs.xml.dist
@@ -14,8 +14,6 @@
 	<arg value="s"/>
 
 	<rule ref="WordPress">
-		<exclude name="WordPress.VIP.SlowDBQuery.slow_db_query_meta_key" />
-		<exclude name="WordPress.VIP.FileSystemWritesDisallow" />
 		<exclude name="WordPress.PHP.DiscouragedPHPFunctions.system_calls_exec" />
 		<exclude name="WordPress.PHP.DiscouragedPHPFunctions.system_calls_shell_exec" />
 	</rule>
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/plugin-directory.php wordpress.org/public_html/wp-content/plugins/plugin-directory/plugin-directory.php
index 79d1faa95..a0133ef2a 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/plugin-directory.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/plugin-directory.php
@@ -8,7 +8,7 @@
  * Author URI: https://wordpress.org/
  * Text Domain: wporg-plugins
  * License: GPLv2
- * License URI: http://opensource.org/licenses/gpl-2.0.php
+ * License URI: https://opensource.org/licenses/gpl-2.0.php
  *
  * @package WordPressdotorg_Plugin_Directory
  */
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-parser.php wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-parser.php
index 1acd2307f..cc3dc4188 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-parser.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-parser.php
@@ -613,7 +613,10 @@ class Parser {
 				// x.y or x.y.z
 				! preg_match( '!^\d+\.\d(\.\d+)?$!', $version ) ||
 				// Allow plugins to mark themselves as compatible with Stable+0.1 (trunk/master) but not higher
-				defined( 'WP_CORE_STABLE_BRANCH' ) && ( (float)$version > (float)WP_CORE_STABLE_BRANCH+0.1 )
+				(
+					defined( 'WP_CORE_STABLE_BRANCH' ) &&
+					version_compare( (float)$version, (float)WP_CORE_STABLE_BRANCH+0.1, '>' )
+				)
 			 ) {
 				$this->warnings['tested_header_ignored'] = true;
 				// Ignore the readme value.
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-validator.php wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-validator.php
index 43f924251..5d7b7f974 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-validator.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/class-validator.php
@@ -31,8 +31,11 @@ class Validator {
 		$url = esc_url_raw( $url );
 
 		if ( strtolower( substr( $url, -10 ) ) != 'readme.txt' ) {
-			/* translators: %s: readme.txt */
-			$error = sprintf( __( 'URL must end in %s!', 'wporg-plugins' ), '<code>readme.txt</code>' );
+			$error = sprintf(
+				/* translators: %s: readme.txt */
+				__( 'URL must end in %s!', 'wporg-plugins' ),
+				'<code>readme.txt</code>'
+			);
 			return array(
 				'errors' => array( $error ),
 			);
@@ -63,77 +66,118 @@ class Validator {
 
 		// Fatal errors.
 		if ( empty( $readme->name ) ) {
-			/* translators: 1: 'Plugin Name' section title, 2: 'Plugin Name' */
-			$errors[] = sprintf( __( 'No plugin name detected. Plugin names look like: %1$s. Please change %2$s to reflect the actual name of your plugin.', 'wporg-plugins' ), '<code>=== Plugin Name ===</code>', '<code>Plugin Name</code>' );
+			$errors[] = sprintf(
+				/* translators: 1: 'Plugin Name' section title, 2: 'Plugin Name' */
+				__( 'We cannot find a plugin name in your readme. Plugin names look like: %1$s. Please change %2$s to reflect the actual name of your plugin.', 'wporg-plugins' ),
+				'<code>=== Plugin Name ===</code>',
+				'<code>Plugin Name</code>'
+			);
 		}
 
 		// Warnings.
 		if ( isset( $readme->warnings['requires_header_ignored'] ) ) {
 			$latest_wordpress_version = defined( 'WP_CORE_STABLE_BRANCH' ) ? WP_CORE_STABLE_BRANCH : '5.0';
 
-			/* translators: 1: plugin header tag; 2: Example version 5.0. 3: Example version 4.9. */
 			$warnings[] = sprintf(
-				__( 'The Requires at least field was ignored. %1$s field should only contain a valid WordPress version such as %2$s or %3$s.', 'wporg-plugins' ),
+				/* translators: 1: plugin header tag; 2: Example version 5.0. 3: Example version 4.9. */
+				__( 'The %1$s field was ignored. This field should only contain a valid WordPress version such as %2$s or %3$s.', 'wporg-plugins' ),
 				'<code>Requires at least</code>',
 				'<code>' . number_format( $latest_wordpress_version, 1 ) . '</code>',
 				'<code>' . number_format( $latest_wordpress_version - 0.1, 1 ) . '</code>'
 			);
 		} elseif ( empty( $readme->requires ) ) {
-			/* translators: %s: plugin header tag */
-			$warnings[] = sprintf( __( '%s field is missing.', 'wporg-plugins' ), '<code>Requires at least</code>' );
+			$warnings[] = sprintf(
+				/* translators: %s: plugin header tag */
+				__( 'The %s field is missing.', 'wporg-plugins' ),
+				'<code>Requires at least</code>'
+			);
 		}
 
 		if ( isset( $readme->warnings['tested_header_ignored'] ) ) {
 			$latest_wordpress_version = defined( 'WP_CORE_STABLE_BRANCH' ) ? WP_CORE_STABLE_BRANCH : '5.0';
 
-			/* translators: 1: plugin header tag; 2: Example version 5.0. 3: Example version 5.1. */
 			$warnings[] = sprintf(
-				__( 'The Tested up to field was ignored. %1$s field should only contain a valid WordPress version such as %2$s or %3$s.', 'wporg-plugins' ),
+				/* translators: 1: plugin header tag; 2: Example version 5.0. 3: Example version 5.1. */
+				__( 'The %1$s field was ignored. This field should only contain a valid WordPress version such as %2$s or %3$s.', 'wporg-plugins' ),
 				'<code>Tested up to</code>',
 				'<code>' . number_format( $latest_wordpress_version, 1 ) . '</code>',
 				'<code>' . number_format( $latest_wordpress_version + 0.1, 1 ) . '</code>'
 			);
 		} elseif ( empty( $readme->tested ) ) {
-			/* translators: %s: plugin header tag */
-			$warnings[] = sprintf( __( '%s field is missing.', 'wporg-plugins' ), '<code>Tested up to</code>' );
+			$warnings[] = sprintf(
+				/* translators: %s: plugin header tag */
+				__( 'The %s field is missing.', 'wporg-plugins' ),
+				'<code>Tested up to</code>'
+			);
 		}
 
 		if ( isset( $readme->warnings['requires_php_header_ignored'] ) ) {
-			/* translators: 1: plugin header tag; 2: Example version 5.2.4. 3: Example version 7.0. */
-			$warnings[] = sprintf( __( 'The Requires PHP field was ignored. %1$s field should only contain a PHP version such as %2$s or %3$s.', 'wporg-plugins' ), '<code>Requires PHP</code>', '<code>5.2.4</code>', '<code>7.0</code>' );
+			$warnings[] = sprintf(
+				/* translators: 1: plugin header tag; 2: Example version 5.2.4. 3: Example version 7.0. */
+				__( 'The %1$s field was ignored. This field should only contain a PHP version such as %2$s or %3$s.', 'wporg-plugins' ),
+				'<code>Requires PHP</code>',
+				'<code>5.2.4</code>',
+				'<code>7.0</code>'
+			);
 		} elseif ( empty( $readme->requires_php ) ) {
-			/* translators: %s: plugin header tag */
-			$warnings[] = sprintf( __( '%s field is missing.', 'wporg-plugins' ), '<code>Requires PHP</code>' );
+			$warnings[] = sprintf(
+				/* translators: %s: plugin header tag */
+				__( 'The %s field is missing.', 'wporg-plugins' ),
+				'<code>Requires PHP</code>'
+			);
 		}
 		if ( empty( $readme->stable_tag ) ) {
-			/* translators: 1: 'Stable tag', 2: /trunk/ SVN directory, 3: 'Stable tag: trunk' */
-			$warnings[] = sprintf( __( '%1$s field is missing.  Hint: If you treat %2$s as stable, put %3$s.', 'wporg-plugins' ), '<code>Stable tag</code>', '<code>/trunk/</code>', '<code>Stable tag: trunk</code>' );
+			$warnings[] = sprintf(
+				/* translators: 1: 'Stable tag', 2: /trunk/ SVN directory, 3: 'Stable tag: trunk' */
+				__( 'The %1$s field is missing.  Hint: If you treat %2$s as stable, put %3$s.', 'wporg-plugins' ),
+				'<code>Stable tag</code>',
+				'<code>/trunk/</code>',
+				'<code>Stable tag: trunk</code>'
+			);
 		}
 
 		if ( isset( $readme->warnings['contributor_ignored'] ) ) {
-			/* translators: %s: plugin header tag */
-			$warnings[] = sprintf( __( 'One or more contributors listed were ignored. %s field should only contain WordPress.org usernames.', 'wporg-plugins' ), '<code>Contributors</code>' );
+			$warnings[] = sprintf(
+				/* translators: %s: plugin header tag */
+				__( 'One or more contributors listed were ignored. The %s field should only contain WordPress.org usernames. Remember that usernames are case-sensitive.', 'wporg-plugins' ),
+				'<code>Contributors</code>'
+			);
 		} elseif ( ! count( $readme->contributors ) ) {
-			/* translators: %s: plugin header tag */
-			$warnings[] = sprintf( __( '%s field is missing.', 'wporg-plugins' ), '<code>Contributors</code>' );
+			$warnings[] = sprintf(
+				/* translators: %s: plugin header tag */
+				__( 'The %s field is missing.', 'wporg-plugins' ),
+				'<code>Contributors</code>'
+			);
 		}
 
 		// Notes.
 		if ( empty( $readme->sections['faq'] ) ) {
-			/* translators: %s: section title */
-			$notes[] = sprintf( __( 'No %s section was found', 'wporg-plugins' ), '<code>== Frequently Asked Questions ==</code>' );
+			$notes[] = sprintf(
+				/* translators: %s: section title */
+				__( 'No %s section was found', 'wporg-plugins' ),
+				'<code>== Frequently Asked Questions ==</code>'
+			);
 		}
 		if ( empty( $readme->sections['changelog'] ) ) {
-			/* translators: %s: section title */
-			$notes[] = sprintf( __( 'No %s section was found', 'wporg-plugins' ), '<code>== Changelog ==</code>' );
+			$notes[] = sprintf(
+				/* translators: %s: section title */
+				__( 'No %s section was found', 'wporg-plugins' ),
+				'<code>== Changelog ==</code>'
+			);
 		}
 		if ( empty( $readme->upgrade_notice ) ) {
-			/* translators: %s: section title */
-			$notes[] = sprintf( __( 'No %s section was found', 'wporg-plugins' ), '<code>== Upgrade Notice ==</code>' );
+			$notes[] = sprintf(
+				/* translators: %s: section title */
+				__( 'No %s section was found', 'wporg-plugins' ),
+				'<code>== Upgrade Notice ==</code>'
+			);
 		}
 		if ( empty( $readme->screenshots ) ) {
-			/* translators: %s: section title */
-			$notes[] = sprintf( __( 'No %s section was found', 'wporg-plugins' ), '<code>== Screenshots ==</code>' );
+			$notes[] = sprintf(
+				/* translators: %s: section title */
+				__( 'No %s section was found', 'wporg-plugins' ),
+				'<code>== Screenshots ==</code>'
+			);
 		}
 		if ( empty( $readme->donate_link ) ) {
 			$notes[] = __( 'No donate link was found', 'wporg-plugins' );
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/readme.txt wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/readme.txt
index 14da00ed0..f6ccb4afc 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/readme.txt
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/readme/readme.txt
@@ -1,6 +1,6 @@
 === Plugin Name ===
 Contributors: (this should be a list of wordpress.org userid's)
-Donate link: http://example.com/
+Donate link: https://example.com/
 Tags: comments, spam
 Requires at least: 4.6
 Tested up to: 4.7
@@ -105,10 +105,10 @@ Unordered list:
 * something else
 * third thing
 
-Here's a link to [WordPress](http://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax].
+Here's a link to [WordPress](https://wordpress.org/ "Your favorite software") and one to [Markdown's Syntax Documentation][markdown syntax].
 Titles are optional, naturally.
 
-[markdown syntax]: http://daringfireball.net/projects/markdown/syntax
+[markdown syntax]: https://daringfireball.net/projects/markdown/syntax
             "Markdown is what the parser uses to process much of the readme file"
 
 Markdown uses email style notation for blockquotes and I've been told:
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-reviews.php wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-reviews.php
index 3511e949e..7fe013a33 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-reviews.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-reviews.php
@@ -30,21 +30,22 @@ class Reviews {
 			<?php
 			foreach ( $reviews as $review ) :
 				setup_postdata( $review );
+				if ( !empty( $review->post_name ) ) {
+					$url = 'https://wordpress.org/support/topic/' . $review->post_name . '/';
+				} else {
+					$url = add_query_arg( array( 'p' => $review->ID ), 'https://wordpress.org/support/plugin/' );
+				}
 				?>
 				<article class="plugin-review">
 					<div class="review-avatar">
 						<?php echo get_avatar( get_the_author_meta( 'ID' ), 60 ); ?>
 					</div><div class="review">
 						<header>
-							<?php if ( ! empty( $review->ID ) ) : ?>
-								<h3 class="review-title"><a class="url" href="<?php echo esc_url( add_query_arg( array( 'p' => $review->ID ), 'https://wordpress.org/support/plugin/' ) ); ?>"><?php echo get_the_title( $review ); ?></a></h3>
-							<?php else : ?>
-								<h3 class="review-title"><?php echo get_the_title( $review ); ?></h3>
-							<?php endif; ?>
+							<h3 class="review-title"><a class="url" href="<?php echo esc_url( $url ); ?>"><?php echo get_the_title( $review ); ?></a></h3>
 							<?php echo Template::dashicons_stars( $review->post_rating ); ?>
 							<span class="review-author author vcard"><?php the_author_posts_link(); ?></span>
 						</header>
-						<div class="review-content"><?php the_content(); ?></div>
+						<div class="review-content"><?php echo wp_strip_all_tags(get_the_content()); ?></div>
 					</div>
 				</article>
 			<?php endforeach; ?>
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload-handler.php wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload-handler.php
index 789a1fbfe..a0c01df88 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload-handler.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload-handler.php
@@ -77,10 +77,10 @@ class Upload_Handler {
 			$error = __( 'Error: The plugin has no name.', 'wporg-plugins' );
 
 			return new \WP_Error( 'no_name', $error . ' ' . sprintf(
-				/* translators: 1: plugin header line, 2: Codex URL */
-				__( 'Add a %1$s line to your main plugin file and upload the plugin again. <a href="%2$s">Plugin Headers</a>', 'wporg-plugins' ),
+				/* translators: 1: plugin header line, 2: Documentation URL */
+				__( 'Add a %1$s line to your main plugin file and upload the plugin again. For more information, please review our documentation on <a href="%2$s">Plugin Headers</a>.', 'wporg-plugins' ),
 				'<code>Plugin Name:</code>',
-				__( 'https://codex.wordpress.org/File_Header', 'wporg-plugins' )
+				__( 'https://developer.wordpress.org/plugins/plugin-basics/header-requirements/', 'wporg-plugins' )
 			) );
 		}
 
@@ -95,7 +95,7 @@ class Upload_Handler {
 
 			return new \WP_Error( 'unsupported_name', $error . ' ' . sprintf(
 				/* translators: %s: 'Plugin Name:' */
-				__( 'Plugin names can only contain latin letters (A-z), numbers, spaces, and hyphens. Please change the %s line in your main plugin file and upload it again.', 'wporg-plugins' ),
+				__( 'Plugin names may only contain latin letters (A-z), numbers, spaces, and hyphens. Please change the %s line in your main plugin file and upload it again.', 'wporg-plugins' ),
 				esc_html( $this->plugin['Name'] ),
 				'<code>Plugin Name:</code>'
 			) );
@@ -121,7 +121,7 @@ class Upload_Handler {
 
 			return new \WP_Error( 'already_exists', $error . ' ' . sprintf(
 				/* translators: 1: plugin slug, 2: 'Plugin Name:' */
-				__( 'There is already a plugin called %1$s by a different author. Please change the %2$s line in your main plugin file and upload it again.', 'wporg-plugins' ),
+				__( 'There is already a plugin with the name %1$s in the directory. Please rename your plugin by changing the %2$s line in your main plugin file and upload it again.', 'wporg-plugins' ),
 				'<code>' . $this->plugin_slug . '</code>',
 				'<code>Plugin Name:</code>'
 			) );
@@ -132,9 +132,10 @@ class Upload_Handler {
 			$error = __( 'Error: The plugin has already been submitted.', 'wporg-plugins' );
 
 			return new \WP_Error( 'already_submitted', $error . ' ' . sprintf(
-				/* translators: 1: plugin slug, 2: plugins@wordpress.org */
-				__( 'You have already submitted a plugin called %1$s. Please be patient and wait for a review. If you have made a mistake, email <a href="mailto:%2$s">%2$s</a> and let us know.', 'wporg-plugins' ),
+				/* translators: 1: plugin slug, 2: Documentation URL, 3: plugins@wordpress.org */
+				__( 'You have already submitted a plugin named %1$s. There is no need to resubmit existing plugins, even for new versions. Simply update your plugin within the directory via <a href="%2$s">SVN</a>. If you need assistance, email <a href="mailto:%3$s">%3$s</a> and let us know.', 'wporg-plugins' ),
 				'<code>' . $this->plugin_slug . '</code>',
+				__( 'https://developer.wordpress.org/plugins/wordpress-org/how-to-use-subversion/', 'wporg-plugins' ),
 				'plugins@wordpress.org'
 			) );
 		}
@@ -144,7 +145,7 @@ class Upload_Handler {
 
 			return new \WP_Error( 'no_description', $error . ' ' . sprintf(
 				/* translators: 1: plugin header line, 2: Documentation URL */
-				__( 'Add a %1$s line to your main plugin file and upload the plugin again. <a href="%2$s">Plugin Headers</a>', 'wporg-plugins' ),
+				__( 'Add a %1$s line to your main plugin file and upload the plugin again. Please review our documentation on <a href="%2$s">Plugin Headers</a> for more information.', 'wporg-plugins' ),
 				'<code>Description:</code>',
 				__( 'https://developer.wordpress.org/plugins/the-basics/header-requirements/', 'wporg-plugins' )
 			) );
@@ -155,7 +156,7 @@ class Upload_Handler {
 
 			return new \WP_Error( 'no_version', $error . ' ' . sprintf(
 				/* translators: 1: plugin header line, 2: Documentation URL */
-				__( 'Add a %1$s line to your main plugin file and upload the plugin again. <a href="%2$s">Plugin Headers</a>', 'wporg-plugins' ),
+				__( 'Add a %1$s line to your main plugin file and upload the plugin again. Please review our documentation on <a href="%2$s">Plugin Headers</a> for more information.', 'wporg-plugins' ),
 				'<code>Version:</code>',
 				__( 'https://developer.wordpress.org/plugins/the-basics/header-requirements/', 'wporg-plugins' )
 			) );
@@ -166,7 +167,7 @@ class Upload_Handler {
 
 			return new \WP_Error( 'invalid_version', $error . ' ' . sprintf(
 				/* translators: %s: 'Version:' */
-				__( 'Version strings can only contain numeric and period characters (like 1.2). Please fix the %s line in your main plugin file and upload the plugin again.', 'wporg-plugins' ),
+				__( 'Version strings can only contain numeric and period characters (i.e. 1.2). Please correct the %s line in your main plugin file and upload the plugin again.', 'wporg-plugins' ),
 				'<code>Version:</code>'
 			) );
 		}
@@ -177,7 +178,7 @@ class Upload_Handler {
 
 			return new \WP_Error(
 				'plugin_author_uri', $error . ' ' .
-				__( 'A plugin URL is a page/site that provides details about this specific plugin. An author URL is a page/site that provides information about the author of the plugin. You are not required to provide both, so pick the one that best applies to your URL.', 'wporg-plugins' )
+				__( 'A plugin URI (Uniform Resource Identifier) is a webpage that provides details about this specific plugin. An author URI is a webpage that provides information about the author of the plugin. Those two URIs must be different. You are not required to provide both, so pick the one that best applies to your situation.', 'wporg-plugins' )
 			);
 		}
 
@@ -202,7 +203,7 @@ class Upload_Handler {
 			$error = __( 'Error: The plugin has failed the automated checks.', 'wporg-plugins' );
 
 			return new \WP_Error( 'failed_checks', $error . ' ' . sprintf(
-				/* translators: 1: Plugin Check Plugin URL, 2: make.wordpress.org/plugins */
+				/* translators: 1: Plugin Check Plugin URL, 2: https://make.wordpress.org/plugins */
 				__( 'Please correct the problems with the plugin and upload it again. You can also use the <a href="%1$s">Plugin Check Plugin</a> to test your plugin before uploading. If you have any questions about this please post them to %2$s.', 'wporg-plugins' ),
 				'//wordpress.org/plugins/plugin-check/',
 				'<a href="https://make.wordpress.org/plugins">https://make.wordpress.org/plugins</a>'
@@ -276,20 +277,29 @@ class Upload_Handler {
 
 		do_action( 'plugin_upload', $this->plugin, $plugin_post );
 
-		/* translators: 1: plugin name, 2: plugin slug, 3: plugins@wordpress.org */
 		$message = sprintf(
-			__( 'Thank you for uploading %1$s to the WordPress Plugin Directory. It has been given the initial plugin slug of %2$s, however that is subject to change based on the results of your code review.' ),
+			/* translators: 1: plugin name, 2: plugin slug, 3: plugins@wordpress.org */
+			__( 'Thank you for uploading %1$s to the WordPress Plugin Directory. It has been given the initial plugin slug of %2$s, however that is subject to change based on the results of your code review. If this slug is incorrect, please contact us immediately, as it cannot be changed once your plugin is approved.' ),
 			esc_html( $this->plugin['Name'] ),
 			'<code>' . $this->plugin_slug . '</code>'
 		) . '</p><p>';
 
-		/* translators: 1: plugins@wordpress.org */
 		$message .= sprintf(
+			/* translators: 1: plugins@wordpress.org */
 			__( 'We&rsquo;ve sent you an email verifying this submission. Please make sure to whitelist our email address - <a href="mailto:%1$s">%1$s</a> - to ensure you receive all our communications.' ),
 			'plugins@wordpress.org'
 		) . '</p><p>';
 
-		$message .= __( 'If there is any error in your submission, please email us as we can correct many issues before approval.', 'wporg-plugins' ) . '</p><p>';
+		// Warn if the plugin starts with a reserved slug.
+		if ( $this->starts_with_reserved_slug() ) {
+			$message .= sprintf(
+				/* translators: %s: plugin name */
+				__( 'Warning: Your plugin will probably need to be renamed. Your chosen plugin name - %s - starts with a term that may belong to another company. When we review your submission we will either correct this for you or request you approve a new name.' ),
+				esc_html( $this->plugin['Name'] )
+			) . '</p><p>';
+		}
+
+		$message .= __( 'If there is any error in your submission, please email us as soon as possible. We can correct many issues before approval.', 'wporg-plugins' ) . '</p><p>';
 
 		$message .= sprintf(
 			/* translators: 1: URL to guidelines; 2: URL to FAQs; */
@@ -329,6 +339,33 @@ class Upload_Handler {
 		return in_array( $this->plugin_slug, $reserved_slugs );
 	}
 
+	/**
+	 * Whether the uploaded plugin uses a slug commonly abused by non-reps.
+	 *
+	 * @return bool
+	 */
+	public function starts_with_reserved_slug() {
+		$abused_slugs = array(
+			'apple',
+			'facebook',
+			'google',
+			'ios',
+			'jetpack',
+			'microsoft',
+			'paypal',
+			'twitter',
+			'woocommerce',
+			'wordpress',
+			'yoast',
+		);
+
+		// Get the slug in an array.
+		$slug = explode( '-', $this->plugin_slug );
+
+		// If the slug is the same as the first term, flag for abuse.
+		return in_array( $slug[0], $abused_slugs );
+	}
+
 	/**
 	 * Find the plugin readme file.
 	 *
@@ -339,7 +376,7 @@ class Upload_Handler {
 	protected function find_readme_file() {
 		$files = Filesystem::list_files( $this->plugin_root, false /* non-recursive */, '!^readme\.(txt|md)$!i' );
 
-		// Prioritize readme.txt
+		// Prioritize readme.txt file.
 		foreach ( $files as $file ) {
 			if ( '.txt' === strtolower( substr( $file, -4 ) ) ) {
 				return $file;
@@ -358,7 +395,7 @@ class Upload_Handler {
 		return true;
 		// Run the checks.
 		// @todo Include plugin checker.
-		// pass $this->plugin_root as the plugin root
+		// Pass $this->plugin_root as the plugin root.
 		$result = true;
 
 		// Display the errors.
@@ -404,7 +441,7 @@ class Upload_Handler {
 
 		/* translators: %s: plugin name */
 		$email_subject = sprintf(
-			__( '[WordPress Plugin Directory] New Plugin - %s', 'wporg-plugins' ),
+			__( '[WordPress Plugin Directory] Successful Plugin Submission - %s', 'wporg-plugins' ),
 			$this->plugin['Name']
 		);
 
@@ -415,9 +452,9 @@ class Upload_Handler {
 
 Your plugin has been given the initial slug of %2$s, however this is subject to change based on the results of your review.
 
-If there is any problem with this submission, please reply to this email and let us know right away. In most cases, we can correct errors as long as the plugin has not yet been approved. For situations like an incorrect plugin slug, we are unable to change that post approval, so if you do not let us know of your requirements now, we will be unable to honor them later.
+If there is any problem with this submission, please reply to this email and let us know right away. In most cases, we can correct errors as long as the plugin has not yet been approved. For situations like an incorrect plugin slug, we are unable to change that post approval. If you do not inform us of any requirements now, we will be unable to honor them later.
 
-We recommend you review the following links to understand the
+We recommend you review the following links to understand the review process and our expectations:
 
 Guidelines: https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/
 Frequently Asked Questions: https://developer.wordpress.org/plugins/wordpress-org/plugin-developer-faq/
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php
index 996bb4931..6060d848c 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php
@@ -11,7 +11,7 @@ class Upload {
 	public static function get_submitted_plugins() {
 		$plugins = get_posts( array(
 			'post_type'      => 'plugin',
-			'post_status'    => array( 'new', 'pending' ),
+			'post_status'    => array( 'new', 'pending', 'approved' ),
 			'author'         => get_current_user_id(),
 			'orderby'        => 'title',
 			'order'          => 'ASC',
@@ -31,7 +31,7 @@ class Upload {
 			include_once ABSPATH . 'wp-admin/includes/template.php';
 
 			$submitted_plugins = self::get_submitted_plugins();
-			$submitted_counts  = (object) array_fill_keys( array( 'new', 'pending' ), 0 );
+			$submitted_counts  = (object) array_fill_keys( array( 'new', 'pending', 'approved' ), 0 );
 
 			$submitted_counts->total = count( $submitted_plugins );
 
@@ -42,6 +42,9 @@ class Upload {
 				} elseif ( 'pending' === $plugin->post_status ) {
 					$submitted_plugins[ $key ]->status = __( 'Being Reviewed', 'wporg-plugins' );
 					$submitted_counts->pending++;
+				} elseif ( 'approved' === $plugin->post_status ) {
+					$submitted_plugins[ $key ]->status = __( 'Approved', 'wporg-plugins' );
+					$submitted_counts->approved++;
 				}
 			}
 
@@ -100,26 +103,47 @@ class Upload {
 					<div class="plugin-queue-message notice notice-warning notice-alt">
 						<p>
 						<?php
-						if ( 1 === $submitted_counts->total ) {
-							esc_html_e( 'You already have a plugin in the review queue. Please wait for it to be approved before submitting any more.', 'wporg-plugins' );
-						} else {
+						if ( 0 !== $submitted_counts->approved ) {
 							printf(
-								/* translators: 1: Total amount of plugins; 2: Amount of pending plugins. */
+								/* translators: 1: Amount of approved plugins; 2: URL on how to use SVN */
 								esc_html( _n(
-									'You have %1$s plugins in the review queue, %2$s is being actively reviewed. Please wait for them to be approved before submitting any more.',
-									'You have %1$s plugins in the review queue, %2$s are being actively reviewed. Please wait for them to be approved before submitting any more.',
+									'You have %1$s approved plugin that has not yet been used. We require developers to use the hosting we provide. Please upload your plugin via <a href="%2$s">SVN</a>.',
+									'You have %1$s approved plugins that have not yet been used. We require developers to use the hosting we provide. Please upload your plugins via <a href="%2$s">SVN</a>.',
+									$submitted_counts->approved,
+									'wporg-plugins'
+								) ),
+								'<strong>' . $submitted_counts->approved . '</strong>',
+								'https://developer.wordpress.org/plugins/wordpress-org/how-to-use-subversion/'
+							);
+						} elseif ( 0 !== $submitted_counts->pending ) {
+							printf(
+								/* translators: %s: Amount of pending plugins. */
+								esc_html( _n(
+									'You have %s plugin being actively reviewed. You must complete this review before you can submit another plugin.',
+									'You have %s plugins being actively reviewed. You must complete their reviews before you can submit another plugin.',
 									$submitted_counts->pending,
 									'wporg-plugins'
 								) ),
-								'<strong>' . $submitted_counts->total . '</strong>',
 								'<strong>' . $submitted_counts->pending . '</strong>'
 							);
+						} elseif ( 0 !== $submitted_counts->new ) {
+							printf(
+								/* translators: %s: Amount of new plugins. */
+								esc_html( _n(
+									'You have %s plugin that has been recently submitted but not yet reviewed. Please wait for your plugin to be reviewed and approved before submitting another.',
+									'You have %s plugins already submitted but not yet reviewed. Please wait for them to be reviewed and approved before submitting another plugin.',
+									$submitted_counts->new,
+									'wporg-plugins'
+								) ),
+								'<strong>' . $submitted_counts->new . '</strong>'
+							);
 						}
 						?>
 						</p>
 
 						<ul>
 						<?php
+						// List of all plugins in progress.
 						foreach ( $submitted_plugins as $plugin ) {
 							echo '<li>' . esc_html( $plugin->post_title ) . ' &#8212; ' . $plugin->status . "</li>\n";
 						}
@@ -195,7 +219,7 @@ class Upload {
 					printf( '<script>%s</script>', $upload_script );
 				}
 				?>
-		
+
 			<?php endif; // ! $submitted_counts->total ?>
 
 		<?php else : ?>
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/standalone/class-plugins-info-api.php wordpress.org/public_html/wp-content/plugins/plugin-directory/standalone/class-plugins-info-api.php
index 3e91c661a..310abb229 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/standalone/class-plugins-info-api.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/standalone/class-plugins-info-api.php
@@ -50,7 +50,7 @@ class Plugins_Info_API {
 
 			default:
 				if ( 'POST' != strtoupper( $_SERVER['REQUEST_METHOD'] ) ) {
-					die( '<p>Action not implemented. <a href="http://codex.wordpress.org/WordPress.org_API">API Docs</a>.</p>' );
+					die( '<p>Action not implemented. <a href="https://codex.wordpress.org/WordPress.org_API">API Docs</a>.</p>' );
 				} else {
 					$this->output( (object) array(
 						'error' => 'Action not implemented',
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-adopt-me.php wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-adopt-me.php
new file mode 100644
index 000000000..5428cb90f
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-adopt-me.php
@@ -0,0 +1,49 @@
+<?php
+namespace WordPressdotorg\Plugin_Directory\Widgets;
+
+/**
+ * A Widget to display adopt plugin link for a plugin.
+ *
+ * @package WordPressdotorg\Plugin_Directory\Widgets
+ */
+class Adopt_Me extends \WP_Widget {
+
+	/**
+	 * Adopt_Me constructor.
+	 */
+	public function __construct() {
+		parent::__construct( 'plugin_adopt_me', __( 'Plugin Adopt Me', 'wporg-plugins' ), array(
+			'classname'   => 'plugin-adopt-me',
+			'description' => __( 'Displays an adopt me panel.', 'wporg-plugins' ),
+		) );
+	}
+
+	/**
+	 * Outputs the content of the widget.
+	 *
+	 * @param array $args
+	 * @param array $instance
+	 */
+	public function widget( $args, $instance ) {
+		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Adopt this plugin', 'wporg-plugins' ) : $instance['title'], $instance, $this->id_base );
+		$is_adopt_me = has_term( 'adopt-me', 'plugin_section' );
+
+		if ( $is_adopt_me ) {
+
+			echo $args['before_widget'];
+			echo $args['before_title'] . $title . $args['after_title'];
+			?>
+
+			<div>
+				<p>
+					<?php _e( 'This plugin is seeking new, active, developers. Are you interested in assuming that responsibility?', 'wporg-plugins' ); ?></p>
+				<p>
+					<a class="button" href="https://developer.wordpress.org/plugins/wordpress-org/take-over-an-existing-plugin/"><?php _e( 'Read more', 'wporg-plugins' ); ?></a>
+				</p>
+			</div>
+			<?php
+
+			echo $args['after_widget'];
+		}
+	}
+}
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-meta.php wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-meta.php
index 7694aff3a..4377067ca 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-meta.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/widgets/class-meta.php
@@ -185,7 +185,7 @@ class Meta extends \WP_Widget {
 			endif;
 			?>
 
-			<?php if ( $tags = get_the_term_list( $post->ID, 'plugin_tags', '<div class="tags">', '', '</div>' ) ) : ?>
+			<?php if ( empty( $args['hide_tags'] ) && $tags = get_the_term_list( $post->ID, 'plugin_tags', '<div class="tags">', '', '</div>' ) ) : ?>
 				<li class="clear">
 					<?php
 					$terms = get_the_terms( $post, 'plugin_tags' );
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-builder.php wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-builder.php
index f88101809..3d14b120d 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-builder.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-builder.php
@@ -15,10 +15,11 @@ class Builder {
 	const SVN_URL     = 'https://plugins.svn.wordpress.org';
 	const ZIP_SVN_URL = PLUGIN_ZIP_SVN_URL;
 
-	protected $zip_file      = '';
-	protected $checksum_file = '';
-	protected $tmp_build_dir = '';
-	protected $tmp_dir       = '';
+	protected $zip_file       = '';
+	protected $checksum_file  = '';
+	protected $signature_file = '';
+	protected $tmp_build_dir  = '';
+	protected $tmp_dir        = '';
 
 	protected $slug       = '';
 	protected $version    = '';
@@ -116,6 +117,8 @@ class Builder {
 
 				$this->generate_zip();
 
+				$this->generate_zip_signatures();
+
 				$this->generate_checksums();
 
 				$this->cleanup_plugin_tmp();
@@ -129,6 +132,9 @@ class Builder {
 				if ( $this->checksum_file ) {
 					SVN::up( $this->checksum_file );
 				}
+				if ( $this->signature_file ) {
+					SVN::up( $this->signature_file );
+				}
 				continue;
 			}
 
@@ -137,6 +143,9 @@ class Builder {
 			if ( $this->checksum_file ) {
 				SVN::add( $this->checksum_file );
 			}
+			if ( $this->signature_file ) {
+				SVN::add( $this->signature_file );
+			}
 		}
 
 		$res = SVN::commit(
@@ -433,6 +442,35 @@ class Builder {
 		}
 	}
 
+	/**
+	 * Generate the signature for a ZIP file.
+	 */
+	protected function generate_zip_signatures() {
+
+		// TODO: Currently disabled, enable when ready.
+		return false;
+
+		if ( ! function_exists( 'wporg_sign_file' ) ) {
+			return false;
+		}
+
+		$signatures = wporg_sign_file( $this->zip_file, 'plugin' );
+		if ( $signatures ) {
+			$this->signature_file = $this->zip_file . '.sig';
+
+			// Fetch any existing signatures if needed.
+			SVN::up( $this->signature_file );
+
+			// If this file was previously signed, keep the previous version.
+			// This would only occur if a ZIP file was replaced in the few moments between ZIP download starting, and fetching the signature for verification.
+			if ( file_exists( $this->signature_file ) ) {
+				$existing_signatures = file( $this->signature_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
+				$signatures = array_unique( array_merge( $signatures, $existing_signatures ) );
+			}
+
+			file_put_contents( $this->signature_file, implode( "\n", $signatures ) );
+		}
+	}
 
 	/**
 	 * Purge ZIP caches after ZIP building.
diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-serve.php wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-serve.php
index fbad98343..a3e46e922 100644
--- wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-serve.php
+++ wordpress.org/public_html/wp-content/plugins/plugin-directory/zip/class-serve.php
@@ -37,12 +37,14 @@ class Serve {
 		$path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
 		$zip  = basename( $path );
 
-		if ( preg_match( '!^(?P<slug>[a-z0-9-_]+)(\.(?P<version>.+?))?\.zip$!i', $zip, $m ) ) {
-			// ZIP
-			$checksum_request = false;
+		if ( preg_match( '!^(?P<slug>[a-z0-9-_]+)(\.(?P<version>.+?))?\.zip(?P<signature>\.sig)?$!i', $zip, $m ) ) {
+			// ZIP or Signature
+			$checksum_request  = false;
+			$signature_request = isset( $m['signature'] );
 		} elseif ( preg_match( '!^/plugin-checksums/(?P<slug>[a-z0-9-_]+)/(?P<version>.+?)(\.json)?$!i', $path, $m ) ) {
 			// Checksums
-			$checksum_request = true;
+			$checksum_request  = true;
+			$signature_request = false;
 		} else {
 			throw new Exception( __METHOD__ . ': Invalid URL.' );
 		}
@@ -66,7 +68,7 @@ class Serve {
 			'stats' => true,
 		);
 
-		if ( $checksum_request ) {
+		if ( $checksum_request || $signature_request ) {
 			$args['stats'] = false;
 
 		} elseif ( isset( $_GET['stats'] ) ) {
@@ -76,7 +78,7 @@ class Serve {
 			$args['stats'] = ! empty( $_GET['nostats'] );
 		}
 
-		return compact( 'zip', 'slug', 'version', 'args', 'checksum_request' );
+		return compact( 'zip', 'slug', 'version', 'args', 'checksum_request', 'signature_request' );
 	}
 
 	/**
@@ -144,12 +146,18 @@ class Serve {
 			return "{$request['slug']}/{$request['slug']}.{$request['version']}.checksums.json";
 
 		} elseif ( empty( $request['version'] ) || 'trunk' == $request['version'] ) {
-			return "{$request['slug']}/{$request['slug']}.zip";
+			$file = "{$request['slug']}/{$request['slug']}.zip";
 
 		} else {
-			return "{$request['slug']}/{$request['slug']}.{$request['version']}.zip";
+			$file = "{$request['slug']}/{$request['slug']}.{$request['version']}.zip";
 		}
 
+		// Signature requests are valid for any ZIP requests, but not checksums.
+		if ( $request['signature_request'] ) {
+			$file .= '.sig';
+		}
+
+		return $file;
 	}
 
 	/**
@@ -165,6 +173,8 @@ class Serve {
 
 			if ( $request['checksum_request'] ) {
 				header( 'Content-Type: application/json' );
+			} elseif ( $request['signature_request'] ) {
+				header( 'Content-Type: text/plain' );
 			} else {
 				header( 'Content-Type: application/zip' );
 				header( 'Content-Disposition: attachment; filename=' . basename( $file ) );
diff --git wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations-view.php wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations-view.php
index 7f7b9f999..15e56ee41 100644
--- wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations-view.php
+++ wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations-view.php
@@ -79,6 +79,12 @@ class Locale_Associations_View implements Admin_Page_View {
 					__( 'Please provide a locale and a subdomain.', 'rosetta' )
 				);
 				break;
+			case 'add-association|locale_does_not_exist' :
+				printf(
+					'<div class="notice notice-error"><p>%s</p></div>',
+					__( 'The locale does not exist yet.', 'rosetta' )
+				);
+				break;
 			case 'add-association|success' :
 				printf(
 					'<div class="notice notice-success"><p>%s</p></div>',
diff --git wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations.php wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations.php
index 54c7afd1e..34ceea5c8 100644
--- wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations.php
+++ wordpress.org/public_html/wp-content/plugins/rosetta/inc/admin/network/class-locale-associations.php
@@ -118,6 +118,13 @@ class Locale_Associations implements Admin_Page {
 		$locale = sanitize_text_field( $_POST['locale'] );
 		$subdomain = sanitize_text_field( $_POST['subdomain'] );
 
+		if ( 0 !== strpos( $locale, 'test' ) ) {
+			$locales = get_available_languages();
+			if ( ! in_array( $locale, $locales, true ) ) {
+				return new WP_Error( 'locale_does_not_exist' );
+			}
+		}
+
 		$result = $wpdb->insert( Tables::LOCALES, [
 			'locale'    => $locale,
 			'subdomain' => $subdomain,
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-directory-compat.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-directory-compat.php
index 6413abb44..0d7174e6c 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-directory-compat.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-directory-compat.php
@@ -58,6 +58,9 @@ abstract class Directory_Compat {
 
 			// Remove new topic form at the bottom of reviews forum.
 			add_filter( 'bbp_get_template_part', array( $this, 'noop_reviews_forum_form_topic' ), 10, 3 );
+
+			// Tell WordPress not to 404 (before bbPress overrides it) so that Canonical can do it's job.
+			add_filter( 'pre_handle_404', array( $this, 'abort_wp_handle_404' ) );
 		}
 	}
 
@@ -286,6 +289,24 @@ abstract class Directory_Compat {
 			// Set the term for this view so we can reuse it.
 			$this->term = get_term_by( 'slug', $this->slug(), $this->taxonomy() );
 
+			// New compats won't have any support topics or reviews, so will
+			// not yet exist as a compat term.
+			if ( ! $this->term && $this->get_object( $this->slug() ) ) {
+				$term_name = $this->slug();
+				if ( ! sanitize_title( $term_name ) ) {
+					// This happens when the slug is all non-ascii such as %e5%8f%8b%e8%a8%80, which fails to insert.
+					$term_name = urldecode( $term_name );
+				}
+				$term = wp_insert_term( $term_name, $this->taxonomy(), array( 'slug' => $this->slug() ) );
+
+				// Term exists already? Race-condition, or get_term_by() couldn't find $slug..
+				if ( is_wp_error( $term ) && $term->get_error_data( 'term_exists' ) ) {
+					$this->term = get_term( $term->get_error_data( 'term_exists' ) );
+				} elseif ( ! is_wp_error( $term ) && isset( $term['term_id'] ) ) {
+					$this->term = get_term( $term['term_id'] );
+				}
+			}
+
 			// Add plugin- and theme-specific filters and actions.
 			add_action( 'wporg_compat_view_sidebar',       array( $this, 'do_view_sidebar' ) );
 			add_action( 'wporg_compat_before_single_view', array( $this, 'do_view_header' ) );
@@ -393,9 +414,9 @@ abstract class Directory_Compat {
 			( ! empty( $this->authors ) && in_array( $user->user_nicename, $this->authors ) )
 		||
 			( ! empty( $this->contributors ) && in_array( $user->user_nicename, $this->contributors ) )
-		|| 
+		||
 			( ! empty( $this->support_reps ) && in_array( $user->user_nicename, $this->support_reps ) )
-		|| 
+		||
 			// Back-compat for support reps added before https://meta.trac.wordpress.org/changeset/5867,
 			// can be removed once they are re-added via the Plugin Directory UI.
 			( is_a( $user, 'WP_User' ) && $user->supportrep == $this->slug() )
@@ -452,6 +473,9 @@ abstract class Directory_Compat {
 		$feed_rule  = $feed_slug  . '/?$';
 		$paged_rule = $paged_slug . '/?([0-9]{1,})/?$';
 
+		// Add base rule, so that /support/$compat_slug/ doesn't redirect to a random topic.
+		add_rewrite_rule( $this->compat() . '/?$',  'index.php?' . $view_id . '=' . $review_id . '&' . $root_var . '=_redirect_', $priority );
+
 		// Add reviews view rewrite rules.
 		add_rewrite_rule( $reviews_rule . $base_rule,  'index.php?' . $view_id . '=' . $review_id . '&' . $root_var . '=$matches[1]',                               $priority );
 		add_rewrite_rule( $reviews_rule . $paged_rule, 'index.php?' . $view_id . '=' . $review_id . '&' . $root_var . '=$matches[1]&' . $paged_id . '=$matches[2]', $priority );
@@ -703,6 +727,19 @@ abstract class Directory_Compat {
 		return $templates;
 	}
 
+	/**
+	 * Filter WP::handle_404() to not run on compat views, so as to allow Canonical to properly handle the request.
+	 */
+	public function abort_wp_handle_404( $handled ) {
+		if ( $this->slug() ) {
+			// We've matched a term, so WordPress shouldn't 404 this request.
+			$handled = true;
+		}
+
+		return $handled;
+	}
+
+
 	/**
 	 * Add a subscribe/unsubscribe link to the compat views.
 	 */
@@ -722,15 +759,7 @@ abstract class Directory_Compat {
 		do_action( 'bbp_template_notices' );
 
 		$term_subscription = '';
-		$term = $this->term;
-		if ( ! $term ) {
-			// New compats won't have any support topics or reviews, so will
-			// not yet exist as a compat term.
-			$term = wp_insert_term( $this->slug(), $this->taxonomy() );
-			$term = get_term( $term['term_id'] );
-		}
-		if ( $term ) {
-			$this->term = $term;
+		if ( $this->term ) {
 			$subscribe = $unsubscribe = '';
 			if ( 'plugin' == $this->compat() ) {
 				$subscribe   = esc_html__( 'Subscribe to this plugin', 'wporg-forums' );
@@ -740,7 +769,7 @@ abstract class Directory_Compat {
 				$unsubscribe = esc_html__( 'Unsubscribe from this theme', 'wporg-forums' );
 			}
 			$term_subscription = Term_Subscription\Plugin::get_subscription_link( array(
-				'term_id'     => $term->term_id,
+				'term_id'     => $this->term->term_id,
 				'taxonomy'    => $this->taxonomy(),
 				'subscribe'   => $subscribe,
 				'unsubscribe' => $unsubscribe,
@@ -898,7 +927,7 @@ abstract class Directory_Compat {
 					"SELECT slug
 					 FROM {$prefix}terms AS t
 					 LEFT JOIN {$prefix}term_taxonomy AS tt ON tt.term_id = t.term_id
-					 LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id 
+					 LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
 					 WHERE tt.taxonomy = 'plugin_committers' AND tr.object_id = %d",
 					 $plugin->ID
 				) );
@@ -933,7 +962,7 @@ abstract class Directory_Compat {
 				"SELECT slug
 				 FROM {$prefix}terms AS t
 				 LEFT JOIN {$prefix}term_taxonomy AS tt ON tt.term_id = t.term_id
-				 LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id 
+				 LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
 				 WHERE tt.taxonomy = 'plugin_contributors' AND tr.object_id = %d",
 				 $plugin->ID
 			) );
@@ -967,7 +996,7 @@ abstract class Directory_Compat {
 				"SELECT slug
 				 FROM {$prefix}terms AS t
 				 LEFT JOIN {$prefix}term_taxonomy AS tt ON tt.term_id = t.term_id
-				 LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id 
+				 LEFT JOIN {$prefix}term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
 				 WHERE tt.taxonomy = 'plugin_support_reps' AND tr.object_id = %d",
 				 $plugin->ID
 			) );
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php
index 07b31645f..631f83377 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php
@@ -8,15 +8,26 @@ class Hooks {
 
 	public function __construct() {
 		// Basic behavior filters and actions.
-		add_filter( 'bbp_get_forum_pagination_count', '__return_empty_string' );
-		add_filter( 'bbp_get_form_topic_subscribed',  array( $this, 'check_topic_subscription_checkbox' ) );
-		add_action( 'pre_get_posts',                  array( $this, 'hide_non_public_forums' ) );
-		add_filter( 'pre_option__bbp_edit_lock',      array( $this, 'increase_edit_lock_time' ) );
-		add_filter( 'bbp_map_meta_caps',              array( $this, 'disallow_editing_past_lock_time' ), 10, 4 );
-		add_filter( 'redirect_canonical',             array( $this, 'disable_redirect_guess_404_permalink' ) );
-		add_action( 'template_redirect',              array( $this, 'redirect_update_php_page' ) );
-		add_filter( 'wp_insert_post_data',            array( $this, 'set_post_date_gmt_for_pending_posts' ) );
-		add_action( 'wp_print_footer_scripts',        array( $this, 'replace_quicktags_blockquote_button' ) );
+		add_filter( 'bbp_get_forum_pagination_count',  '__return_empty_string' );
+		add_filter( 'bbp_get_form_topic_subscribed',   array( $this, 'check_topic_subscription_checkbox' ) );
+		add_action( 'pre_get_posts',                   array( $this, 'hide_non_public_forums' ) );
+		add_filter( 'pre_option__bbp_edit_lock',       array( $this, 'increase_edit_lock_time' ) );
+		add_filter( 'pre_option__bbp_topics_per_page', array( $this, 'increase_topics_per_page' ) );
+		add_filter( 'bbp_map_meta_caps',               array( $this, 'disallow_editing_past_lock_time' ), 10, 4 );
+		add_filter( 'redirect_canonical',              array( $this, 'disable_redirect_guess_404_permalink' ) );
+		add_filter( 'old_slug_redirect_post_id',       array( $this, 'disable_wp_old_slug_redirect' ) );
+		add_action( 'template_redirect',               array( $this, 'redirect_update_php_page' ) );
+		add_filter( 'wp_insert_post_data',             array( $this, 'set_post_date_gmt_for_pending_posts' ) );
+		add_action( 'wp_print_footer_scripts',         array( $this, 'replace_quicktags_blockquote_button' ) );
+
+		// Output rel="canonical" meta tag. Runs before WP's rel_canonical to unhook that if needed.
+		add_action( 'wp_head', array( $this, 'rel_canonical' ), 9 );
+
+		// Output rel="next", rel="prev" meta tags.
+		add_action( 'wp_head', array( $this, 'rel_next_prev' ), 9 );
+
+		// Output robots headers.
+		add_action( 'wp_head', array( $this, 'robots_noindex_header' ));
 
 		// Link to create new topics atop topic list.
 		add_filter( 'bbp_template_before_pagination_loop', array( $this, 'new_topic_link' ) );
@@ -26,6 +37,10 @@ class Hooks {
 		add_filter( 'bbp_after_get_reply_author_link_parse_args', array( $this, 'get_author_link' ) );
 		add_filter( 'bbp_after_get_author_link_parse_args',       array( $this, 'get_author_link' ) );
 
+		// remove nofollow filter from topic and reply author links, since those are wordpress.org profile urls, not user inputs
+		remove_filter( 'bbp_get_topic_author_link', 'bbp_rel_nofollow' );
+		remove_filter( 'bbp_get_reply_author_link', 'bbp_rel_nofollow' );
+
 		// oEmbed.
 		add_filter( 'oembed_discovery_links', array( $this, 'disable_oembed_discovery_links' ) );
 		add_filter( 'oembed_response_data',   array( $this, 'disable_oembed_response_data' ), 10, 2 );
@@ -75,6 +90,15 @@ class Hooks {
 
 		// Limit pagination of the 'all-topics' view
 		add_filter( 'bbp_after_has_topics_parse_args', array( $this, 'has_topics_all_topics' ) );
+
+		// Remove the redundant prefixes in the bbPress <title>.
+		add_filter( 'bbp_raw_title_array', array( $this, 'bbp_raw_title_array' ) );
+
+		// Don't 404 user profile pages. Fixed in bbPress 2.6: https://bbpress.trac.wordpress.org/ticket/3047
+		add_filter( 'bbp_template_redirect', array( $this, 'disable_404_for_user_profile' ) );
+
+		// Deindex Support Forum Feeds. bbPress hooks in way earlier than most Core feed functions..
+		add_filter( 'request', array( $this, 'deindex_forum_feeds' ), 5 );
 	}
 
 	/**
@@ -121,6 +145,15 @@ class Hooks {
 		return 60;
 	}
 
+	/**
+	 * Increase bbPress' default topics per page setting from 15 to 30.
+	 *
+	 * @return int Filtered topics per page setting.
+	 */
+	public function increase_topics_per_page() {
+		return 30;
+	}
+
 	/**
 	 * Disallow editing topics or replies past edit lock time for non-moderators.
 	 *
@@ -188,6 +221,27 @@ class Hooks {
 		return $redirect_url;
 	}
 
+	/**
+	 * Disable wp_old_slug_redirect() for hidden topics.
+	 *
+	 * Prevents Spam, Pending, or Archived topics that the current user cannot view
+	 * from performing a redirect loop.
+	 *
+	 * @param int $post_id The redirect post ID.
+	 * @return int Filtered redirect post ID.
+	 */
+	public function disable_wp_old_slug_redirect( $post_id ) {
+		if ( is_404() && 'topic' === get_query_var( 'post_type' ) && get_query_var( 'name' ) ) {
+			$hidden_topic = get_post( $post_id );
+
+			if ( $hidden_topic && ! current_user_can( 'read_topic', $hidden_topic->ID ) ) {
+				$post_id = 0;
+			}
+		}
+
+		return $post_id;
+	}
+
 	/**
 	 * Redirect "Update PHP" page from the old slug to the new one.
 	 *
@@ -255,6 +309,188 @@ class Hooks {
 		<?php
 	}
 
+	/**
+	 * Returns the canonical URL for various bbPress pages.
+	 *
+	 * @return array The canonical URL.
+	 */
+	public function get_canonical_url() {
+		$canonical_url  = false;
+		$supports_paged = true;
+
+		if ( bbp_is_topic_tag() ) {
+			$canonical_url = bbp_get_topic_tag_link();
+		} elseif ( bbp_is_single_view() ) {
+			$canonical_url = bbp_get_view_url();
+		} elseif ( bbp_is_forum_archive() ) {
+			$canonical_url = get_post_type_archive_link( 'forum' );
+		} elseif ( bbp_is_single_topic() ) {
+			$canonical_url = bbp_get_topic_permalink();
+		} elseif ( bbp_is_single_forum() ) {
+			$canonical_url = bbp_get_forum_permalink();
+		} elseif ( bbpress()->displayed_user && bbpress()->displayed_user->exists() ) {
+			// This covers all user pages rather than using 6 different bbp_is_*() calls.
+			$canonical_url  = 'https://profiles.wordpress.org/' . bbpress()->displayed_user->user_nicename . '/';
+			$supports_paged = false;
+		}
+
+		return [ $canonical_url, $supports_paged ];
+	}
+
+	/**
+	 * Outputs <link rel="canonical"> tags for various bbPress pages.
+	 */
+	public function rel_canonical() {
+		list( $canonical_url, $canonical_supports_paged ) = $this->get_canonical_url();
+
+		if ( bbp_is_single_topic() || bbp_is_single_forum() ) {
+			remove_action( 'wp_head', 'rel_canonical' ); // Doesn't handle pagination.
+		}
+
+		// Make sure canonical has pagination if needed.
+		$page = get_query_var( 'paged', 0 );
+		if ( $canonical_url && $canonical_supports_paged && $page >= 2 ) {
+			$canonical_url .= 'page/' . absint( $page ) . '/';
+		}
+
+		if ( $canonical_url ) {
+			echo '<link rel="canonical" href="' . esc_url( $canonical_url ) . '" />' . "\n";
+		}
+	}
+
+	/**
+	 * Adds noindex robots headers to various pages.
+	 */
+	public function robots_noindex_header() {
+		$robots = false;
+
+		if ( bbp_is_search() ) {
+			// #3955
+			$robots = true;
+		} elseif (
+			bbp_is_single_view() &&
+			in_array( bbp_get_view_id(), array( 'plugin-committer', 'plugin-contributor' ) )
+		) {
+			// #4329
+			$robots = true;
+		} elseif ( bbp_is_single_view() ) {
+			if ( ! bbpress()->topic_query->query ) {
+				bbp_view_query(); // Populate bbpress()->topic_query.
+			}
+
+			bbpress()->topic_query->is_tax = false;
+
+			// Empty views
+			if ( ! bbpress()->topic_query->have_posts() ) {
+				$robots = true;
+			}
+		} elseif ( bbp_is_topic_tag() ) {
+			if ( ! bbpress()->topic_query->query ) {
+				bbp_has_topics(); // Populate bbpress()->topic_query.
+			}
+
+			// Check all threads
+			$individually_stale = array_map(
+				function( $topic ) {
+					// Thread is 'thin' and hasn't been replied to.
+					if (
+						strlen( $topic->post_content ) <= 100
+						&& ! bbp_get_topic_reply_count( $topic->ID, true )
+					) {
+						return 'stale';
+					}
+
+					// Thread is old
+					$last_modified_date = get_post_meta( $topic->ID, '_bbp_last_active_time', true ) ?: $topic->post_date;
+					if ( strtotime( $last_modified_date ) <= time() - 2*YEAR_IN_SECONDS ) {
+						return 'stale';
+					}
+
+					return 'fresh';
+				},
+				bbpress()->topic_query->posts
+			);
+
+			// See if all posts 'stale' by checking that no fresh topics exists
+			$all_topics_noindexed = array_search( 'fresh', $individually_stale, true ) === false;
+
+			// #4324, #4338
+			// Post count is <= 1
+			// Last Modified <= -2 years
+			// All topics are also noindexed ( See bbp_is_single_topic() logic )
+			if (
+				bbpress()->topic_query->post_count <= 1 ||
+				$all_topics_noindexed
+			) {
+				$robots = true;
+			}
+
+		} elseif ( bbp_is_single_topic() ) {
+			if ( ! bbpress()->reply_query->query ) {
+				bbp_has_replies(); // Populate bbpress()->reply_query.
+			}
+
+			// If no replies and short content - #4283
+			if (
+				! bbpress()->reply_query->has_posts() &&
+				strlen( bbp_get_topic_content() ) <= 100
+			) {
+				$robots = true;
+			}
+		}
+
+		if ( $robots ) {
+			echo '<meta name="robots" content="noindex, follow" />',"\n";
+		}
+	}
+
+	/**
+	 * Outputs rel="next", rel="prev" for paginated archives.
+	 */
+	public function rel_next_prev() {
+		global $wp_query;
+
+		list( $canonical_url ) = $this->get_canonical_url();
+
+		$max_pages = $wp_query->max_num_pages;
+
+		if ( bbp_is_single_view() ) {
+			if ( ! bbpress()->topic_query->query ) {
+				bbp_view_query();  // Populate bbpress()->topic_query.
+			}
+			bbpress()->topic_query->is_tax = false;
+			$max_pages = bbpress()->topic_query->max_num_pages;
+		} elseif ( bbp_is_single_topic() ) {
+			if ( ! bbpress()->reply_query->query ) {
+				bbp_has_replies(); // Populate bbpress()->reply_query.
+			}
+			$max_pages = bbpress()->reply_query->max_num_pages;
+		} elseif ( bbp_is_single_forum() ) {
+			$topic_count = get_post_meta( get_queried_object_id(), '_bbp_topic_count', true );
+			if ( $topic_count ) {
+				$max_pages = $topic_count / bbp_get_topics_per_page();
+			}
+		}
+
+		if ( ! $canonical_url || ! $max_pages ) {
+			return;
+		}
+
+		$page      = max( 1, get_query_var( 'paged', 0 ) );
+		$next_page = min( $page + 1, $max_pages );
+		$prev_page = max( $page - 1, 1 );
+
+		if ( $page < $max_pages ) {
+			$next_page_url = $canonical_url . 'page/' . absint( $next_page ) . '/';
+			echo '<link rel="next" href="' . esc_url( $next_page_url ) . '" />' . "\n";
+		}
+
+		if ( $page > 1 ) {
+			$prev_page_url = $canonical_url . ( $prev_page > 1 ? 'page/' . absint( $prev_page ) . '/' : '' );
+			echo '<link rel="prev" href="' . esc_url( $prev_page_url ) . '" />' . "\n";
+		}
+	}
+
 	/**
 	 * Displays a link to the new topic form.
 	 */
@@ -496,7 +732,8 @@ class Hooks {
 			?>
 			<p>
 				<label for="site_url"><?php _e( 'Link to the page you need help with:', 'wporg-forums' ) ?></label><br />
-				<input type="text" id="site_url" value="<?php echo esc_attr( $site_url ); ?>" size="40" name="site_url" maxlength="400" />
+				<input type="text" id="site_url" value="<?php echo esc_attr( $site_url ); ?>" size="40" name="site_url" maxlength="400" aria-describedby="site_url_description" /><br />
+				<em id="site_url_description"><?php _e( 'This link will only be shown to logged-in users.', 'wporg-forums' ); ?></em>
 			</p>
 			<?php
 		endif;
@@ -693,4 +930,40 @@ class Hooks {
 
 		return $r;
 	}
+
+	/**
+	 * Remove the redundant prefixes in the bbPress <title>.
+	 *
+	 * @param array $title The title format
+	 * @return array
+	 */
+	public function bbp_raw_title_array( $title ) {
+		if ( bbp_is_single_forum() || bbp_is_single_topic() || bbp_is_single_view() ) {
+			$title['format'] = '%s';
+		}
+
+		return $title;
+	}
+
+	/**
+	 * Don't 404 for user profile pages. Fixed in bbPress 2.6: https://bbpress.trac.wordpress.org/ticket/3047
+	 */
+	function disable_404_for_user_profile() {
+		if ( bbpress()->displayed_user && bbpress()->displayed_user->exists() ) {
+			status_header( 200 );
+		}
+	}
+
+	/**
+	 * Deindex Forum feeds.
+	 *
+	 * bbPress hooks in way earlier than most Core feed functions, so this is hooked to 'request' at priority 5.
+	 */
+	function deindex_forum_feeds( $query_vars ) {
+		if ( isset( $query_vars['feed'] ) ) {
+			header( 'X-Robots-Tag: noindex, follow' );
+		}
+
+		return $query_vars;
+	}
 }
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-performance-optimizations.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-performance-optimizations.php
index 7954f3ef0..1b05d16f2 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-performance-optimizations.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-performance-optimizations.php
@@ -33,6 +33,12 @@ class Performance_Optimizations {
 		// Redirect search results.
 		add_action( 'bbp_template_redirect', array( $this, 'redirect_search_results_to_google_search' ) );
 
+		// Redirect (.+)/page/[01]/ and (.+)?paged=[01] to $1
+		add_action( 'bbp_template_redirect', array( $this, 'redirect_page_zero_one' ) );
+
+		// Redirect Attachments to their file
+		add_action( 'bbp_template_redirect', array( $this, 'redirect_attachments' ) );
+
 		// REST API.
 		add_filter( 'rest_endpoints', array( $this, 'disable_rest_api_users_endpoint' ) );
 
@@ -42,6 +48,9 @@ class Performance_Optimizations {
 		// Disable canonical redirects for short post_names
 		add_filter( 'template_redirect', array( $this, 'maybe_disable_404_canonical' ), 9 );
 
+		// Disable the 'popular' view.
+		add_filter( 'bbp_register_views', array( $this, 'disable_popular_view' ) );
+
 	}
 
 	/**
@@ -123,6 +132,56 @@ class Performance_Optimizations {
 		exit;
 	}
 
+	/**
+	 * Redirects /page/[01]/, and /?paged=[01] requests to the archive root.
+	 */
+	public function redirect_page_zero_one() {
+		global $wp_query;
+
+		if (
+			isset( $wp_query->query['paged'] ) &&
+			in_array( $wp_query->query['paged'], [ 0, 1 ] ) &&
+			'POST' !== $_SERVER['REQUEST_METHOD']
+		) {
+			// Generate the current URL.
+			$current_url = $_SERVER['REQUEST_URI'];
+			// Remove the path components.
+			$current_url = preg_replace( '!^' . preg_quote( parse_url( home_url('/'), PHP_URL_PATH ), '!' ) . '!i', '', $current_url );
+			$current_url = home_url( $current_url );
+
+			// Remove any paged items
+			$pageless_url = $current_url;
+			$pageless_url = remove_query_arg( 'paged', $pageless_url );
+			$pageless_url = preg_replace( '!/page/[01]/?!i', '/', $pageless_url );
+
+			if ( $pageless_url !== $current_url ) {
+				wp_safe_redirect( $pageless_url, 301 );
+				exit;
+			}
+		}
+	}
+
+	public function redirect_attachments() {
+		if ( is_attachment() ) {
+			$url = wp_get_attachment_url( get_queried_object_id() );
+			if ( ! $url ) {
+				return;
+			}
+
+			if (
+				function_exists( 'jetpack_photon_url' ) &&
+				class_exists( '\Jetpack' ) &&
+				method_exists( '\Jetpack', 'get_active_modules' ) &&
+				in_array( 'photon', \Jetpack::get_active_modules() )
+			) {
+				$url = jetpack_photon_url( $url );
+			}
+
+			wp_redirect( $url, 301 );
+			exit;
+		}
+	}
+
 	public function pre_get_posts( $query ) {
 		/**
 		 * Feeds do not need to know the total count for a given query.
@@ -393,4 +452,11 @@ class Performance_Optimizations {
 		}
 		return $bound_id;
 	}
+
+	/**
+	 * Deregister the 'popular' view as it doesn't make sense on the Global Forums from a performance perspective.
+	 */
+	public function disable_popular_view() {
+		bbp_deregister_view( 'popular' );
+	}
 }
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-plugin-directory-compat.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-plugin-directory-compat.php
index cea9c2023..5478d43b3 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-plugin-directory-compat.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-plugin-directory-compat.php
@@ -74,8 +74,14 @@ class Plugin_Directory_Compat extends Directory_Compat {
 			return;
 		}
 
+		if ( '_redirect_' == $slug ) {
+			wp_safe_redirect( 'https://wordpress.org/plugins/', 301 );
+			exit;
+		}
+
 		$plugin = $this->get_object( $slug );
 		if ( ! $plugin ) {
+			status_header( 404 );
 			return;
 		}
 
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-ratings-compat.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-ratings-compat.php
index 408590480..6dfcb6ade 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-ratings-compat.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-ratings-compat.php
@@ -11,6 +11,8 @@ class Ratings_Compat {
 
 	var $filter = false;
 
+	var $old_title = null;
+
 	public function __construct( $args ) {
 		if ( ! class_exists( 'WPORG_Ratings' ) ) {
 			return;
@@ -45,6 +47,9 @@ class Ratings_Compat {
 			add_filter( 'posts_clauses', array( $this, 'add_filter_to_posts_clauses' ) );
 			add_action( 'pre_get_posts', array( $this, 'no_found_rows' ) );
 			add_filter( 'bbp_topic_pagination', array( $this, 'add_filter_topic_pagination' ) );
+
+			// <meta robots="noindex,follow"> for filtered views.
+			add_filter( 'wp_head', 'wp_no_robots' );
 		}
 
 		// Total reviews count. Can be altered using $this->filter if needed.
@@ -146,6 +151,10 @@ class Ratings_Compat {
 	 * @param int $topic_id The topic id
 	 */
 	public function get_topic_title( $title, $topic_id ) {
+
+		// save the title
+		$this->old_title = $title;
+
 		if ( bbp_is_single_view() && 'reviews' == bbp_get_view_id() ) {
 			$user_id = bbp_get_topic_author_id( $topic_id );
 			$rating = \WPORG_Ratings::get_user_rating( $this->compat, $this->slug, $user_id );
@@ -156,6 +165,18 @@ class Ratings_Compat {
 		return $title;
 	}
 
+	/**
+	 * Undo the above topic title change for specific cases
+	 *
+	 * @param string $title The topic title
+	 */
+	public function undo_topic_title( $title ) {
+		if ( !empty( $this->old_title ) ) {
+			return $this->old_title;
+		}
+		return $title;
+	}
+
 	public function do_view_header() {
 		if ( ! bbp_is_single_view() || 'reviews' != bbp_get_view_id() ) {
 			return;
@@ -163,7 +184,10 @@ class Ratings_Compat {
 
 		// Add the filter for topic titles here.
 		add_filter( 'bbp_get_topic_title', array( $this, 'get_topic_title' ), 10, 2 );
-		?>
+
+		// Undo the above filter, for titles of replies to reviews. See #meta4254
+		add_filter( 'bbp_get_topic_last_topic_title', array( $this, 'undo_topic_title' ), 10, 1 ); 
+?>
 <link itemprop="applicationCategory" href="http://schema.org/OtherApplication" />
 <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
 	<meta itemprop="price" content="0.00" />
@@ -390,6 +414,13 @@ class Ratings_Compat {
 			<li><?php printf( $report, esc_url( sprintf( home_url( '/%s/%s/' ), $this->compat, $this->slug ) ) ); ?></li>
 			<li><?php echo esc_html( $rate ); ?></li>
 			<li><?php esc_html_e( 'Please provide as much detail as you can to justify your rating and to help others.', 'wporg-forums' ); ?></li>
+			<li><?php
+				printf(
+					/* translators: %s: Forum user guide URL */
+					__( 'Please <a href="%s">do not add links to your review</a>, keep the review about your experience in text only.', 'wporg-forums' ),
+					esc_url( __( 'https://wordpress.org/support/forum-user-guide/faq/#why-are-links-not-allowed-in-reviews', 'wporg-forums' ) )
+				);
+			?></li>
 		</ul>
 		<?php
 	}
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-report-topic.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-report-topic.php
index 53b8acea7..5e499ca59 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-report-topic.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-report-topic.php
@@ -103,9 +103,18 @@ class Report_Topic {
 			return;
 		}
 
+		$topic_id = bbp_get_topic_id();
+
+		// Disallow closed support topics to be modlook reported after 6 months.
+		$last_active_post_date = get_post_field( 'post_date', bbp_get_topic_last_active_id( $topic_id ) );
+
+		if ( ( time() - strtotime( $last_active_post_date ) ) / MONTH_IN_SECONDS >= 6 ) {
+			return;
+		}
+
 		$current_user     = get_current_user_id();
 		$previous_reports = $this->get_previous_reports();
-		$is_reported      = has_term( 'modlook', 'topic-tag', bbp_get_topic_id() );
+		$is_reported      = has_term( 'modlook', 'topic-tag', $topic_id );
 
 		$report_text = '';
 
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-support-compat.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-support-compat.php
index 789c0b15f..0e84b368d 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-support-compat.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-support-compat.php
@@ -354,21 +354,25 @@ class Support_Compat {
 	public function load_compat_subscriptions() {
 		if ( class_exists( 'WordPressdotorg\Forums\Term_Subscription\Plugin' ) ) {
 			Plugin::get_instance()->plugin_subscriptions = new Term_Subscription\Plugin( array(
-				'taxonomy' => 'topic-plugin',
-				'labels'   => array(
+				'taxonomy'  => 'topic-plugin',
+				'directory' => Plugin::get_instance()->plugins,
+				'labels'    => array(
 					'subscribed_header'      => __( 'Subscribed Plugins', 'wporg-forums' ),
 					'subscribed_user_notice' => __( 'You are not currently subscribed to any plugins.', 'wporg-forums' ),
 					'subscribed_anon_notice' => __( 'This user is not currently subscribed to any plugins.', 'wporg-forums' ),
-					'receipt'                => __( 'You are receiving this email because you are subscribed to a plugin.', 'wporg-forums' ),
+					/* translators: %s: Plugin Name. */
+					'receipt'                => __( 'You are receiving this email because you are subscribed to the %s plugin.', 'wporg-forums' ),
 				),
 			) );
 			Plugin::get_instance()->theme_subscriptions = new Term_Subscription\Plugin( array(
-				'taxonomy' => 'topic-theme',
-				'labels'   => array(
+				'taxonomy'  => 'topic-theme',
+				'directory' => Plugin::get_instance()->themes,
+				'labels'    => array(
 					'subscribed_header'      => __( 'Subscribed Themes', 'wporg-forums' ),
 					'subscribed_user_notice' => __( 'You are not currently subscribed to any themes.', 'wporg-forums' ),
 					'subscribed_anon_notice' => __( 'This user is not currently subscribed to any themes.', 'wporg-forums' ),
-					'receipt'                => __( 'You are receiving this email because you are subscribed to a theme.', 'wporg-forums' ),
+					/* translators: %s: Theme Name. */
+					'receipt'                => __( 'You are receiving this email because you are subscribed to the %s theme.', 'wporg-forums' ),
 				),
 			) );
 		}
@@ -393,7 +397,7 @@ class Support_Compat {
 			"SELECT post_name
 			 FROM {$prefix}posts AS p
 			 LEFT JOIN {$prefix}term_relationships AS tr ON p.ID = tr.object_id
-			 LEFT JOIN {$prefix}term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id 
+			 LEFT JOIN {$prefix}term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
 			 LEFT JOIN {$prefix}terms AS t ON tt.term_id = t.term_id
 			 WHERE tt.taxonomy = 'plugin_committers' AND p.post_status = 'publish' AND p.post_type = 'plugin' AND t.slug = %s
 			 ORDER BY p.post_title ASC",
@@ -411,7 +415,7 @@ class Support_Compat {
 			"SELECT post_name
 			 FROM {$prefix}posts AS p
 			 LEFT JOIN {$prefix}term_relationships AS tr ON p.ID = tr.object_id
-			 LEFT JOIN {$prefix}term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id 
+			 LEFT JOIN {$prefix}term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
 			 LEFT JOIN {$prefix}terms AS t ON tt.term_id = t.term_id
 			 WHERE tt.taxonomy = 'plugin_contributors' AND p.post_status = 'publish' AND p.post_type = 'plugin' AND t.slug = %s
 			 ORDER BY p.post_title ASC",
diff --git wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-theme-directory-compat.php wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-theme-directory-compat.php
index 207df6035..7e51af683 100644
--- wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-theme-directory-compat.php
+++ wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-theme-directory-compat.php
@@ -74,8 +74,14 @@ class Theme_Directory_Compat extends Directory_Compat {
 			return;
 		}
 
+		if ( '_redirect_' == $slug ) {
+			wp_safe_redirect( 'https://wordpress.org/themes/', 301 );
+			exit;
+		}
+
 		$theme = $this->get_object( $slug );
 		if ( ! $theme ) {
+			status_header( 404 );
 			return;
 		} else {
 			$this->slug         = $slug;
diff --git wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-post-type.php wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-post-type.php
index 9bb3fc8ad..5c4284c00 100644
--- wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-post-type.php
+++ wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-post-type.php
@@ -138,7 +138,7 @@ class HelpHub_Post_Types_Post_Type {
 			/* translators: %s: Post type name. */
 			'view_item'          => sprintf( __( 'View %s', 'wporg-forums' ), $this->singular ),
 			/* translators: %s: Plural post type name. */
-			'search_items'       => sprintf( __( 'Search %a', 'wporg-forums' ), $this->plural ),
+			'search_items'       => sprintf( __( 'Search %s', 'wporg-forums' ), $this->plural ),
 			/* translators: %s: Plural post type name. */
 			'not_found'          => sprintf( __( 'No %s Found', 'wporg-forums' ), $this->plural ),
 			/* translators: %s: Plural post type name. */
@@ -282,10 +282,10 @@ class HelpHub_Post_Types_Post_Type {
 			/* translators: %s: Post type name. */
 			7  => sprintf( __( '%s saved.', 'wporg-forums' ), $this->singular ),
 			/* translators: %1$s: Post type name. %2$s: Lowercase post type name. %3$s: Post link tag. %4$s: Close post link tag. */
-			8  => sprintf( __( '%1$s submitted. %2$sPreview %3$s%4$s', 'wporg-forums' ), $this->singular, strtolower( $this->singular ), '<a target="_blank" href="' . esc_url( add_query_arg( 'preview', 'true', $permalink ) ) . '">', '</a>' ),
-			/* translators: %1$s: Post type name. %2$s: Lowercase post type name. */
-			9  => sprintf( __( '%1$s scheduled for: %1$s. %2$sPreview %2$s%3$s', 'wporg-forums' ), $this->singular, strtolower( $this->singular ), '<strong>' . date_i18n( __( 'M j, Y @ G:i', 'wporg-forums' ), strtotime( $post->post_date ) ) . '</strong>', '<a target="_blank" href="' . esc_url( $permalink ) . '">', '</a>' ),
-			/* translators: %1$s: Post type name. %2$s: Lowercase post type name. %3$s: Close post link tag. %4$s: Close post link tag. */
+			8  => sprintf( __( '%1$s submitted. %2$sPreview %3$s%4$s', 'wporg-forums' ), $this->singular, '<a target="_blank" href="' . esc_url( add_query_arg( 'preview', 'true', $permalink ) ) . '">', strtolower( $this->singular ), '</a>' ),
+			/* translators: %1$s: Post type name. %2$s: Lowercase post type name. %3$s: Date. %4$s: Post link tag. %5$s: Close post link tag. */
+			9  => sprintf( __( '%1$s scheduled for: %3$s. %4$sPreview %2$s%5$s', 'wporg-forums' ), $this->singular, strtolower( $this->singular ), '<strong>' . date_i18n( __( 'M j, Y @ G:i', 'wporg-forums' ), strtotime( $post->post_date ) ) . '</strong>', '<a target="_blank" href="' . esc_url( $permalink ) . '">', '</a>' ),
+			/* translators: %1$s: Post type name. %2$s: Lowercase post type name. %3$s: Post link tag. %4$s: Close post link tag. */
 			10 => sprintf( __( '%1$s draft updated. %3$sPreview %2$s%4$s', 'wporg-forums' ), $this->singular, strtolower( $this->singular ), '<a target="_blank" href="' . esc_url( add_query_arg( 'preview', 'true', $permalink ) ) . '">', '</a>' ),
 		);
 
diff --git wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-taxonomy.php wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-taxonomy.php
index beffded73..706450b9b 100644
--- wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-taxonomy.php
+++ wordpress.org/public_html/wp-content/plugins/support-helphub/inc/helphub-post-types/classes/class-helphub-post-types-taxonomy.php
@@ -109,6 +109,7 @@ class HelpHub_Post_Types_Taxonomy {
 			'public'            => true,
 			'hierarchical'      => true,
 			'show_ui'           => true,
+			'show_in_rest'      => true,
 			'show_admin_column' => true,
 			'query_var'         => true,
 			'show_in_nav_menus' => false,
diff --git wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/assets/css/style.css wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/assets/css/style.css
index c6c75a41e..6139a0c73 100644
--- wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/assets/css/style.css
+++ wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/assets/css/style.css
@@ -110,6 +110,10 @@
 /**
  * This should be inherited from p2-breathe
  */
+.table-of-contents .items li a {
+	word-break: break-word;
+}
+
 .table-of-contents .items li a,
 .table-of-contents .items li a:visited {
 	text-decoration: none;
diff --git wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/includes/class-table-of-contents-lite.php wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/includes/class-table-of-contents-lite.php
index 54c716061..89b6bcf68 100644
--- wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/includes/class-table-of-contents-lite.php
+++ wordpress.org/public_html/wp-content/plugins/support-helphub/inc/table-of-contents-lite/includes/class-table-of-contents-lite.php
@@ -150,7 +150,7 @@ class Table_Of_Contents_Lite {
 	 * Load style
 	 */
 	public function enqueue_scripts() {
-		wp_enqueue_style( 'table-of-contents', TABLE_OF_CONTENTS_URL . 'assets/css/style.css', array(), '1.0' );
+		wp_enqueue_style( 'table-of-contents', TABLE_OF_CONTENTS_URL . 'assets/css/style.css', array(), '1.0.1' );
 	}
 
 	/**
@@ -222,7 +222,7 @@ class Table_Of_Contents_Lite {
 	 */
 	public function add_toc( $content ) {
 
-		if ( ! is_singular() ) {
+		if ( ! is_singular() || is_embed() ) {
 			return $content;
 		}
 
diff --git wordpress.org/public_html/wp-content/plugins/support-helphub/support-helphub.php wordpress.org/public_html/wp-content/plugins/support-helphub/support-helphub.php
index 9df731da8..d3a6a0e52 100644
--- wordpress.org/public_html/wp-content/plugins/support-helphub/support-helphub.php
+++ wordpress.org/public_html/wp-content/plugins/support-helphub/support-helphub.php
@@ -23,4 +23,3 @@ require_once( dirname( __FILE__ ) . '/inc/table-of-contents-lite/table-of-conten
 require_once( dirname( __FILE__ ) . '/inc/helphub-front-page-blocks/helphub-front-page-blocks.php' );
 require_once( dirname( __FILE__ ) . '/inc/helphub-customroles/class-helphub-custom-roles.php' );
 require_once( dirname( __FILE__ ) . '/inc/helphub-manager/class-helphub-manager.php' );
-
diff --git wordpress.org/public_html/wp-content/plugins/theme-directory/class-themes-api.php wordpress.org/public_html/wp-content/plugins/theme-directory/class-themes-api.php
index a0e0cef1c..465340150 100644
--- wordpress.org/public_html/wp-content/plugins/theme-directory/class-themes-api.php
+++ wordpress.org/public_html/wp-content/plugins/theme-directory/class-themes-api.php
@@ -275,6 +275,7 @@ class Themes_API {
 
 			unset( $tags[ __( 'Features' ) ]['blavatar'] );
 			$tags[ __( 'Features' ) ]['footer-widgets'] = __( 'Footer Widgets' );
+			$tags[ __( 'Features' ) ]['custom-logo']    = __( 'Custom Logo' );
 			asort( $tags[ __( 'Features' ) ] ); // To move footer-widgets to the right place.
 
 			$tags[ __( 'Subject' ) ] = array(
@@ -290,6 +291,13 @@ class Themes_API {
 			);
 		}
 
+		// Pending https://core.trac.wordpress.org/ticket/46272
+		if ( ! isset( $wp_version ) || version_compare( $wp_version, '5.2-alpha', '>=' ) ) {
+			$tags[ __( 'Layout' ) ]['wide-blocks']    = __( 'Wide Blocks' );
+			$tags[ __( 'Features' ) ]['block-styles'] = __( 'Block Editor Styles' );
+			asort( $tags[ __( 'Features' ) ] ); // To move block-styles to the right place.
+		}
+
 		// Only return tag slugs, to stay compatible with bbpress-version of Themes API.
 		foreach ( $tags as $title => $group ) {
 			$tags[ $title ] = array_keys( $group );
@@ -428,7 +436,11 @@ class Themes_API {
 			$detaults['parent'] = true;
 		}
 
-		$this->fields = array_merge( $this->fields, $defaults, (array) $this->request->fields );
+		if ( isset( $this->request->fields ) ) {
+			$this->fields = array_merge( $this->fields, $defaults, (array) $this->request->fields );
+		} else {
+			$this->fields = array_merge( $this->fields, $defaults );
+		}
 
 		// If there is a cached result, return that.
 		$cache_key = sanitize_key( __METHOD__ . ':' . get_locale() . ':' . md5( serialize( $this->request ) . serialize( $this->fields ) ) );
diff --git wordpress.org/public_html/wp-content/plugins/theme-directory/theme-directory.php wordpress.org/public_html/wp-content/plugins/theme-directory/theme-directory.php
index 5ebac8292..2038f36d8 100644
--- wordpress.org/public_html/wp-content/plugins/theme-directory/theme-directory.php
+++ wordpress.org/public_html/wp-content/plugins/theme-directory/theme-directory.php
@@ -1093,6 +1093,11 @@ function wporg_themes_add_hreflang_link_attributes() {
 		return;
 	}
 
+	$path = wporg_themes_get_current_url( $path_only = true );
+	if ( ! $path ) {
+		return;
+	}
+
 	wp_cache_add_global_groups( array( 'locale-associations' ) );
 
 	if ( false === ( $sites = wp_cache_get( 'local-sites', 'locale-associations' ) ) ) {
@@ -1153,13 +1158,6 @@ function wporg_themes_add_hreflang_link_attributes() {
 		wp_cache_set( 'local-sites', $sites, 'locale-associations' );
 	}
 
-	if ( is_singular() ) {
-		$path = parse_url( get_permalink(), PHP_URL_PATH );
-	} else {
-		// WordPress doesn't have a good way to get the canonical version of non-singular urls.
-		$path = $_SERVER['REQUEST_URI']; // phpcs:ignore
-	}
-
 	foreach ( $sites as $site ) {
 		$url = sprintf(
 			'https://%swordpress.org%s',
@@ -1176,3 +1174,71 @@ function wporg_themes_add_hreflang_link_attributes() {
 	echo "\n";
 }
 add_action( 'wp_head', 'wporg_themes_add_hreflang_link_attributes' );
+
+/**
+ * Outputs X-Robots-Tag with noindex for feeds.
+ */
+function wporg_themes_noindex_for_feeds() {
+	if ( is_tag() ) {
+		header( 'X-Robots-Tag: noindex' );
+	}
+}
+add_action( 'themes_custom_feed_head', 'wporg_themes_noindex_for_feeds' );
+
+/**
+ * Outputs a <link rel="canonical"> on archive pages.
+ */
+function wporg_themes_archive_rel_canonical_link() {
+	if ( $url = wporg_themes_get_current_url() ) {
+		printf(
+			'<link rel="canonical" href="%s">' . "\n",
+			esc_url( $url )
+		);
+	}
+}
+add_action( 'wp_head', 'wporg_themes_archive_rel_canonical_link' );
+remove_action( 'wp_head', 'rel_canonical' );
+
+/**
+ * Get the current front-end requested URL.
+ */
+function wporg_themes_get_current_url( $path_only = false ) {
+	$queried_object = get_queried_object();
+	$link = false;
+
+	if ( get_query_var( 'browse' ) ) {
+		// The browse/% urls on the Theme directory are front-page-query alterations.
+		$link = home_url( 'browse/' . get_query_var( 'browse' ) . '/' );
+	} elseif ( is_author() ) {
+		// On WordPress.org get_author_posts_url() returns profile.wordpress.org links. Build it manually.
+		$link = home_url( 'author/' . $queried_object->user_nicename . '/' );
+	} elseif ( is_tax() || is_tag() || is_category() ) {
+		$link = get_term_link( $queried_object );
+	} elseif ( is_singular() ) {
+		$link = get_permalink( $queried_object );
+	} elseif ( is_search() ) {
+		$link = home_url( 'search/' . urlencode( get_query_var( 's' ) ) . '/' );
+	} elseif ( is_front_page() ) {
+		$link = home_url( '/' );
+	}
+
+
+	if ( $link && is_paged() ) {
+		if ( false !== stripos( $link, '?' ) ) {
+			$link = add_query_arg( 'paged', (int) get_query_var( 'paged' ), $link );
+		} else {
+			$link = rtrim( $link, '/' ) . '/page/' . (int) get_query_var( 'paged' ) . '/';
+		}
+	}
+
+	if ( $path_only && $link ) {
+		$path = parse_url( $link, PHP_URL_PATH );
+		if ( $query = parse_url( $link, PHP_URL_QUERY ) ) {
+			$path .= '?' . $query;
+		}
+
+		return $path;
+	}
+
+	return $link;
+}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php
index 4a6e7a6d6..f63d45efc 100644
--- wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php
+++ wordpress.org/public_html/wp-content/plugins/trac-notifications/trac-notifications.php
@@ -419,17 +419,16 @@ class wporg_trac_notifications {
 		#focuses, #components, #milestones, p.save-changes {
 			clear: both;
 		}
-		#milestones, p.save-changes {
-			padding-top: 1em;
+		#focuses ul {
+			margin: 0;
 		}
 		#focuses li {
 			display: inline-block !important;
 			list-style: none;
-			min-width: 15%;
-			margin-right: 30px;
+			width: 24%;
+			margin: 0;
 		}
 		#components > ul {
-			margin: 0 0 0 1% !important;
 			margin: 0;
 			padding: 0;
 		}
@@ -440,11 +439,20 @@ class wporg_trac_notifications {
 		#components > ul > li {
 			list-style: none;
 		}
+		#milestones ul {
+			margin: 0;
+		}
 		#milestones > ul > li {
 			float: left;
-			width: 25%;
+			width: 24%;
 			list-style: none;
 		}
+		#milestones, p.save-changes {
+			padding-top: 1em;
+		}
+		#milestones #show-completed {
+			width: 100%;
+		}
 		.completed-milestone {
 			display: none !important;
 		}
@@ -452,6 +460,15 @@ class wporg_trac_notifications {
 		#milestones.show-completed-milestones .completed-milestone {
 			display: list-item !important;
 		}
+		@media screen and (max-width: 450px) {
+			.make-core #components > ul,
+			#focuses li {
+				width: 100%;
+			}
+			#milestones > ul > li {
+				width: 49%;
+			}
+		}
 		</style>
 		<script>
 		jQuery(document).ready( function($) {
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-redirect/wporg-bbp-redirect.php wordpress.org/public_html/wp-content/plugins/wporg-bbp-redirect/wporg-bbp-redirect.php
index 6513a80a0..474f3996a 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-bbp-redirect/wporg-bbp-redirect.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-redirect/wporg-bbp-redirect.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Plugin Name: bbPress: Redirect
- * Description: Redirect bbPress 1 id-based slugs to new title-based slugs.
+ * Description: Redirect bbPress 1 id-based slugs and >200char slugs to new title-based slugs.
  * Version:     1.0
  * Author:      WordPress.org
  * Author URI:  https://wordpress.org/
@@ -54,23 +54,31 @@ class WPORG_bbPress_Old_Id_Redirect {
 			}
 
 			if ( in_array( $post_type, array( 'forum', 'topic' ) ) ) {
-				$maybe_id = get_query_var( 'name' );
+				$maybe_id = get_query_var( $post_type ); // 'name' will be truncated to 200char, topic and forum are not.
+
+				$meta_key = '_wp_old_slug';
 				if ( is_numeric( $maybe_id ) ) {
+					$meta_key = sprintf( '_bbp_old_%s_id', $post_type );
+
 					if ( absint( $maybe_id ) != $maybe_id ) {
 						return;
 					}
+
+					$maybe_id = absint( $maybe_id );
 				}
-				$post_id = $wpdb->get_var( $wpdb->prepare( "
-					SELECT post_id
+
+				$post_id = $wpdb->get_var( $wpdb->prepare(
+					"SELECT post_id
 					FROM $wpdb->postmeta, $wpdb->posts
 					WHERE ID = post_id
 						AND post_type = %s
 						AND meta_key = %s
-						AND meta_value = %d
+						AND meta_value = %s
 					LIMIT 1",
 					$post_type,
-					sprintf( '_bbp_old_%s_id', $post_type ),
-					$maybe_id ) );
+					$meta_key,
+					$maybe_id
+				) );
 				if ( $post_id ) {
 					$link = get_permalink( $post_id );
 					if ( $link ) {
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-term-subscription/inc/class-plugin.php wordpress.org/public_html/wp-content/plugins/wporg-bbp-term-subscription/inc/class-plugin.php
index 2ed9c80b7..08f77d4b1 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-bbp-term-subscription/inc/class-plugin.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-term-subscription/inc/class-plugin.php
@@ -11,15 +11,17 @@ class Plugin {
 
 	private $subscribers = array();
 
-	public $taxonomy = false;
-	public $labels   = array();
+	public $taxonomy  = false;
+	public $labels    = array();
+	public $directory = false;
 
 	const META_KEY = '_bbp_term_subscription';
 
 	public function __construct( $args = array() ) {
 		$r = wp_parse_args( $args, array(
-			'taxonomy' => 'topic-tag',
-			'labels'   => array(
+			'taxonomy'  => 'topic-tag',
+			'directory' => false,
+			'labels'    => array(
 				'subscribed_header'      => __( 'Subscribed Topic Tags', 'wporg-forums' ),
 				'subscribed_user_notice' => __( 'You are not currently subscribed to any topic tags.', 'wporg-forums' ),
 				'subscribed_anon_notice' => __( 'This user is not currently subscribed to any topic tags.', 'wporg-forums' ),
@@ -27,8 +29,9 @@ class Plugin {
 			),
 		) );
 
-		$this->taxonomy = $r['taxonomy'];
-		$this->labels   = $r['labels'];
+		$this->taxonomy  = $r['taxonomy'];
+		$this->labels    = $r['labels'];
+		$this->directory = $r['directory'];
 
 		add_action( 'bbp_init', array( $this, 'bbp_init' ) );
 	}
@@ -156,7 +159,7 @@ class Plugin {
 	 * @param mixed $anonymous_data Array of anonymous user data
 	 * @param int $topic_author The topic author id
 	 */
-	public function notify_term_subscribers_of_new_topic( $topic_id, $forum_id,  $anonymous_data = false, $topic_author = 0 ) {
+	public function notify_term_subscribers_of_new_topic( $topic_id, $forum_id, $anonymous_data = false, $topic_author = 0 ) {
 		$terms = get_the_terms( $topic_id, $this->taxonomy );
 		if ( ! $terms ) {
 			return;
@@ -184,6 +187,7 @@ class Plugin {
 
 		// Replace forum-specific messaging with term subscription messaging.
 		add_filter( 'bbp_forum_subscription_mail_message', array( $this, 'replace_forum_subscription_mail_message' ), 10, 4 );
+		add_filter( 'bbp_forum_subscription_mail_title',   array( $this, 'replace_forum_subscription_mail_title' ), 10, 2 );
 
 		// Replace forum subscriber list with term subscribers, avoiding duplicates.
 		add_filter( 'bbp_forum_subscription_user_ids', array( $this, 'add_term_subscribers_to_forum' ) );
@@ -192,8 +196,10 @@ class Plugin {
 		bbp_notify_forum_subscribers( $topic_id, $forum_id );
 
 		// Remove filters.
-		remove_filter( 'bbp_forum_subscription_user_ids', array( $this, 'add_term_subscribers_to_forum' ) );
+		remove_filter( 'bbp_forum_subscription_user_ids',     array( $this, 'add_term_subscribers_to_forum' ) );
 		remove_filter( 'bbp_forum_subscription_mail_message', array( $this, 'replace_forum_subscription_mail_message' ), 10 );
+		remove_filter( 'bbp_forum_subscription_mail_title',   array( $this, 'replace_forum_subscription_mail_title' ) );
+
 	}
 
 	/**
@@ -235,12 +241,31 @@ Login and visit the topic to reply to the topic or unsubscribe from these emails
 			$topic_author_name,
 			$topic_content,
 			$topic_url,
-			$this->labels['receipt']
+			// String may not have placeholders, ie. in the case of tags.
+			sprintf( $this->labels['receipt'], $this->directory ? $this->directory->title() : '' )
 		);
 
 		return $message;
 	}
 
+	/**
+	 * Replace the forum subscription subject/title with term-specific messaging.
+	 *
+	 * @param string $title The current title
+	 * @param int $topic_id The topic id
+	 */
+	public function replace_forum_subscription_mail_title( $title, $topic_id ) {
+		if ( $this->directory && $this->directory->title() ) {
+			$blog_name = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
+			$topic_title = strip_tags( bbp_get_topic_title( $topic_id ) );
+
+			// [WordPress.org] [Plugin Name] This is my threads
+			$title = sprintf( '[%s] [%s] %s', $blog_name, $this->directory->title(), $topic_title );
+		}
+
+		return $title;
+	}
+
 	/**
 	 * Use the existing bbp_notify_topic_subscribers() to send out term subscriptions for replies.
 	 * Avoid duplicate notifications for topic subscribers through the judicious use of filters within
@@ -280,6 +305,7 @@ Login and visit the topic to reply to the topic or unsubscribe from these emails
 
 		// Replace topic-specific messaging with term subscription messaging.
 		add_filter( 'bbp_subscription_mail_message', array( $this, 'replace_topic_subscription_mail_message' ), 10, 3 );
+		add_filter( 'bbp_subscription_mail_title',   array( $this, 'replace_topic_subscription_mail_title' ), 10, 3 );
 
 		// Replace forum subscriber list with term subscribers, avoiding duplicates.
 		add_filter( 'bbp_topic_subscription_user_ids', array( $this, 'add_term_subscribers_to_topic' ) );
@@ -289,7 +315,8 @@ Login and visit the topic to reply to the topic or unsubscribe from these emails
 
 		// Remove filters.
 		remove_filter( 'bbp_topic_subscription_user_ids', array( $this, 'add_term_subscribers_to_topic' ) );
-		remove_filter( 'bbp_subscription_mail_message', array( $this, 'replace_topic_subscription_mail_message' ), 10 );
+		remove_filter( 'bbp_subscription_mail_message',   array( $this, 'replace_topic_subscription_mail_message' ) );
+		remove_filter( 'bbp_subscription_mail_title',     array( $this, 'replace_topic_subscription_mail_title' ) );
 	}
 
 	/**
@@ -330,12 +357,32 @@ Login and visit the topic to reply to the topic or unsubscribe from these emails
 			$reply_author_name,
 			$reply_content,
 			$reply_url,
-			$this->labels['receipt']
+			// String may not have placeholders, ie. in the case of tags.
+			sprintf( $this->labels['receipt'], $this->directory ? $this->directory->title() : '' )
 		);
 
 		return $message;
 	}
 
+	/**
+	 * Replace the topic subscription subject/title with term-specific messaging.
+	 *
+	 * @param string $title    The current title
+	 * @param int    $reply_id The reply id
+	 * @param int    $topic_id The topic id
+	 */
+	public function replace_topic_subscription_mail_title( $title, $reply_id, $topic_id ) {
+		if ( $this->directory && $this->directory->title() ) {
+			$blog_name = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
+			$topic_title = strip_tags( bbp_get_topic_title( $topic_id ) );
+
+			// [WordPress.org] [Plugin Name] This is my threads
+			$title = sprintf( '[%s] [%s] %s', $blog_name, $this->directory->title(), $topic_title );
+		}
+
+		return $title;
+	}
+
 	/**
 	 * Add a term subscription block to the user's profile.
 	 */
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-topic-archive/wporg-bbp-topic-archive.php wordpress.org/public_html/wp-content/plugins/wporg-bbp-topic-archive/wporg-bbp-topic-archive.php
index 04cf63731..683f2ce2f 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-bbp-topic-archive/wporg-bbp-topic-archive.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-topic-archive/wporg-bbp-topic-archive.php
@@ -1,7 +1,7 @@
 <?php
 /**
  * Plugin Name: bbPress: Topic Archive
- * Description: Add noindex,nofollow to old topics.
+ * Description: Add noindex,follow to old topics and closed topics without responses.
  * Version:     1.0
  * Author:      WordPress.org
  * Author URI:  https://wordpress.org/
@@ -41,9 +41,15 @@ class WPORG_bbPress_Topic_Archive {
 		&&
 			bbp_is_topic( $post->ID )
 		&&
-			( time() - get_post_time( 'U', true, $post ) > YEAR_IN_SECONDS )
+			(
+				// Thread last modified is over 3 years old
+				( time() - get_post_time( 'U', true, bbp_get_topic_last_active_id( $post->ID ) ) > 3 * YEAR_IN_SECONDS )
+			||
+				// Closed thread with no replies
+				( bbp_is_topic_closed( $post->ID ) && ! bbp_get_topic_reply_count( $post->ID, true ) )
+			)
 		) {
-			echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
+			echo '<meta name="robots" content="noindex,follow" />' . "\n";
 		}
 	}
 } }
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.atwho.min.css wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.atwho.min.css
new file mode 100644
index 000000000..f770dc73b
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.atwho.min.css
@@ -0,0 +1 @@
+.atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:#fff;color:#000;border:1px solid #DDD;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,.1);min-width:120px;z-index:11110!important}.atwho-view .atwho-header{padding:5px;margin:5px;cursor:pointer;border-bottom:solid 1px #eaeff1;color:#6f8092;font-size:11px;font-weight:700}.atwho-view .atwho-header .small{color:#6f8092;float:right;padding-top:2px;margin-right:-5px;font-size:12px;font-weight:400}.atwho-view .atwho-header:hover{cursor:default}.atwho-view .cur{background:#36F;color:#fff}.atwho-view .cur small{color:#fff}.atwho-view strong{color:#36F}.atwho-view .cur strong{color:#fff;font:700}.atwho-view ul{list-style:none;padding:0;margin:auto;max-height:200px;overflow-y:auto}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid #DDD;cursor:pointer}.atwho-view small{font-size:smaller;color:#777;font-weight:400}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.atwho.min.js wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.atwho.min.js
new file mode 100644
index 000000000..857bb9312
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.atwho.min.js
@@ -0,0 +1 @@
+!function(t,e){"function"==typeof define&&define.amd?define(["jquery"],function(t){return e(t)}):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(this,function(t){var e,i;i={ESC:27,TAB:9,ENTER:13,CTRL:17,A:65,P:80,N:78,LEFT:37,UP:38,RIGHT:39,DOWN:40,BACKSPACE:8,SPACE:32},e={beforeSave:function(t){return r.arrayToDefaultHash(t)},matcher:function(t,e,i,n){var r,o,s,a,h;return t=t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),i&&(t="(?:^|\\s)"+t),r=decodeURI("%C3%80"),o=decodeURI("%C3%BF"),h=n?" ":"",a=new RegExp(t+"([A-Za-z"+r+"-"+o+"0-9_"+h+"'.+-]*)$|"+t+"([^\\x00-\\xff]*)$","gi"),s=a.exec(e),s?s[2]||s[1]:null},filter:function(t,e,i){var n,r,o,s;for(n=[],r=0,s=e.length;s>r;r++)o=e[r],~new String(o[i]).toLowerCase().indexOf(t.toLowerCase())&&n.push(o);return n},remoteFilter:null,sorter:function(t,e,i){var n,r,o,s;if(!t)return e;for(n=[],r=0,s=e.length;s>r;r++)o=e[r],o.atwho_order=new String(o[i]).toLowerCase().indexOf(t.toLowerCase()),o.atwho_order>-1&&n.push(o);return n.sort(function(t,e){return t.atwho_order-e.atwho_order})},tplEval:function(t,e){var i,n,r;r=t;try{return"string"!=typeof t&&(r=t(e)),r.replace(/\$\{([^\}]*)\}/g,function(t,i,n){return e[i]})}catch(n){return i=n,""}},highlighter:function(t,e){var i;return e?(i=new RegExp(">\\s*([^<]*?)("+e.replace("+","\\+")+")([^<]*)\\s*<","ig"),t.replace(i,function(t,e,i,n){return"> "+e+"<strong>"+i+"</strong>"+n+" <"})):t},beforeInsert:function(t,e,i){return t},beforeReposition:function(t){return t},afterMatchFailed:function(t,e){}};var n;n=function(){function e(e){this.currentFlag=null,this.controllers={},this.aliasMaps={},this.$inputor=t(e),this.setupRootElement(),this.listen()}return e.prototype.createContainer=function(e){var i;return null!=(i=this.$el)&&i.remove(),t(e.body).append(this.$el=t("<div class='atwho-container'></div>"))},e.prototype.setupRootElement=function(e,i){var n,r;if(null==i&&(i=!1),e)this.window=e.contentWindow,this.document=e.contentDocument||this.window.document,this.iframe=e;else{this.document=this.$inputor[0].ownerDocument,this.window=this.document.defaultView||this.document.parentWindow;try{this.iframe=this.window.frameElement}catch(r){if(n=r,this.iframe=null,t.fn.atwho.debug)throw new Error("iframe auto-discovery is failed.\nPlease use `setIframe` to set the target iframe manually.\n"+n)}}return this.createContainer((this.iframeAsRoot=i)?this.document:document)},e.prototype.controller=function(t){var e,i,n,r;if(this.aliasMaps[t])i=this.controllers[this.aliasMaps[t]];else{r=this.controllers;for(n in r)if(e=r[n],n===t){i=e;break}}return i?i:this.controllers[this.currentFlag]},e.prototype.setContextFor=function(t){return this.currentFlag=t,this},e.prototype.reg=function(t,e){var i,n;return n=(i=this.controllers)[t]||(i[t]=this.$inputor.is("[contentEditable]")?new l(this,t):new s(this,t)),e.alias&&(this.aliasMaps[e.alias]=t),n.init(e),this},e.prototype.listen=function(){return this.$inputor.on("compositionstart",function(t){return function(e){var i;return null!=(i=t.controller())&&i.view.hide(),t.isComposing=!0,null}}(this)).on("compositionend",function(t){return function(e){return t.isComposing=!1,setTimeout(function(e){return t.dispatch(e)}),null}}(this)).on("keyup.atwhoInner",function(t){return function(e){return t.onKeyup(e)}}(this)).on("keydown.atwhoInner",function(t){return function(e){return t.onKeydown(e)}}(this)).on("blur.atwhoInner",function(t){return function(e){var i;return(i=t.controller())?(i.expectedQueryCBId=null,i.view.hide(e,i.getOpt("displayTimeout"))):void 0}}(this)).on("click.atwhoInner",function(t){return function(e){return t.dispatch(e)}}(this)).on("scroll.atwhoInner",function(t){return function(){var e;return e=t.$inputor.scrollTop(),function(i){var n,r;return n=i.target.scrollTop,e!==n&&null!=(r=t.controller())&&r.view.hide(i),e=n,!0}}}(this)())},e.prototype.shutdown=function(){var t,e,i;i=this.controllers;for(t in i)e=i[t],e.destroy(),delete this.controllers[t];return this.$inputor.off(".atwhoInner"),this.$el.remove()},e.prototype.dispatch=function(t){var e,i,n,r;if(void 0!==t){n=this.controllers,r=[];for(e in n)i=n[e],r.push(i.lookUp(t));return r}},e.prototype.onKeyup=function(e){var n;switch(e.keyCode){case i.ESC:e.preventDefault(),null!=(n=this.controller())&&n.view.hide();break;case i.DOWN:case i.UP:case i.CTRL:case i.ENTER:t.noop();break;case i.P:case i.N:e.ctrlKey||this.dispatch(e);break;default:this.dispatch(e)}},e.prototype.onKeydown=function(e){var n,r;if(r=null!=(n=this.controller())?n.view:void 0,r&&r.visible())switch(e.keyCode){case i.ESC:e.preventDefault(),r.hide(e);break;case i.UP:e.preventDefault(),r.prev();break;case i.DOWN:e.preventDefault(),r.next();break;case i.P:if(!e.ctrlKey)return;e.preventDefault(),r.prev();break;case i.N:if(!e.ctrlKey)return;e.preventDefault(),r.next();break;case i.TAB:case i.ENTER:case i.SPACE:if(!r.visible())return;if(!this.controller().getOpt("spaceSelectsMatch")&&e.keyCode===i.SPACE)return;if(!this.controller().getOpt("tabSelectsMatch")&&e.keyCode===i.TAB)return;r.highlighted()?(e.preventDefault(),r.choose(e)):r.hide(e);break;default:t.noop()}},e}();var r,o=[].slice;r=function(){function i(e,i){this.app=e,this.at=i,this.$inputor=this.app.$inputor,this.id=this.$inputor[0].id||this.uid(),this.expectedQueryCBId=null,this.setting=null,this.query=null,this.pos=0,this.range=null,0===(this.$el=t("#atwho-ground-"+this.id,this.app.$el)).length&&this.app.$el.append(this.$el=t("<div id='atwho-ground-"+this.id+"'></div>")),this.model=new u(this),this.view=new c(this)}return i.prototype.uid=function(){return(Math.random().toString(16)+"000000000").substr(2,8)+(new Date).getTime()},i.prototype.init=function(e){return this.setting=t.extend({},this.setting||t.fn.atwho["default"],e),this.view.init(),this.model.reload(this.setting.data)},i.prototype.destroy=function(){return this.trigger("beforeDestroy"),this.model.destroy(),this.view.destroy(),this.$el.remove()},i.prototype.callDefault=function(){var i,n,r,s;s=arguments[0],i=2<=arguments.length?o.call(arguments,1):[];try{return e[s].apply(this,i)}catch(r){return n=r,t.error(n+" Or maybe At.js doesn't have function "+s)}},i.prototype.trigger=function(t,e){var i,n;return null==e&&(e=[]),e.push(this),i=this.getOpt("alias"),n=i?t+"-"+i+".atwho":t+".atwho",this.$inputor.trigger(n,e)},i.prototype.callbacks=function(t){return this.getOpt("callbacks")[t]||e[t]},i.prototype.getOpt=function(t,e){var i,n;try{return this.setting[t]}catch(n){return i=n,null}},i.prototype.insertContentFor=function(e){var i,n;return n=this.getOpt("insertTpl"),i=t.extend({},e.data("item-data"),{"atwho-at":this.at}),this.callbacks("tplEval").call(this,n,i,"onInsert")},i.prototype.renderView=function(t){var e;return e=this.getOpt("searchKey"),t=this.callbacks("sorter").call(this,this.query.text,t.slice(0,1001),e),this.view.render(t.slice(0,this.getOpt("limit")))},i.arrayToDefaultHash=function(e){var i,n,r,o;if(!t.isArray(e))return e;for(o=[],i=0,r=e.length;r>i;i++)n=e[i],t.isPlainObject(n)?o.push(n):o.push({name:n});return o},i.prototype.lookUp=function(t){var e,i;if((!t||"click"!==t.type||this.getOpt("lookUpOnClick"))&&(!this.getOpt("suspendOnComposing")||!this.app.isComposing))return(e=this.catchQuery(t))?(this.app.setContextFor(this.at),(i=this.getOpt("delay"))?this._delayLookUp(e,i):this._lookUp(e),e):(this.expectedQueryCBId=null,e)},i.prototype._delayLookUp=function(t,e){var i,n;return i=Date.now?Date.now():(new Date).getTime(),this.previousCallTime||(this.previousCallTime=i),n=e-(i-this.previousCallTime),n>0&&e>n?(this.previousCallTime=i,this._stopDelayedCall(),this.delayedCallTimeout=setTimeout(function(e){return function(){return e.previousCallTime=0,e.delayedCallTimeout=null,e._lookUp(t)}}(this),e)):(this._stopDelayedCall(),this.previousCallTime!==i&&(this.previousCallTime=0),this._lookUp(t))},i.prototype._stopDelayedCall=function(){return this.delayedCallTimeout?(clearTimeout(this.delayedCallTimeout),this.delayedCallTimeout=null):void 0},i.prototype._generateQueryCBId=function(){return{}},i.prototype._lookUp=function(e){var i;return i=function(t,e){return t===this.expectedQueryCBId?e&&e.length>0?this.renderView(this.constructor.arrayToDefaultHash(e)):this.view.hide():void 0},this.expectedQueryCBId=this._generateQueryCBId(),this.model.query(e.text,t.proxy(i,this,this.expectedQueryCBId))},i}();var s,a=function(t,e){function i(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},h={}.hasOwnProperty;s=function(e){function i(){return i.__super__.constructor.apply(this,arguments)}return a(i,e),i.prototype.catchQuery=function(){var t,e,i,n,r,o,s;return e=this.$inputor.val(),t=this.$inputor.caret("pos",{iframe:this.app.iframe}),s=e.slice(0,t),r=this.callbacks("matcher").call(this,this.at,s,this.getOpt("startWithSpace"),this.getOpt("acceptSpaceBar")),n="string"==typeof r,n&&r.length<this.getOpt("minLen",0)?void 0:(n&&r.length<=this.getOpt("maxLen",20)?(o=t-r.length,i=o+r.length,this.pos=o,r={text:r,headPos:o,endPos:i},this.trigger("matched",[this.at,r.text])):(r=null,this.view.hide()),this.query=r)},i.prototype.rect=function(){var e,i,n;if(e=this.$inputor.caret("offset",this.pos-1,{iframe:this.app.iframe}))return this.app.iframe&&!this.app.iframeAsRoot&&(i=t(this.app.iframe).offset(),e.left+=i.left,e.top+=i.top),n=this.app.document.selection?0:2,{left:e.left,top:e.top,bottom:e.top+e.height+n}},i.prototype.insert=function(t,e){var i,n,r,o,s;return i=this.$inputor,n=i.val(),r=n.slice(0,Math.max(this.query.headPos-this.at.length,0)),o=""===(o=this.getOpt("suffix"))?o:o||" ",t+=o,s=""+r+t+n.slice(this.query.endPos||0),i.val(s),i.caret("pos",r.length+t.length,{iframe:this.app.iframe}),i.is(":focus")||i.focus(),i.change()},i}(r);var l,a=function(t,e){function i(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},h={}.hasOwnProperty;l=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return a(n,e),n.prototype._getRange=function(){var t;return t=this.app.window.getSelection(),t.rangeCount>0?t.getRangeAt(0):void 0},n.prototype._setRange=function(e,i,n){return null==n&&(n=this._getRange()),n&&i?(i=t(i)[0],"after"===e?(n.setEndAfter(i),n.setStartAfter(i)):(n.setEndBefore(i),n.setStartBefore(i)),n.collapse(!1),this._clearRange(n)):void 0},n.prototype._clearRange=function(t){var e;return null==t&&(t=this._getRange()),e=this.app.window.getSelection(),null==this.ctrl_a_pressed?(e.removeAllRanges(),e.addRange(t)):void 0},n.prototype._movingEvent=function(t){var e;return"click"===t.type||(e=t.which)===i.RIGHT||e===i.LEFT||e===i.UP||e===i.DOWN},n.prototype._unwrap=function(e){var i;return e=t(e).unwrap().get(0),(i=e.nextSibling)&&i.nodeValue&&(e.nodeValue+=i.nodeValue,t(i).remove()),e},n.prototype.catchQuery=function(e){var n,r,o,s,a,h,l,u,c,p,f,d;if((d=this._getRange())&&d.collapsed){if(e.which===i.ENTER)return(r=t(d.startContainer).closest(".atwho-query")).contents().unwrap(),r.is(":empty")&&r.remove(),(r=t(".atwho-query",this.app.document)).text(r.text()).contents().last().unwrap(),void this._clearRange();if(/firefox/i.test(navigator.userAgent)){if(t(d.startContainer).is(this.$inputor))return void this._clearRange();e.which===i.BACKSPACE&&d.startContainer.nodeType===document.ELEMENT_NODE&&(c=d.startOffset-1)>=0?(o=d.cloneRange(),o.setStart(d.startContainer,c),t(o.cloneContents()).contents().last().is(".atwho-inserted")&&(a=t(d.startContainer).contents().get(c),this._setRange("after",t(a).contents().last()))):e.which===i.LEFT&&d.startContainer.nodeType===document.TEXT_NODE&&(n=t(d.startContainer.previousSibling),n.is(".atwho-inserted")&&0===d.startOffset&&this._setRange("after",n.contents().last()))}if(t(d.startContainer).closest(".atwho-inserted").addClass("atwho-query").siblings().removeClass("atwho-query"),(r=t(".atwho-query",this.app.document)).length>0&&r.is(":empty")&&0===r.text().length&&r.remove(),this._movingEvent(e)||r.removeClass("atwho-inserted"),r.length>0)switch(e.which){case i.LEFT:return this._setRange("before",r.get(0),d),void r.removeClass("atwho-query");case i.RIGHT:return this._setRange("after",r.get(0).nextSibling,d),void r.removeClass("atwho-query")}if(r.length>0&&(f=r.attr("data-atwho-at-query"))&&(r.empty().html(f).attr("data-atwho-at-query",null),this._setRange("after",r.get(0),d)),o=d.cloneRange(),o.setStart(d.startContainer,0),u=this.callbacks("matcher").call(this,this.at,o.toString(),this.getOpt("startWithSpace"),this.getOpt("acceptSpaceBar")),h="string"==typeof u,0===r.length&&h&&(s=d.startOffset-this.at.length-u.length)>=0&&(d.setStart(d.startContainer,s),r=t("<span/>",this.app.document).attr(this.getOpt("editableAtwhoQueryAttrs")).addClass("atwho-query"),d.surroundContents(r.get(0)),l=r.contents().last().get(0),l&&(/firefox/i.test(navigator.userAgent)?(d.setStart(l,l.length),d.setEnd(l,l.length),this._clearRange(d)):this._setRange("after",l,d))),!(h&&u.length<this.getOpt("minLen",0)))return h&&u.length<=this.getOpt("maxLen",20)?(p={text:u,el:r},this.trigger("matched",[this.at,p.text]),this.query=p):(this.view.hide(),this.query={el:r},r.text().indexOf(this.at)>=0&&(this._movingEvent(e)&&r.hasClass("atwho-inserted")?r.removeClass("atwho-query"):!1!==this.callbacks("afterMatchFailed").call(this,this.at,r)&&this._setRange("after",this._unwrap(r.text(r.text()).contents().first()))),null)}},n.prototype.rect=function(){var e,i,n;return n=this.query.el.offset(),n&&this.query.el[0].getClientRects().length?(this.app.iframe&&!this.app.iframeAsRoot&&(i=(e=t(this.app.iframe)).offset(),n.left+=i.left-this.$inputor.scrollLeft(),n.top+=i.top-this.$inputor.scrollTop()),n.bottom=n.top+this.query.el.height(),n):void 0},n.prototype.insert=function(t,e){var i,n,r,o,s;return this.$inputor.is(":focus")||this.$inputor.focus(),n=this.getOpt("functionOverrides"),n.insert?n.insert.call(this,t,e):(o=""===(o=this.getOpt("suffix"))?o:o||" ",i=e.data("item-data"),this.query.el.removeClass("atwho-query").addClass("atwho-inserted").html(t).attr("data-atwho-at-query",""+i["atwho-at"]+this.query.text).attr("contenteditable","false"),(r=this._getRange())&&(this.query.el.length&&r.setEndAfter(this.query.el[0]),r.collapse(!1),r.insertNode(s=this.app.document.createTextNode(""+o)),this._setRange("after",s,r)),this.$inputor.is(":focus")||this.$inputor.focus(),this.$inputor.change())},n}(r);var u;u=function(){function e(t){this.context=t,this.at=this.context.at,this.storage=this.context.$inputor}return e.prototype.destroy=function(){return this.storage.data(this.at,null)},e.prototype.saved=function(){return this.fetch()>0},e.prototype.query=function(t,e){var i,n,r;return n=this.fetch(),r=this.context.getOpt("searchKey"),n=this.context.callbacks("filter").call(this.context,t,n,r)||[],i=this.context.callbacks("remoteFilter"),n.length>0||!i&&0===n.length?e(n):i.call(this.context,t,e)},e.prototype.fetch=function(){return this.storage.data(this.at)||[]},e.prototype.save=function(t){return this.storage.data(this.at,this.context.callbacks("beforeSave").call(this.context,t||[]))},e.prototype.load=function(t){return!this.saved()&&t?this._load(t):void 0},e.prototype.reload=function(t){return this._load(t)},e.prototype._load=function(e){return"string"==typeof e?t.ajax(e,{dataType:"json"}).done(function(t){return function(e){return t.save(e)}}(this)):this.save(e)},e}();var c;c=function(){function e(e){this.context=e,this.$el=t("<div class='atwho-view'><ul class='atwho-view-ul'></ul></div>"),this.$elUl=this.$el.children(),this.timeoutID=null,this.context.$el.append(this.$el),this.bindEvent()}return e.prototype.init=function(){var t,e;return e=this.context.getOpt("alias")||this.context.at.charCodeAt(0),t=this.context.getOpt("headerTpl"),t&&1===this.$el.children().length&&this.$el.prepend(t),this.$el.attr({id:"at-view-"+e})},e.prototype.destroy=function(){return this.$el.remove()},e.prototype.bindEvent=function(){var e,i,n;return e=this.$el.find("ul"),i=0,n=0,e.on("mousemove.atwho-view","li",function(r){return function(r){var o;if((i!==r.clientX||n!==r.clientY)&&(i=r.clientX,n=r.clientY,o=t(r.currentTarget),!o.hasClass("cur")))return e.find(".cur").removeClass("cur"),o.addClass("cur")}}(this)).on("click.atwho-view","li",function(i){return function(n){return e.find(".cur").removeClass("cur"),t(n.currentTarget).addClass("cur"),i.choose(n),n.preventDefault()}}(this))},e.prototype.visible=function(){return t.expr.filters.visible(this.$el[0])},e.prototype.highlighted=function(){return this.$el.find(".cur").length>0},e.prototype.choose=function(t){var e,i;return(e=this.$el.find(".cur")).length&&(i=this.context.insertContentFor(e),this.context._stopDelayedCall(),this.context.insert(this.context.callbacks("beforeInsert").call(this.context,i,e,t),e),this.context.trigger("inserted",[e,t]),this.hide(t)),this.context.getOpt("hideWithoutSuffix")?this.stopShowing=!0:void 0},e.prototype.reposition=function(e){var i,n,r,o;return i=this.context.app.iframeAsRoot?this.context.app.window:window,e.bottom+this.$el.height()-t(i).scrollTop()>t(i).height()&&(e.bottom=e.top-this.$el.height()),e.left>(r=t(i).width()-this.$el.width()-5)&&(e.left=r),n={left:e.left,top:e.bottom},null!=(o=this.context.callbacks("beforeReposition"))&&o.call(this.context,n),this.$el.offset(n),this.context.trigger("reposition",[n])},e.prototype.next=function(){var t,e,i,n;return t=this.$el.find(".cur").removeClass("cur"),e=t.next(),e.length||(e=this.$el.find("li:first")),e.addClass("cur"),i=e[0],n=i.offsetTop+i.offsetHeight+(i.nextSibling?i.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,n-this.$el.height()))},e.prototype.prev=function(){var t,e,i,n;return t=this.$el.find(".cur").removeClass("cur"),i=t.prev(),i.length||(i=this.$el.find("li:last")),i.addClass("cur"),n=i[0],e=n.offsetTop+n.offsetHeight+(n.nextSibling?n.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,e-this.$el.height()))},e.prototype.scrollTop=function(t){var e;return e=this.context.getOpt("scrollDuration"),e?this.$elUl.animate({scrollTop:t},e):this.$elUl.scrollTop(t)},e.prototype.show=function(){var t;return this.stopShowing?void(this.stopShowing=!1):(this.visible()||(this.$el.show(),this.$el.scrollTop(0),this.context.trigger("shown")),(t=this.context.rect())?this.reposition(t):void 0)},e.prototype.hide=function(t,e){var i;if(this.visible())return isNaN(e)?(this.$el.hide(),this.context.trigger("hidden",[t])):(i=function(t){return function(){return t.hide()}}(this),clearTimeout(this.timeoutID),this.timeoutID=setTimeout(i,e))},e.prototype.render=function(e){var i,n,r,o,s,a,h;if(!(t.isArray(e)&&e.length>0))return void this.hide();for(this.$el.find("ul").empty(),n=this.$el.find("ul"),h=this.context.getOpt("displayTpl"),r=0,s=e.length;s>r;r++)o=e[r],o=t.extend({},o,{"atwho-at":this.context.at}),a=this.context.callbacks("tplEval").call(this.context,h,o,"onDisplay"),i=t(this.context.callbacks("highlighter").call(this.context,a,this.context.query.text)),i.data("item-data",o),n.append(i);return this.show(),this.context.getOpt("highlightFirst")?n.find("li:first").addClass("cur"):void 0},e}();var p;p={load:function(t,e){var i;return(i=this.controller(t))?i.model.load(e):void 0},isSelecting:function(){var t;return!!(null!=(t=this.controller())?t.view.visible():void 0)},hide:function(){var t;return null!=(t=this.controller())?t.view.hide():void 0},reposition:function(){var t;return(t=this.controller())?t.view.reposition(t.rect()):void 0},setIframe:function(t,e){return this.setupRootElement(t,e),null},run:function(){return this.dispatch()},destroy:function(){return this.shutdown(),this.$inputor.data("atwho",null)}},t.fn.atwho=function(e){var i,r;return i=arguments,r=null,this.filter('textarea, input, [contenteditable=""], [contenteditable=true]').each(function(){var o,s;return(s=(o=t(this)).data("atwho"))||o.data("atwho",s=new n(this)),"object"!=typeof e&&e?p[e]&&s?r=p[e].apply(s,Array.prototype.slice.call(i,1)):t.error("Method "+e+" does not exist on jQuery.atwho"):s.reg(e.at,e)}),null!=r?r:this},t.fn.atwho["default"]={at:void 0,alias:void 0,data:null,displayTpl:"<li>${name}</li>",insertTpl:"${atwho-at}${name}",headerTpl:null,callbacks:e,functionOverrides:{},searchKey:"name",suffix:void 0,hideWithoutSuffix:!1,startWithSpace:!0,acceptSpaceBar:!1,highlightFirst:!0,limit:5,maxLen:20,minLen:0,displayTimeout:300,delay:null,spaceSelectsMatch:!1,tabSelectsMatch:!0,editableAtwhoQueryAttrs:{},scrollDuration:150,suspendOnComposing:!0,lookUpOnClick:!0},t.fn.atwho.debug=!1});
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.caret.min.js wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.caret.min.js
new file mode 100644
index 000000000..a25584e2a
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/jquery.caret.min.js
@@ -0,0 +1,2 @@
+/*! jquery.caret 2016-02-27 */
+!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){"use strict";var b,c,d,e,f,g,h,i,j,k,l;k="caret",b=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.setPos=function(a){var b,c,d,e;return(e=j.getSelection())&&(d=0,c=!1,(b=function(a,f){var g,i,j,k,l,m;for(l=f.childNodes,m=[],j=0,k=l.length;k>j&&(g=l[j],!c);j++)if(3===g.nodeType){if(d+g.length>=a){c=!0,i=h.createRange(),i.setStart(g,a-d),e.removeAllRanges(),e.addRange(i);break}m.push(d+=g.length)}else m.push(b(a,g));return m})(a,this.domInputor)),this.domInputor},b.prototype.getIEPosition=function(){return this.getPosition()},b.prototype.getPosition=function(){var a,b;return b=this.getOffset(),a=this.$inputor.offset(),b.left-=a.left,b.top-=a.top,b},b.prototype.getOldIEPos=function(){var a,b;return b=h.selection.createRange(),a=h.body.createTextRange(),a.moveToElementText(this.domInputor),a.setEndPoint("EndToEnd",b),a.text.length},b.prototype.getPos=function(){var a,b,c;return(c=this.range())?(a=c.cloneRange(),a.selectNodeContents(this.domInputor),a.setEnd(c.endContainer,c.endOffset),b=a.toString().length,a.detach(),b):h.selection?this.getOldIEPos():void 0},b.prototype.getOldIEOffset=function(){var a,b;return a=h.selection.createRange().duplicate(),a.moveStart("character",-1),b=a.getBoundingClientRect(),{height:b.bottom-b.top,left:b.left,top:b.top}},b.prototype.getOffset=function(){var b,c,d,e,f;return j.getSelection&&(d=this.range())?(d.endOffset-1>0&&d.endContainer!==this.domInputor&&(b=d.cloneRange(),b.setStart(d.endContainer,d.endOffset-1),b.setEnd(d.endContainer,d.endOffset),e=b.getBoundingClientRect(),c={height:e.height,left:e.left+e.width,top:e.top},b.detach()),c&&0!==(null!=c?c.height:void 0)||(b=d.cloneRange(),f=a(h.createTextNode("|")),b.insertNode(f[0]),b.selectNode(f[0]),e=b.getBoundingClientRect(),c={height:e.height,left:e.left,top:e.top},f.remove(),b.detach())):h.selection&&(c=this.getOldIEOffset()),c&&(c.top+=a(j).scrollTop(),c.left+=a(j).scrollLeft()),c},b.prototype.range=function(){var a;if(j.getSelection)return a=j.getSelection(),a.rangeCount>0?a.getRangeAt(0):null},b}(),c=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.getIEPos=function(){var a,b,c,d,e,f,g;return b=this.domInputor,f=h.selection.createRange(),e=0,f&&f.parentElement()===b&&(d=b.value.replace(/\r\n/g,"\n"),c=d.length,g=b.createTextRange(),g.moveToBookmark(f.getBookmark()),a=b.createTextRange(),a.collapse(!1),e=g.compareEndPoints("StartToEnd",a)>-1?c:-g.moveStart("character",-c)),e},b.prototype.getPos=function(){return h.selection?this.getIEPos():this.domInputor.selectionStart},b.prototype.setPos=function(a){var b,c;return b=this.domInputor,h.selection?(c=b.createTextRange(),c.move("character",a),c.select()):b.setSelectionRange&&b.setSelectionRange(a,a),b},b.prototype.getIEOffset=function(a){var b,c,d,e;return c=this.domInputor.createTextRange(),a||(a=this.getPos()),c.move("character",a),d=c.boundingLeft,e=c.boundingTop,b=c.boundingHeight,{left:d,top:e,height:b}},b.prototype.getOffset=function(b){var c,d,e;return c=this.$inputor,h.selection?(d=this.getIEOffset(b),d.top+=a(j).scrollTop()+c.scrollTop(),d.left+=a(j).scrollLeft()+c.scrollLeft(),d):(d=c.offset(),e=this.getPosition(b),d={left:d.left+e.left-c.scrollLeft(),top:d.top+e.top-c.scrollTop(),height:e.height})},b.prototype.getPosition=function(a){var b,c,e,f,g,h,i;return b=this.$inputor,f=function(a){return a=a.replace(/<|>|`|"|&/g,"?").replace(/\r\n|\r|\n/g,"<br/>"),/firefox/i.test(navigator.userAgent)&&(a=a.replace(/\s/g,"&nbsp;")),a},void 0===a&&(a=this.getPos()),i=b.val().slice(0,a),e=b.val().slice(a),g="<span style='position: relative; display: inline;'>"+f(i)+"</span>",g+="<span id='caret' style='position: relative; display: inline;'>|</span>",g+="<span style='position: relative; display: inline;'>"+f(e)+"</span>",h=new d(b),c=h.create(g).rect()},b.prototype.getIEPosition=function(a){var b,c,d,e,f;return d=this.getIEOffset(a),c=this.$inputor.offset(),e=d.left-c.left,f=d.top-c.top,b=d.height,{left:e,top:f,height:b}},b}(),d=function(){function b(a){this.$inputor=a}return b.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","whiteSpace","wordBreak","wordWrap"],b.prototype.mirrorCss=function(){var b,c=this;return b={position:"absolute",left:-9999,top:0,zIndex:-2e4},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),a.each(this.css_attr,function(a,d){return b[d]=c.$inputor.css(d)}),b},b.prototype.create=function(b){return this.$mirror=a("<div></div>"),this.$mirror.css(this.mirrorCss()),this.$mirror.html(b),this.$inputor.after(this.$mirror),this},b.prototype.rect=function(){var a,b,c;return a=this.$mirror.find("#caret"),b=a.position(),c={left:b.left,top:b.top,height:a.height()},this.$mirror.remove(),c},b}(),e={contentEditable:function(a){return!(!a[0].contentEditable||"true"!==a[0].contentEditable)}},g={pos:function(a){return a||0===a?this.setPos(a):this.getPos()},position:function(a){return h.selection?this.getIEPosition(a):this.getPosition(a)},offset:function(a){var b;return b=this.getOffset(a)}},h=null,j=null,i=null,l=function(a){var b;return(b=null!=a?a.iframe:void 0)?(i=b,j=b.contentWindow,h=b.contentDocument||j.document):(i=void 0,j=window,h=document)},f=function(a){var b;h=a[0].ownerDocument,j=h.defaultView||h.parentWindow;try{return i=j.frameElement}catch(c){b=c}},a.fn.caret=function(d,f,h){var i;return g[d]?(a.isPlainObject(f)?(l(f),f=void 0):l(h),i=e.contentEditable(this)?new b(this):new c(this),g[d].apply(i,[f])):a.error("Method "+d+" does not exist on jQuery.caret")},a.fn.caret.EditableCaret=b,a.fn.caret.InputCaret=c,a.fn.caret.Utils=e,a.fn.caret.apis=g});
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.css wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.css
new file mode 100644
index 000000000..57ed2dc0d
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.css
@@ -0,0 +1,61 @@
+/**
+ * Autocomplete via At.js.
+ * This bas been borrowed from wp-trac.css.
+ */
+
+.atwho-container {
+	font-size: 13px;
+}
+
+.atwho-view {
+	position: absolute;
+	top: 0;
+	left: 0;
+	display: none;
+	margin-top: 18px;
+	background: #fff;
+	color: black;
+	border: 1px solid #ccc;
+	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+	box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+	min-width: 120px;
+	max-height: 200px;
+	overflow: auto;
+	z-index: 11110 !important;
+}
+
+.atwho-view .cur {
+	background: #0073aa;
+	color: #fff;
+}
+
+.atwho-view .cur small {
+	color: #fff;
+}
+
+.atwho-view strong {
+	color: #0073aa;
+}
+
+.atwho-view .cur strong {
+	color: #fff !important;
+	font: bold;
+}
+
+.atwho-view ul {
+	/* width: 100px; */
+	list-style: none;
+	padding: 0;
+	margin: auto;
+}
+
+.atwho-view ul li {
+	display: block;
+	padding: 5px 10px;
+	border-bottom: 1px solid #ccc;
+	cursor: pointer;
+}
+
+.atwho-view ul li:last-child {
+	border-bottom: 0;
+}
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.js wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.js
new file mode 100644
index 000000000..c7fba930e
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.js
@@ -0,0 +1,79 @@
+/* globals wporgUserMentionAutocompleteData */
+var wporgUserMentionAutocomplete;
+
+(function($){
+
+	wporgUserMentionAutocomplete = (function() {
+		var threadParticipants = [],
+			settings = wporgUserMentionAutocompleteData || [],
+			currentUser = settings.currentUser || false;
+
+		return {
+			init: function() {
+
+				wporgUserMentionAutocomplete.initThreadParticipants();
+
+				$( 'textarea.bbp-the-content.wp-editor-area' ).atwho({
+					at: '@',
+					callbacks: {
+						filter: function( query ) {
+							return wporgUserMentionAutocomplete.filterUsers( threadParticipants, query );
+						}
+					}
+				});
+			},
+
+			filterUsers: function( users, query ) {
+				// Bail out if the query is empty.
+				if ( '' === query ) {
+					return users;
+				}
+
+				var results = [],
+					regex = new RegExp( '^' + query, 'ig' ); // start of string
+
+				$.each( users, function( key, value ){
+					if ( value.toLowerCase().match( regex ) ) {
+						if ( value !== currentUser ) {
+							results.push( value );
+						}
+					}
+				});
+
+				return results;
+			},
+
+			initThreadParticipants: function() {
+				var users = [];
+
+				// Most recent should show up first.
+				$( $( 'p.bbp-user-nicename' ).get().reverse() ).each( function() {
+					var username = $(this).text().replace(/(^\(@|\)$)/g, '');
+					if (
+						-1 === $.inArray( username, users ) &&
+						username !== currentUser
+					) {
+						users.push( username );
+					}
+				});
+
+				// Include users mentioned
+				$( 'a.mention' ).each( function() {
+					var username = $(this).text().replace(/^@/, '');
+					if (
+						-1 === $.inArray( username, users ) &&
+						username !== currentUser
+					) {
+						users.push( username );
+					}
+				} );
+
+				threadParticipants = users;
+			},
+
+		};
+	})();
+
+	$(document).ready( wporgUserMentionAutocomplete.init );
+
+})(jQuery);
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.php wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.php
new file mode 100644
index 000000000..74511e173
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-mention-autocomplete/wporg-bbp-user-mention-autocomplete.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Plugin Name: bbPress: User Mention Autocomplete
+ * Description: Add User Mention Autocompletion to WordPress.org forums.
+ * Version:     1.0
+ * Author:      WordPress.org
+ * Author URI:  https://wordpress.org/
+ * License:     GPLv2 or later
+ */
+
+/**
+ *	This program is free software; you can redistribute it and/or modify
+ *	it under the terms of the GNU General Public License, version 2, as
+ *	published by the Free Software Foundation.
+ *
+ *	This program is distributed in the hope that it will be useful,
+ *	but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *	GNU General Public License for more details.
+ *
+ *	You should have received a copy of the GNU General Public License
+ *	along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+if ( ! defined( 'ABSPATH' ) ) exit;
+
+if ( ! class_exists( 'WPORG_bbPress_User_Mention_Autocomplete' ) ) {
+class WPORG_bbPress_User_Mention_Autocomplete {
+
+	public function __construct() {
+		add_action( 'bbp_head', [ $this, 'wp_head' ] );
+	}
+
+	public function wp_head() {
+
+		if (
+			! is_user_logged_in() ||
+			! bbp_current_user_can_access_create_reply_form() ||
+			! bbp_is_single_topic()
+		) {
+			return;
+		}
+
+		wp_enqueue_script( 'wporg-bbp-user-mention-autocomplete', plugins_url( 'wporg-bbp-user-mention-autocomplete.js', __FILE__ ), [ 'jquery', 'jquery-atwho' ], 1, true );
+		wp_localize_script( 'wporg-bbp-user-mention-autocomplete', 'wporgUserMentionAutocompleteData', [
+			'currentUser' => wp_get_current_user()->user_login,
+		]);
+		wp_enqueue_style( 'wporg-bbp-user-mention-autocomplete', plugins_url( 'wporg-bbp-user-mention-autocomplete.css', __FILE__ ), [], 1 );
+
+		wp_register_script( 'jquery-atwho', plugins_url( 'jquery.atwho.min.js', __FILE__ ), [ 'jquery', 'jquery-caret' ], '1.5.0', true );
+		wp_register_script( 'jquery-caret', plugins_url( 'jquery.caret.min.js', __FILE__ ), [ 'jquery' ], '2016-02-27', true );
+		// wp_enqueue_style( 'jquery-atwho', plugins_url( 'jquery.atwho.min.css', __FILE__ ), [], '1.5.0' );
+	}
+} }
+
+new WPORG_bbPress_User_Mention_AutoComplete;
+
diff --git wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-moderation/inc/class-plugin.php wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-moderation/inc/class-plugin.php
index d439f924a..4c052f153 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-moderation/inc/class-plugin.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-bbp-user-moderation/inc/class-plugin.php
@@ -62,6 +62,9 @@ class Plugin {
 			add_filter( 'bbp_edit_topic_pre_insert', array( $this, 'pre_insert' ) );
 			add_filter( 'bbp_new_reply_pre_insert',  array( $this, 'pre_insert' ) );
 			add_filter( 'bbp_edit_reply_pre_insert', array( $this, 'pre_insert' ) );
+
+			// Prevent editing their topics/replies.
+			add_filter( 'bbp_map_meta_caps', array( $this, 'bbp_map_meta_caps' ), 100, 4 );
 		}
 
 		// Alter queries for the current user.
@@ -310,4 +313,31 @@ class Plugin {
 			'wporg_bbp_unflag_user',
 		);
 	}
+
+	public function bbp_map_meta_caps( $caps, $cap, $user_id, $args ) {
+		$limited_caps = array(
+			'edit_topic',
+			'edit_reply',
+		);
+
+		if ( in_array( $cap, $limited_caps, true ) ) {
+			$do_not_allow = array( 'do_not_allow' );
+
+			if ( ! isset( $args[0] ) ) {
+				// No post was specified.. Do not allow editing of an unknown.
+				$caps = $do_not_allow;
+			} else {
+				// If we can't find the post OR the post is NOT pending.. do not allow
+				$_post = get_post( $args[0] );
+				if ( ! $_post || $_post->post_status !== bbp_get_pending_status_id() ) {
+					$caps = $do_not_allow;
+				}
+				// else {
+				// 	// We found the post, and it's status is pending.. fall-through and allow.
+				// }
+			}
+		}
+
+		return $caps;
+	}
 }
diff --git wordpress.org/public_html/wp-content/plugins/wporg-cli/inc/class-handbook.php wordpress.org/public_html/wp-content/plugins/wporg-cli/inc/class-handbook.php
index ac8a56b34..b25923a35 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-cli/inc/class-handbook.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-cli/inc/class-handbook.php
@@ -12,6 +12,7 @@ class Handbook {
 		if ( ! is_singular( 'handbook' )
 			|| ! is_main_query()
 			|| ! in_the_loop()
+			|| is_embed()
 			|| $id !== get_queried_object_id() ) {
 			return $title;
 		}
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-custom-warnings/wporg-gp-custom-warnings.php wordpress.org/public_html/wp-content/plugins/wporg-gp-custom-warnings/wporg-gp-custom-warnings.php
index 77ff1f0aa..5bb6aeea7 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-custom-warnings/wporg-gp-custom-warnings.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-custom-warnings/wporg-gp-custom-warnings.php
@@ -29,7 +29,7 @@ class WPorg_GP_Custom_Translation_Warnings {
 	 *
 	 * This allows for the scheme to change, and for WordPress.org URL's to change to a subdomain.
 	 *
-	 * @param string $original    The orignal string.
+	 * @param string $original    The original string.
 	 * @param string $translation The translated string.
 	 */
 	public function warning_mismatching_urls( $original, $translation ) {
@@ -95,6 +95,42 @@ class WPorg_GP_Custom_Translation_Warnings {
 		return trim( $error );
 	}
 
+
+	/**
+	 * Adds a warning for changing placeholders.
+	 *
+	 * This only supports placeholders in the format of '###[A-Z_]+###'.
+	 *
+	 * @param string $original    The original string.
+	 * @param string $translation The translated string.
+	 */
+	public function warning_mismatching_placeholders( $original, $translation ) {
+		$placeholder_regex = '@(###[A-Z_]+###)@';
+
+		preg_match_all( $placeholder_regex, $original, $original_placeholders );
+		$original_placeholders = array_unique( $original_placeholders[0] );
+
+		preg_match_all( $placeholder_regex, $translation, $translation_placeholders );
+		$translation_placeholders = array_unique( $translation_placeholders[0] );
+
+		$missing_placeholders = array_diff( $original_placeholders, $translation_placeholders );
+		$added_placeholders = array_diff( $translation_placeholders, $original_placeholders );
+		if ( ! $missing_placeholders && ! $added_placeholders ) {
+			return true;
+		}
+
+		// Error.
+		$error = '';
+		if ( $missing_placeholders ) {
+			$error .= "The translation appears to be missing the following placeholders: " . implode( ', ', $missing_placeholders ) . "\n";
+		}
+		if ( $added_placeholders ) {
+			$error .= "The translation contains the following unexpected placeholders: " . implode( ', ', $added_placeholders );
+		}
+
+		return trim( $error );
+	}
+
 	/**
 	 * Registers all methods starting with warning_ with GlotPress.
 	 */
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-export.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-export.php
index fb6832e8d..f872fd8da 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-export.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-export.php
@@ -165,7 +165,7 @@ class Export extends WP_CLI_Command {
 	}
 
 	/**
-	 * Builds a mapping of JS file names to translation entries.
+	 * Builds a a separate JSON file with translations for each JavaScript file.
 	 *
 	 * @param GP_Project          $gp_project The GlotPress project.
 	 * @param GP_Locale           $gp_locale  The GlotPress locale.
@@ -175,12 +175,19 @@ class Export extends WP_CLI_Command {
 	 * @return array An array of translation files built, may be empty if no translations in JS files exist.
 	 */
 	private function build_json_files( $gp_project, $gp_locale, $set, $mapping, $base_dest ) {
-		// Export translations for each JS file to a separate translation file.
 		$files  = array();
 		$format = gp_array_get( GP::$formats, 'jed1x' );
+
 		foreach ( $mapping as $file => $entries ) {
+			// Get the translations in Jed 1.x compatible JSON format.
 			$json_content = $format->print_exported_file( $gp_project, $gp_locale, $set, $entries );
 
+			// Decode and add comment with file reference for debugging.
+			$json_content_decoded          = json_decode( $json_content );
+			$json_content_decoded->comment = [ 'reference' => $file ];
+
+			$json_content = wp_json_encode( $json_content_decoded );
+
 			$hash = md5( $file );
 			$dest = "{$base_dest}-{$hash}.json";
 
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-language-pack.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-language-pack.php
index 0252d9fe7..4f79b21b9 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-language-pack.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-language-pack.php
@@ -6,6 +6,7 @@ use GP;
 use GP_Locales;
 use stdClass;
 use WP_CLI;
+use WP_CLI\Utils;
 use WP_CLI_Command;
 use WP_Error;
 
@@ -16,6 +17,13 @@ class Language_Pack extends WP_CLI_Command {
 	const SVN_URL = 'https://i18n.svn.wordpress.org';
 	const PACKAGE_THRESHOLD = 95;
 
+	/**
+	 * Whether a language pack should be enforced.
+	 *
+	 * @var bool
+	 */
+	private $force = false;
+
 	/**
 	 * Generates a language pack.
 	 *
@@ -35,11 +43,16 @@ class Language_Pack extends WP_CLI_Command {
 	 *
 	 * [--version]
 	 * : Current version of the theme or plugin.
+	 *
+	 * [--force]
+	 * : Generate language pack even when threshold is not reached or no updates exist.
 	 */
 	public function generate( $args, $assoc_args ) {
 		$type = $args[0];
 		$slug = $args[1];
 
+		$this->force = Utils\get_flag_value( $assoc_args, 'force' );
+
 		$args = wp_parse_args( $assoc_args, [
 			'locale'      => false,
 			'locale-slug' => 'default',
@@ -220,7 +233,6 @@ class Language_Pack extends WP_CLI_Command {
 	 * The temporary directory returned will be removed upon script termination.
 	 *
 	 * @param string $prefix Optional. The prefix for the directory, 'hello-dolly' for example.
-	 *
 	 * @return string The temporary directory.
 	 */
 	public static function get_temp_directory( $prefix = '' ) {
@@ -245,7 +257,6 @@ class Language_Pack extends WP_CLI_Command {
 	 * Removes a directory.
 	 *
 	 * @param string $dir The directory which should be removed.
-	 *
 	 * @return bool False if directory is removed, false otherwise.
 	 */
 	public static function remove_temp_directory( $dir ) {
@@ -260,7 +271,6 @@ class Language_Pack extends WP_CLI_Command {
 	 * Retrieves the stable tag of a plugin.
 	 *
 	 * @param string $plugin_slug Slug of a plugin.
-	 *
 	 * @return false|string False on failure, stable tag on success.
 	 */
 	private function get_plugin_stable_tag( $plugin_slug ) {
@@ -278,7 +288,6 @@ class Language_Pack extends WP_CLI_Command {
 	 * Retrieves the current stable version of a theme.
 	 *
 	 * @param string $theme_slug Slug of a theme.
-	 *
 	 * @return false|string False on failure, version on success.
 	 */
 	private function get_latest_theme_version( $theme_slug ) {
@@ -296,7 +305,6 @@ class Language_Pack extends WP_CLI_Command {
 	 * Retrieves the current stable version of a plugin.
 	 *
 	 * @param string $plugin_slug Slug of a plugin.
-	 *
 	 * @return false|string False on failure, version on success.
 	 */
 	private function get_latest_plugin_version( $plugin_slug ) {
@@ -374,20 +382,97 @@ class Language_Pack extends WP_CLI_Command {
 	}
 
 	/**
-	 * Builds a PO file for translations.
+	 * Build a mapping of JS files to translation entries occurring in those files.
+	 * Translation entries occurring in other files are added to the 'po' key.
 	 *
-	 * @param GP_Project         $gp_project The GlotPress project.
-	 * @param GP_Locale          $gp_locale  The GlotPress locale.
-	 * @param GP_Translation_Set $set        The translation set.
-	 * @param string             $dest       Destination file name.
-	 * @return string|WP_Error Last updated date on success, WP_Error on failure.
+	 * @param Translation_Entry[] $entries The translation entries to map.
+	 * @return array The mapping of sources to translation entries.
+	 */
+	private function build_mapping( $entries ) {
+		$mapping = [];
+
+		foreach ( $entries as $entry ) {
+			/** @var Translation_Entry $entry */
+
+			// Find all unique sources this translation originates from.
+			$sources = array_map( function ( $reference ) {
+				$parts = explode( ':', $reference );
+				$file  = $parts[0];
+
+				if ( substr( $file, -7 ) === '.min.js' ) {
+					return substr( $file, 0, -7 ) . '.js';
+				}
+
+				if ( substr( $file, -3 ) === '.js' ) {
+					return $file;
+				}
+				return 'po';
+			}, $entry->references );
+
+			// Always add all entries to the PO file.
+			$sources[] = 'po';
+
+			$sources = array_unique( $sources );
+
+			foreach ( $sources as $source ) {
+				$mapping[ $source ][] = $entry;
+			}
+		}
+
+		return $mapping;
+	}
+
+	/**
+	 * Builds a a separate JSON file with translations for each JavaScript file.
+	 *
+	 * @param GP_Project          $gp_project The GlotPress project.
+	 * @param GP_Locale           $gp_locale  The GlotPress locale.
+	 * @param GP_Translation_Set  $set        The translation set.
+	 * @param array               $mapping    A mapping of files to translation entries.
+	 * @param string              $base_dest  Destination file name.
+	 * @return array An array of translation files built, may be empty if no translations in JS files exist.
 	 */
-	private function build_po_file( $gp_project, $gp_locale, $set, $dest ) {
-		$entries = GP::$translation->for_export( $gp_project, $set, [ 'status' => 'current' ] );
-		if ( ! $entries ) {
-			return new WP_Error( 'no_translations', 'No current translations available.' );
+	private function build_json_files( $gp_project, $gp_locale, $set, $mapping, $base_dest ) {
+		$files  = array();
+		$format = gp_array_get( GP::$formats, 'jed1x' );
+
+		foreach ( $mapping as $file => $entries ) {
+			// Don't create JSON files for source files.
+			if ( 0 === strpos( $file, 'src/' ) || false !== strpos( $file, '/src/' ) ) {
+				continue;
+			}
+
+			// Get the translations in Jed 1.x compatible JSON format.
+			$json_content = $format->print_exported_file( $gp_project, $gp_locale, $set, $entries );
+
+			// Decode and add comment with file reference for debugging.
+			$json_content_decoded          = json_decode( $json_content );
+			$json_content_decoded->comment = [ 'reference' => $file ];
+
+			$json_content = wp_json_encode( $json_content_decoded );
+
+			$hash = md5( $file );
+			$dest = "{$base_dest}-{$hash}.json";
+
+			file_put_contents( $dest, $json_content );
+
+			$files[] = $dest;
 		}
 
+		return $files;
+	}
+
+	/**
+	 * Builds a PO file for translations.
+	 *
+	 * @param GP_Project          $gp_project The GlotPress project.
+	 * @param GP_Locale           $gp_locale  The GlotPress locale.
+	 * @param GP_Translation_Set  $set        The translation set.
+	 * @param Translation_Entry[] $entries    The translation entries.
+	 * @param string              $dest       Destination file name.
+	 * @return string|WP_Error Last updated date on success, WP_Error on failure.
+	 */
+	private function build_po_file( $gp_project, $gp_locale, $set, $entries, $dest ) {
 		$format     = gp_array_get( GP::$formats, 'po' );
 		$po_content = $format->print_exported_file( $gp_project, $gp_locale, $set, $entries );
 
@@ -406,7 +491,6 @@ class Language_Pack extends WP_CLI_Command {
 	 * Executes a command via exec().
 	 *
 	 * @param string $command The escaped command to execute.
-	 *
 	 * @return true|WP_Error True on success, WP_Error on failure.
 	 */
 	private function execute_command( $command ) {
@@ -427,8 +511,7 @@ class Language_Pack extends WP_CLI_Command {
 	 * @param string $language Language the language pack is for.
 	 * @param string $version  Version of the theme/plugin.
 	 * @param string $updated  Last updated.
-	 * @return string|WP_Error 'updated' when language pack was updated, 'inserted' if it's a new
-	 *                         language pack. WP_Error on failure.
+	 * @return true|WP_Error true when language pack was updated, WP_Error on failure.
 	 */
 	private function insert_language_pack( $type, $domain, $language, $version, $updated ) {
 		global $wpdb;
@@ -443,7 +526,7 @@ class Language_Pack extends WP_CLI_Command {
 		) );
 
 		if ( $existing ) {
-			return new WP_Error( 'language_pack_exists', 'The language pack is already imported for this version.' );
+			return true;
 		}
 
 		$now = current_time( 'mysql', 1 );
@@ -473,11 +556,7 @@ class Language_Pack extends WP_CLI_Command {
 			$wpdb->insert_id
 		) );
 
-		if ( $wpdb->rows_affected ) {
-			return 'updated';
-		} else {
-			return 'inserted';
-		}
+		return true;
 	}
 
 	/**
@@ -487,7 +566,7 @@ class Language_Pack extends WP_CLI_Command {
 	 */
 	private function build_language_packs( $data ) {
 		$existing_packs = $this->get_active_language_packs( $data->type, $data->domain, $data->version );
-		$svn_command = $this->get_svn_command();
+		$svn_command    = $this->get_svn_command();
 
 		foreach ( $data->translation_sets as $set ) {
 			// Get WP locale.
@@ -502,15 +581,21 @@ class Language_Pack extends WP_CLI_Command {
 				$wp_locale = $wp_locale . '_' . $set->slug;
 			}
 
+			// Check if any current translations exist.
+			if ( 0 === $set->current_count() ) {
+				WP_CLI::log( "Skip {$wp_locale}, no translations." );
+				continue;
+			}
+
 			// Check if percent translated is above threshold.
 			$percent_translated = $set->percent_translated();
-			if ( $percent_translated < self::PACKAGE_THRESHOLD ) {
+			if ( ! $this->force && $percent_translated < self::PACKAGE_THRESHOLD ) {
 				WP_CLI::log( "Skip {$wp_locale}, translations below threshold ({$percent_translated}%)." );
 				continue;
 			}
 
 			// Check if new translations are available since last build.
-			if ( isset( $existing_packs[ $wp_locale ] ) ) {
+			if ( ! $this->force && isset( $existing_packs[ $wp_locale ] ) ) {
 				$pack_time = strtotime( $existing_packs[ $wp_locale ]->updated );
 				$glotpress_time = strtotime( $set->last_modified() );
 
@@ -520,25 +605,44 @@ class Language_Pack extends WP_CLI_Command {
 				}
 			}
 
-			$export_directory = "{$data->svn_checkout}/{$data->domain}/{$data->version}/{$wp_locale}";
-			$build_directory  = self::BUILD_DIR . "/{$data->type}s/{$data->domain}/{$data->version}";
-			$filename         = "{$data->domain}-{$wp_locale}";
-			$po_file          = "{$export_directory}/{$filename}.po";
-			$mo_file          = "{$export_directory}/{$filename}.mo";
-			$zip_file         = "{$export_directory}/{$filename}.zip";
-			$build_zip_file   = "{$build_directory}/{$wp_locale}.zip";
+			$entries = GP::$translation->for_export( $data->gp_project, $set, [ 'status' => 'current' ] );
+			if ( ! $entries ) {
+				WP_CLI::warning( "No current translations available for {$wp_locale}." );
+				continue;
+			}
+
+			$working_directory = "{$data->svn_checkout}/{$data->domain}";
+			$export_directory  = "{$working_directory}/{$data->version}/{$wp_locale}";
+			$build_directory   = self::BUILD_DIR . "/{$data->type}s/{$data->domain}/{$data->version}";
+
+			$filename       = "{$data->domain}-{$wp_locale}";
+			$json_file_base = "{$export_directory}/{$filename}";
+			$po_file        = "{$export_directory}/{$filename}.po";
+			$mo_file        = "{$export_directory}/{$filename}.mo";
+			$zip_file       = "{$export_directory}/{$filename}.zip";
+			$build_zip_file = "{$build_directory}/{$wp_locale}.zip";
+			$build_sig_file = "{$build_zip_file}.sig";
 
 			// Update/create directories.
 			$this->update_svn_directory( $export_directory );
 
+			// Build a mapping based on where the translation entries occur and separate the po entries.
+			$mapping    = $this->build_mapping( $entries );
+			$po_entries = array_key_exists( 'po', $mapping ) ? $mapping['po'] : [];
+
+			unset( $mapping['po'] );
+
+			// Create JED json files for each JS file.
+			$json_files = $this->build_json_files( $data->gp_project, $gp_locale, $set, $mapping, $json_file_base );
+
 			// Create PO file.
-			$last_modified = $this->build_po_file( $data->gp_project, $gp_locale, $set, $po_file );
+			$last_modified = $this->build_po_file( $data->gp_project, $gp_locale, $set, $po_entries, $po_file );
 
 			if ( is_wp_error( $last_modified ) ) {
 				WP_CLI::warning( sprintf( "PO generation for {$wp_locale} failed: %s", $last_modified->get_error_message() ) );
 
 				// Clean up.
-				$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+				$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 				continue;
 			}
@@ -555,17 +659,18 @@ class Language_Pack extends WP_CLI_Command {
 				WP_CLI::warning( "MO generation for {$wp_locale} failed." );
 
 				// Clean up.
-				$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+				$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 				continue;
 			}
 
 			// Create ZIP file.
 			$result = $this->execute_command( sprintf(
-				'zip -9 -j %s %s %s 2>&1',
+				'zip -9 -j %s %s %s %s 2>&1',
 				escapeshellarg( $zip_file ),
 				escapeshellarg( $po_file ),
-				escapeshellarg( $mo_file )
+				escapeshellarg( $mo_file ),
+				implode( ' ', array_map( 'escapeshellarg', $json_files ) )
 			) );
 
 			if ( is_wp_error( $result ) ) {
@@ -573,7 +678,7 @@ class Language_Pack extends WP_CLI_Command {
 				WP_CLI::warning( "ZIP generation for {$wp_locale} failed." );
 
 				// Clean up.
-				$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+				$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 				continue;
 			}
@@ -589,7 +694,7 @@ class Language_Pack extends WP_CLI_Command {
 				WP_CLI::warning( "Creating build directories for {$wp_locale} failed." );
 
 				// Clean up.
-				$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+				$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 				continue;
 			}
@@ -606,11 +711,19 @@ class Language_Pack extends WP_CLI_Command {
 				WP_CLI::warning( "Moving ZIP file for {$wp_locale} failed." );
 
 				// Clean up.
-				$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+				$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 				continue;
 			}
 
+			// Generate a signature for the ZIP file.
+			if ( false && function_exists( 'wporg_sign_file' ) ) {
+				$signatures = wporg_sign_file( $build_zip_file, 'translation' );
+				if ( $signatures ) {
+					file_put_contents( $build_sig_file, implode( "\n", $signatures ) );
+				}
+			}
+
 			// Insert language pack into database.
 			$result = $this->insert_language_pack( $data->type, $data->domain, $wp_locale, $data->version, $last_modified );
 
@@ -618,7 +731,7 @@ class Language_Pack extends WP_CLI_Command {
 				WP_CLI::warning( sprintf( "Language pack for {$wp_locale} failed: %s", $result->get_error_message() ) );
 
 				// Clean up.
-				$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+				$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 				continue;
 			}
@@ -643,13 +756,13 @@ class Language_Pack extends WP_CLI_Command {
 				WP_CLI::warning( "SVN commit for {$wp_locale} failed." );
 
 				// Clean up.
-				$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+				$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 				continue;
 			}
 
 			// Clean up.
-			$this->execute_command( "rm -rf {$data->svn_checkout}/{$data->domain}" );
+			$this->execute_command( sprintf( 'rm -rf %s', escapeshellarg( $working_directory ) ) );
 
 			WP_CLI::success( "Language pack for {$wp_locale} generated." );
 		}
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-make-core-pot.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-make-core-pot.php
index 430de4e67..b1aa55acd 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-make-core-pot.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-make-core-pot.php
@@ -52,8 +52,6 @@ class Make_Core_Pot extends WP_CLI_Command {
 			WP_CLI::error( 'Unsupported WordPress version. Use makepot.php.' );
 		}
 
-		$extract_js = version_compare( $wp_version, '5.0-beta', '>=' );
-
 		$dry_run = Utils\get_flag_value( $assoc_args, 'dry-run', false );
 
 		$headers = wp_json_encode( [
@@ -113,7 +111,7 @@ class Make_Core_Pot extends WP_CLI_Command {
 		$command .= ' --skip-audit';
 		$command .= ' --ignore-domain';
 
-		if ( ! $extract_js ) {
+		if ( version_compare( $wp_version, '5.0-beta', '<' ) ) {
 			$command .= ' --skip-js';
 		}
 
@@ -160,10 +158,13 @@ class Make_Core_Pot extends WP_CLI_Command {
 		$command .= ' --package-name=' . escapeshellarg( self::PACKAGE_NAME );
 		$command .= ' --headers=' . escapeshellarg( $headers );
 		$command .= ' --file-comment=' . escapeshellarg( $file_comment );
-		$command .= ' --skip-js'; // TODO: No use of wp.i18n, yet.
 		$command .= ' --skip-audit';
 		$command .= ' --ignore-domain';
 
+		if ( version_compare( $wp_version, '5.2-beta', '<' ) ) {
+			$command .= ' --skip-js';
+		}
+
 		WP_CLI::line( $command );
 		! $dry_run && WP_CLI::runcommand( $command );
 
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/helper-functions.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/helper-functions.php
index 0164adbd5..89b73764b 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/helper-functions.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/helper-functions.php
@@ -1,5 +1,5 @@
 <?php
-wp_register_style( 'wporg-translate', plugins_url( 'style.css', __FILE__ ), array( 'gp-base' ), '20180704' );
+wp_register_style( 'wporg-translate', plugins_url( 'style.css', __FILE__ ), array( 'gp-base' ), '20190324' );
 gp_enqueue_style( 'wporg-translate' );
 
 gp_enqueue_script( 'jquery' );
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-project.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-project.php
index f62a06cb2..a6ca9e3d9 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-project.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-project.php
@@ -83,7 +83,7 @@ gp_tmpl_header();
 						}
 
 						foreach ( $sub_projects as $_sub_project ) {
-							$status = $sub_project_statuses[ $_sub_project->id ];
+							$status = $sub_project_statuses[ $_sub_project->slug ];
 
 							printf(
 								'<li><a href="%s">%s <span>%s</span></a>',
@@ -107,10 +107,28 @@ gp_tmpl_header();
 <?php endif; ?>
 
 <?php
-if ( 'wp-plugins' === $project->path && ! in_array( 'dev', $sub_project_slugs ) && ! in_array( 'stable', $sub_project_slugs ) ) {
+if ( 'wp-plugins' === $project->path ) {
+	if ( ! in_array( 'dev', $sub_project_slugs ) && ! in_array( 'stable', $sub_project_slugs ) ) {
+		?>
+		<div class="wporg-notice wporg-notice-error">
+			<p>This plugin is not <a href="https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/">properly prepared for localization</a> (<a href="https://make.wordpress.org/meta/handbook/documentation/translations/#this-plugin-is-not-properly-prepared-for-localization-%e2%80%93-help">View detailed logs on Slack</a>). If you would like to translate this plugin, <a href="<?php echo esc_url( 'https://wordpress.org/support/plugin/' . $sub_project->slug ); ?>">please contact the author</a>.</p>
+		</div>
+		<?php
+	} else {
+		$stable_project_slug = in_array( 'stable', $sub_project_slugs, true ) ? 'stable' : 'dev';
+		$stable_project_name = 'stable' === $stable_project_slug ? 'Stable (latest release)' : 'Development (trunk)';
+		$status              = $sub_project_statuses[ $stable_project_slug ];
+		?>
+		<div class="wporg-notice wporg-notice-info">
+			<p>Translations for the readme are published almost immediately.
+				The language pack for the plugin will be generated when 95% of the <a href="<?php echo esc_url( gp_url_project( $sub_project->path, gp_url_join( $stable_project_slug, $locale->slug, $set_slug ) ) ); ?>"><?php echo $stable_project_name; ?></a> sub-project strings have been translated (currently <?php echo $status->percent_complete . '%'; ?>).</p>
+		</div>
+		<?php
+	}
+} elseif ( 'wp-themes' === $project->path ) {
 	?>
-	<div class="wporg-notice wporg-notice-warning">
-		<p>This plugin is not <a href="https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/">properly prepared for localization</a> (<a href="https://make.wordpress.org/meta/handbook/documentation/translations/#this-plugin-is-not-properly-prepared-for-localization-%e2%80%93-help">View detailed logs on Slack</a>). If you would like to translate this plugin, <a href="<?php echo esc_url( 'https://wordpress.org/support/plugin/' . $sub_project->slug ); ?>">please contact the author</a>.</p>
+	<div class="wporg-notice wporg-notice-info">
+		<p>The language pack for the theme will be generated when 95% of the project strings have been translated (currently <?php echo $sub_project_status->percent_complete . '%'; ?>).</p>
 	</div>
 	<?php
 }
@@ -142,16 +160,16 @@ if ( 'wp-plugins' === $project->path && ! in_array( 'dev', $sub_project_slugs )
 						<?php endif; ?>
 					</td>
 					<td class="stats translated">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'current') ), absint( $sub_project_status->current_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'current') ), $sub_project_status->current_count ); ?>
 					</td>
 					<td class="stats fuzzy">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'fuzzy' ) ), absint( $sub_project_status->fuzzy_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'fuzzy' ) ), $sub_project_status->fuzzy_count ); ?>
 					</td>
 					<td class="stats untranslated">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'untranslated' ) ), absint( $sub_project_status->all_count ) -  absint( $sub_project_status->current_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'untranslated' ) ), $sub_project_status->untranslated_count ); ?>
 					</td>
 					<td class="stats waiting">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'waiting' ) ), absint( $sub_project_status->waiting_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'waiting' ) ), $sub_project_status->waiting_count ); ?>
 					</td>
 					</tr>
 				</tr>
@@ -168,7 +186,7 @@ if ( 'wp-plugins' === $project->path && ! in_array( 'dev', $sub_project_slugs )
 			}
 
 			foreach ( $sub_projects as $sub_project ) {
-				$status = $sub_project_statuses[ $sub_project->id ];
+				$status = $sub_project_statuses[ $sub_project->slug ];
 				?>
 				<tr>
 					<td class="set-name">
@@ -180,16 +198,16 @@ if ( 'wp-plugins' === $project->path && ! in_array( 'dev', $sub_project_slugs )
 						<?php endif; ?>
 					</td>
 					<td class="stats translated">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'current') ), absint( $status->current_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'current') ), $status->current_count ); ?>
 					</td>
 					<td class="stats fuzzy">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'fuzzy' ) ), absint( $status->fuzzy_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'fuzzy' ) ), $status->fuzzy_count ); ?>
 					</td>
 					<td class="stats untranslated">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'untranslated' ) ), absint( $status->all_count ) -  absint( $status->current_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[status]' => 'untranslated' ) ), $status->untranslated_count ); ?>
 					</td>
 					<td class="stats waiting">
-						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'waiting' ) ), absint( $status->waiting_count ) ); ?>
+						<?php gp_link( gp_url_project( $sub_project->path, gp_url_join( $locale->slug, $set_slug ), array( 'filters[translated]' => 'yes', 'filters[status]' => 'waiting' ) ), $status->waiting_count ); ?>
 					</td>
 					</tr>
 				</tr>
@@ -206,18 +224,122 @@ if ( 'wp-plugins' === $project->path && ! in_array( 'dev', $sub_project_slugs )
 		<?php if ( $locale_contributors['contributors'] ) : ?>
 		<table class="locale-project-contributors-table">
 			<thead>
-				<th class="contributor-name">Contributor</th>
-				<th class="contributor-stats">Translations*</th>
+				<tr>
+					<th class="contributor-name">Contributor</th>
+					<th class="contributor-stats">Translations</th>
+				</tr>
 			</thead>
 			<tbody>
 			<?php
 			foreach ( $locale_contributors['contributors'] as $contributor ) {
+				$detailed = '';
+
+				if ( 'wp-plugins' === $project->path ) {
+					// Ensure consistent order of development and stable projects.
+					usort( $contributor->detailed, function( $a, $b ) {
+						return strnatcasecmp( $a->project->name, $b->project->name );
+					} );
+				}
+
+				foreach ( $contributor->detailed as $detail_project_id => $detail_data ) {
+					$detailed .= '<strong class="detailed__project-name">' . $detail_data->project->name . ':</strong>';
+
+					if ( $detail_data->total_count > 0 ) {
+						$total_count = gp_link_get(
+							gp_url_project(
+								$detail_data->project->path,
+								gp_url_join( $locale->slug, $set_slug ),
+								[
+									'filters[translated]' => 'yes',
+									'filters[status]'     => 'current_or_waiting_or_fuzzy_or_untranslated',
+									'filters[user_login]' => $contributor->login,
+								]
+							),
+							number_format_i18n( $detail_data->total_count )
+						);
+					} else {
+						$total_count = number_format_i18n( $detail_data->total_count );
+					}
+
+					if ( $detail_data->current_count > 0 ) {
+						$current_count = gp_link_get(
+							gp_url_project(
+								$detail_data->project->path,
+								gp_url_join( $locale->slug, $set_slug ),
+								[
+									'filters[translated]' => 'yes',
+									'filters[status]'     => 'current',
+									'filters[user_login]' => $contributor->login,
+								]
+							),
+							number_format_i18n( $detail_data->current_count )
+						);
+					} else {
+						$current_count = number_format_i18n( $detail_data->current_count );
+					}
+
+					if ( $detail_data->waiting_count > 0 ) {
+						$waiting_count = gp_link_get(
+							gp_url_project(
+								$detail_data->project->path,
+								gp_url_join( $locale->slug, $set_slug ),
+								[
+									'filters[translated]' => 'yes',
+									'filters[status]'     => 'waiting',
+									'filters[user_login]' => $contributor->login,
+								]
+							),
+							number_format_i18n( $detail_data->waiting_count )
+						);
+					} else {
+						$waiting_count = number_format_i18n( $detail_data->waiting_count );
+					}
+
+					if ( $detail_data->fuzzy_count > 0 ) {
+						$fuzzy_count = gp_link_get(
+							gp_url_project(
+								$detail_data->project->path,
+								gp_url_join( $locale->slug, $set_slug ),
+								[
+									'filters[translated]' => 'yes',
+									'filters[status]'     => 'fuzzy',
+									'filters[user_login]' => $contributor->login,
+								]
+							),
+							number_format_i18n( $detail_data->fuzzy_count )
+						);
+					} else {
+						$fuzzy_count = number_format_i18n( $detail_data->fuzzy_count );
+					}
+
+					$detailed .= sprintf(
+						'
+							<div class="total">
+								<p>%s</p>
+							</div>
+							<div class="current">
+								<p>%s</p>
+							</div>
+							<div class="waiting">
+								<p>%s</p>
+							</div>
+							<div class="fuzzy">
+								<p>%s</p>
+							</div>
+						',
+						$total_count,
+						$current_count,
+						$waiting_count,
+						$fuzzy_count
+					);
+				}
+
 				printf(
 					'<tr>
 						<td class="contributor-name">
 							%s
 							<a href="https://profiles.wordpress.org/%s/">%s %s</a>
-							<span>Last Activity: %s ago</span>
+							<span>Last translation submitted: %s ago</span>
 						</td>
 						<td class="contributor-stats">
 							<div class="total">
@@ -236,23 +358,29 @@ if ( 'wp-plugins' === $project->path && ! in_array( 'dev', $sub_project_slugs )
 								<span>Fuzzy</span>
 								<p>%s</p>
 							</div>
-						<td>
+							<div class="detailed">
+								<details>
+									<summary>Per project</summary>
+									%s
+								</details>
+							</div>
+						</td>
 					</tr>',
 					$contributor->is_editor ? '<span class="translation-editor">Editor</span>' : '',
 					$contributor->nicename,
 					get_avatar( $contributor->email, 40 ),
-					$contributor->display_name ? $contributor->display_name : $contributor->nicename,
+					$contributor->display_name ?: $contributor->nicename,
 					human_time_diff( strtotime( $contributor->last_update ) ),
 					number_format_i18n( $contributor->total_count ),
 					number_format_i18n( $contributor->current_count ),
 					number_format_i18n( $contributor->waiting_count ),
-					number_format_i18n( $contributor->fuzzy_count )
+					number_format_i18n( $contributor->fuzzy_count ),
+					$detailed
 				);
 			}
 			?>
 			</tbody>
 		</table>
-		<p class="stats-hint">* Data for the last 365 days.</p>
 		<?php else : ?>
 			<p>None, be the first?</p>
 		<?php endif; ?>
@@ -271,7 +399,7 @@ if ( 'wp-plugins' === $project->path && ! in_array( 'dev', $sub_project_slugs )
 						'<li><a href="https://profiles.wordpress.org/%s/">%s %s</a></li>',
 						$editor->nicename,
 						get_avatar( $editor->email, 40 ),
-						$editor->display_name ? $editor->display_name : $editor->nicename
+						$editor->display_name ?: $editor->nicename
 					);
 				}
 				?>
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-projects.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-projects.php
index ee8234d01..d50aaa49a 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-projects.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/locale-projects.php
@@ -74,6 +74,14 @@ gp_tmpl_header();
 			);
 		}
 		?>
+		<li class="filter-header-link__sep" aria-hidden="true">|</li>
+		<li class="has-children">
+			<a href="#">Stats</a>
+			<ul>
+				<li><a href="<?php echo esc_url( gp_url_join( '/locale', $locale_slug, $set_slug, 'stats', 'plugins' ) ); ?>">Plugins</a></li>
+				<li><a href="<?php echo esc_url( gp_url_join( '/locale', $locale_slug, $set_slug, 'stats', 'themes' ) ); ?>">Themes</a></li>
+			</ul>
+		</li>
 	</ul>
 	<div class="search-form">
 		<form>
@@ -85,7 +93,16 @@ gp_tmpl_header();
 </div>
 <div class="sort-bar">
 	<form id="sort-filter" action="" method="GET">
+		<input type="hidden" name="s" value="<?php echo esc_attr( $search ?? '' ); ?>"
 		<input type="hidden" name="page" value="1">
+
+		<?php if ( 'waiting' === $project->slug && is_user_logged_in() ) { ?>
+			<input id="filter-without-editors" type="checkbox" name="without-editors" value="1"<?php checked( isset( $_GET['without-editors'] ) ); ?>>
+			<label for="filter-without-editors">Limit to projects without editors</label>
+			<span class="filter-sep" aria-hidden="true">|</span>
+		<?php } ?>
+
+		<label for="filter">Filter:</label>
 		<select id="filter" name="filter">
 			<?php
 				$sorts = array();
@@ -97,6 +114,8 @@ gp_tmpl_header();
 				$sorts['strings-remaining-asc'] = 'Remaining Strings (Least first)';
 				$sorts['strings-waiting-and-fuzzy'] = 'Waiting + Fuzzy (Most first)';
 				$sorts['strings-waiting-and-fuzzy-asc'] = 'Waiting + Fuzzy (Least first)';
+				$sorts['strings-waiting-and-fuzzy-by-modified-date'] = 'Waiting + Fuzzy (Newest first)';
+				$sorts['strings-waiting-and-fuzzy-by-modified-date-asc'] = 'Waiting + Fuzzy (Oldest first)';
 				$sorts['percent-completed'] = 'Percent Completed (Most first)';
 				$sorts['percent-completed-asc'] = 'Percent Completed (Least first)';
 
@@ -110,16 +129,9 @@ gp_tmpl_header();
 				}
 			?>
 		</select>
+		<button type="submit">Submit</button>
 	</form>
 </div>
-<script>
-	var filterForm  = document.getElementById( 'sort-filter' );
-	var filterSelect = document.getElementById( 'filter' );
-	filterSelect.addEventListener( 'change', function() {
-		filterForm.submit()
-	} );
-</script>
-
 <div id="projects" class="projects">
 	<?php
 	foreach ( $sub_projects as $sub_project ) {
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-plugins.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-plugins.php
index e03d733e5..032448393 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-plugins.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-plugins.php
@@ -1,13 +1,13 @@
 <?php
 $edit_link = gp_link_project_edit_get( $project, __( '(edit)' ) );
-$table_headings = array(
-	'locale'        => __( 'Locale' ),
-	'dev'           => __( 'Development' ),
-	'dev-readme'    => __( 'Development Readme' ),
-	'stable'        => __( 'Stable' ),
-	'stable-readme' => __( 'Stable Readme' ),
-	'waiting'       => __( 'Waiting' ),
-);
+$table_headings = [
+	'locale'        => 'Locale',
+	'dev'           => 'Development',
+	'dev-readme'    => 'Development Readme',
+	'stable'        => 'Stable',
+	'stable-readme' => 'Stable Readme',
+	'waiting'       => 'Waiting/Fuzzy',
+];
 
 gp_title( sprintf( __( '%s &lt; GlotPress' ), esc_html( $project->name ) ) );
 gp_breadcrumb_project( $project );
@@ -52,7 +52,7 @@ gp_tmpl_header();
 <?php endif; ?>
 
 <?php if ( $has_error ) : ?>
-	<div class="wporg-notice wporg-notice-warning">
+	<div class="wporg-notice wporg-notice-error">
 		<p>This plugin is not <a href="https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/">properly prepared for localization</a> (<a href="https://make.wordpress.org/meta/handbook/documentation/translations/#this-plugin-is-not-properly-prepared-for-localization-%e2%80%93-help">View detailed logs on Slack</a>). If you would like to translate this plugin, <a href="<?php echo esc_url( 'https://wordpress.org/support/plugin/' . $project->slug ); ?>">please contact the author</a>.</p>
 	</div>
 <?php endif; ?>
@@ -70,26 +70,16 @@ gp_tmpl_header();
 			<?php
 			foreach ( $translation_locale_complete as $locale_slug => $total_complete ) :
 				$gp_locale = GP_Locales::by_slug( $locale_slug );
-				$set_slug  = 'default';
-
-				// Variants (de/formal for example) don't have GP_Locales in this context
-				if ( ! $gp_locale && ( list( $base_locale_slug, $set_slug ) = explode( '/', $locale_slug ) ) ) :
-					$_gp_locale = GP_Locales::by_slug( $base_locale_slug );
-					if ( $_gp_locale ) {
-						$gp_locale = clone $_gp_locale;
-						// Just append it for now..
-						$gp_locale->wp_locale .= '/' . $set_slug;
-						$gp_locale->english_name .= ' (' . ucfirst( $set_slug ) . ')';
-					}
-				endif;
-
-				if ( ! $gp_locale || ! $gp_locale->wp_locale ) :
+
+				if ( ! $gp_locale || ! $gp_locale->wp_locale ) {
 					continue;
-				endif;
-			?>
+				}
+
+				list( $locale, $set_slug ) = array_merge( explode( '/', $locale_slug ), [ 'default' ] );
+				?>
 				<tr>
 					<th title="<?php echo esc_attr( $gp_locale->wp_locale ); ?>">
-						<a href="<?php echo esc_url( gp_url( gp_url_join( 'locale', $gp_locale->slug, $set_slug, $project->path ) ) ); ?>">
+						<a href="<?php echo esc_url( gp_url( gp_url_join( 'locale', $locale, $set_slug, $project->path ) ) ); ?>">
 							<?php echo esc_html( $gp_locale->english_name ); ?>
 						</a>
 					</th>
@@ -108,11 +98,11 @@ gp_tmpl_header();
 											$percent_class = 90;
 										}
 
-										$link_url  = gp_url( gp_url_join( 'locale', $gp_locale->slug, $set_slug, $project->path ) );
+										$link_url  = gp_url( gp_url_join( 'locale', $locale, $set_slug, $project->path ) );
 										$link_text = number_format( $percent );
 									else :
 										$percent_class = (int) ( $percent / 10 ) * 10;
-										$link_url  = gp_url_project( $project->path, gp_url_join( $subproject_slug, $gp_locale->slug, $set_slug ) );
+										$link_url  = gp_url_project( $project->path, gp_url_join( $subproject_slug, $locale, $set_slug ) );
 										$link_text = "$percent%";
 
 									endif;
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-themes.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-themes.php
index 996928819..ddd128eca 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-themes.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/projects-wp-themes.php
@@ -1,10 +1,10 @@
 <?php
 $edit_link = gp_link_project_edit_get( $project, __( '(edit)' ) );
-$table_headings = array(
-	'locale'        => __( 'Locale' ),
-	'stable'        => __( 'Stable' ),
-	'waiting'       => __( 'Waiting' ),
-);
+$table_headings = [
+	'locale'        => 'Locale',
+	'stable'        => 'Stable',
+	'waiting'       => 'Waiting/Fuzzy',
+];
 
 gp_title( sprintf( __( '%s &lt; GlotPress' ), esc_html( $project->name ) ) );
 gp_breadcrumb_project( $project );
@@ -61,26 +61,16 @@ gp_tmpl_header();
 			<?php
 			foreach ( $translation_locale_complete as $locale_slug => $total_complete ) :
 				$gp_locale = GP_Locales::by_slug( $locale_slug );
-				$set_slug  = 'default';
-
-				// Variants (de/formal for example) don't have GP_Locales in this context
-				if ( ! $gp_locale && ( list( $base_locale_slug, $set_slug ) = explode( '/', $locale_slug ) ) ) :
-					$_gp_locale = GP_Locales::by_slug( $base_locale_slug );
-					if ( $_gp_locale ) {
-						$gp_locale = clone $_gp_locale;
-						// Just append it for now..
-						$gp_locale->wp_locale .= '/' . $set_slug;
-						$gp_locale->english_name .= ' (' . ucfirst( $set_slug ) . ')';
-					}
-				endif;
-
-				if ( ! $gp_locale || ! $gp_locale->wp_locale ) :
+
+				if ( ! $gp_locale || ! $gp_locale->wp_locale ) {
 					continue;
-				endif;
-			?>
+				}
+
+				list( $locale, $set_slug ) = array_merge( explode( '/', $locale_slug ), [ 'default' ] );
+				?>
 				<tr>
 					<th title="<?php echo esc_attr( $gp_locale->wp_locale ); ?>">
-						<a href="<?php echo esc_url( gp_url( gp_url_join( 'locale', $gp_locale->slug, $set_slug, $project->path ) ) ); ?>">
+						<a href="<?php echo esc_url( gp_url( gp_url_join( 'locale', $locale, $set_slug, $project->path ) ) ); ?>">
 							<?php echo esc_html( $gp_locale->english_name ); ?>
 						</a>
 					</th>
@@ -99,11 +89,11 @@ gp_tmpl_header();
 											$percent_class = 90;
 										}
 
-										$link_url  = gp_url( gp_url_join( 'locale', $gp_locale->slug, $set_slug, $project->path ) );
+										$link_url  = gp_url( gp_url_join( 'locale', $locale, $set_slug, $project->path ) );
 										$link_text = number_format( $percent );
 									else :
 										$percent_class = (int) ( $percent / 10 ) * 10;
-										$link_url  = gp_url_project( $project->path, gp_url_join( $gp_locale->slug, $set_slug ) );
+										$link_url  = gp_url_project( $project->path, gp_url_join( $locale, $set_slug ) );
 										$link_text = "$percent%";
 
 									endif;
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/stats-overview.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/stats-overview.php
index 46b6e9622..f21faa016 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/stats-overview.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/stats-overview.php
@@ -26,29 +26,22 @@ gp_tmpl_header();
 			<?php
 			foreach ( $translation_locale_complete as $locale_slug => $total_complete ) :
 				$gp_locale = GP_Locales::by_slug( $locale_slug );
-				$set_slug = 'default';
-				// Variants (de/formal for example) don't have GP_Locales in this context
-				if ( ! $gp_locale && ( list( $base_locale_slug, $set_slug ) = explode( '/', $locale_slug ) ) ) {
-					$_gp_locale = GP_Locales::by_slug( $base_locale_slug );
-					if ( $_gp_locale ) {
-						$gp_locale = clone $_gp_locale;
-						// Just append it for now..
-						$gp_locale->wp_locale .= '/' . $set_slug;
-					}
-				}
+
 				if ( ! $gp_locale || ! $gp_locale->wp_locale ) {
 					continue;
 				}
-			?>
+
+				list( $locale, $set_slug ) = array_merge( explode( '/', $locale_slug ), [ 'default' ] );
+				?>
 				<tr>
 					<th title="<?php echo esc_attr( $gp_locale->english_name ); ?>">
-						<a href="<?php echo esc_url( gp_url( gp_url_join( 'locale', $gp_locale->slug, $set_slug ) ) ); ?>">
+						<a href="<?php echo esc_url( gp_url( gp_url_join( 'locale', $locale, $set_slug ) ) ); ?>">
 							<?php echo esc_html( $gp_locale->wp_locale ); ?>
 						</a>
 					</th>
 					<?php
 					foreach ( $projects as $slug => $project ) {
-						$projecturl = gp_url( gp_url_join( 'locale', $gp_locale->slug, $set_slug, $project->path ) );
+						$projecturl = gp_url( gp_url_join( 'locale', $locale, $set_slug, $project->path ) );
 						$project_name = str_replace( array( 'WordPress.org ', 'WordPress for ', 'WordPress ', 'ectory' ), '', $project->name );
 
 						if ( isset( $translation_locale_statuses[ $locale_slug ][ $project->path ] ) ) {
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/stats-plugin-themes-overview.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/stats-plugin-themes-overview.php
new file mode 100644
index 000000000..d498431bf
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/stats-plugin-themes-overview.php
@@ -0,0 +1,101 @@
+<?php
+gp_title( __( 'Translation status overview &lt; GlotPress' ) );
+gp_enqueue_script( 'tablesorter' );
+
+$breadcrumb   = array();
+$breadcrumb[] = gp_link_get( '/', __( 'Locales' ) );
+$breadcrumb[] = gp_link_get( gp_url_join( '/locale', $gp_locale->slug, $locale_slug ), esc_html( $gp_locale->english_name ) );
+$breadcrumb[] = trim( ucwords( $view ), 's' ) . ' translation status overview';
+gp_breadcrumb( $breadcrumb );
+gp_tmpl_header();
+
+$columns = array(
+	'all'          => __( 'Translated Percent' ),
+	'current'      => __( 'Translated' ),
+	'untranslated' => __( 'Untranslated' ),
+	'fuzzy'        => __( 'Fuzzy' ),
+	'waiting'      => __( 'Waiting' ),
+);
+$main_column_title = trim( ucwords( $view ), 's' );
+
+?>
+<div class="stats-table">
+	<table id="stats-table" class="table">
+		<thead>
+			<tr>
+				<th><?php echo $main_column_title; ?></th>
+				<?php
+					foreach ( $columns as $title ) {
+						printf( "<th>%s</th>", $title );
+					}
+
+				?>
+			</tr>
+		</thead>
+		<tbody>
+			<?php
+			foreach ( $items as $slug => $details ) {
+				$project_link = gp_url( gp_url_join( 'locale', $gp_locale->slug, $locale_slug, $details->project->path ) );
+				// Themes get a shortcut..
+				if ( 'themes' == $view ) {
+					$project_link = gp_url( gp_url_join( 'projects', $details->project->path, $gp_locale->slug, $locale_slug ) );
+				}
+
+				$project_overview_link = gp_url( gp_url_join( 'projects', $details->project->path ) );
+
+				echo '<tr>';
+				printf(
+					'<th title="%s" data-column-title="%s" data-sort-value="%s"><a href="%s">%s</a></th>',
+					esc_attr( sprintf( __( "%s+ Active Installations" ), number_format_i18n( $details->installs ) ) ),
+					esc_attr( $main_column_title ),
+					$details->installs,
+					$project_overview_link,
+					$details->project->name
+				);
+
+				foreach ( $columns as $field => $title ) {
+					$sort_value = $stat_value = ( $details->stats->{$field} ?? 0 );
+					$percent = $stat_value / $details->stats->all * 100;
+					$link = $project_link;
+					$cell_text = number_format_i18n( $stat_value );
+
+					if ( in_array( $field, [ 'fuzzy', 'untranslated', 'waiting' ] ) ) {
+						$percent = 100 - $percent;
+						$link    = add_query_arg( 'filters[status]', $field, $project_link );
+					} elseif ( 'all' == $field ) {
+						$percent    = ($details->stats->current ?? 0) / $details->stats->all * 100;
+						$sort_value = $percent;
+						$cell_text  = ( $percent > 50 ? floor( $percent ) : ceil( $percent ) ) . '%';
+					}
+
+					$percent_class = 'percent' . (int) ( $percent / 10 ) * 10;
+
+					printf( '<td class="%s" data-column-title="%s" data-sort-value="%s"><a href="%s">%s</a></td>',
+						$percent_class,
+						$title,
+						$sort_value,
+						$link,
+						$cell_text
+					);
+				}
+				echo '</tr>';
+			}
+			?>
+		</tbody>
+	</table>
+</div>
+
+<script type="text/javascript">
+jQuery( document ).ready( function( $ ) {
+	$( '#stats-table' ).tablesorter( {
+		textExtraction: function( node ) {
+			var cellValue = $( node ).text(),
+				sortValue = $( node ).data( 'sortValue' );
+
+			return ( undefined !== sortValue ) ? sortValue : cellValue;
+		}
+	});
+});
+</script>
+<?php
+gp_tmpl_footer();
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/style.css wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/style.css
index 0d515e94a..4764dc6b8 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/style.css
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/style.css
@@ -620,6 +620,35 @@ ul.filter-header-links {
 	color: #222;
 }
 
+.filter-header-links li.has-children {
+	position: relative;
+}
+
+.filter-header-links li.has-children li a {
+	margin: 0 9px;
+	padding: 5px 0;
+}
+
+.filter-header-links li.has-children ul {
+	display: none;
+}
+
+.filter-header-links li.has-children:hover ul {
+	display: block;
+	position:absolute;
+	background: #efefef;
+	padding: 0;
+	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	border: 1px solid #dfdfdf;
+	border-top: 0;
+	z-index: 1;
+}
+
+.filter-header-link__sep {
+	color: #ccc;
+}
+
+
 .filter-header .search-form {
 	float: right;
 	margin: 12px 0 11px;
@@ -1214,11 +1243,20 @@ ul.projects-dropdown li > a > span {
 	padding: 2px;
 }
 
+.wporg-notice-error {
+	background: #fbeaea;
+	border-left-color:#dc3232;
+}
+
 .wporg-notice-warning {
 	background: #fff8e5;
 	border-left-color:#ffb900;
 }
 
+.wporg-notice-info {
+	background: #e5f5fa;
+	border-left-color:#00a0d2;
+}
 
 /* Responsive styles */
 @media (max-width: 700px) {
@@ -1429,6 +1467,15 @@ ul.projects-dropdown li > a > span {
 	border-top: none;
 }
 
+.sort-bar label {
+	font-size: 12px;
+	line-height: 14px;
+}
+
+.sort-bar .filter-sep {
+	color: #ccc;
+}
+
 .project-sub-page h3 {
 	margin: 30px 0 10px;
 	font-size: 1.2em;
@@ -1765,6 +1812,27 @@ ul.ct-legend {
 	color: #f78b53;
 }
 
+.locale-project-contributors-table td.contributor-stats .detailed {
+	width: 100%;
+	clear: left;
+	float: none;
+}
+
+.detailed summary {
+	text-align: right;
+	font-size: 10px;
+	outline: none;
+	cursor: pointer;
+}
+
+.detailed__project-name {
+	display: block;
+	clear: left;
+	text-align: left;
+	font-size: 10px;
+	padding-top: 5px;
+}
+
 .locale-project-contributors-table tbody td {
 	padding: 10px 0;
 	border-bottom: 1px solid #eee;
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row-editor.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row-editor.php
new file mode 100644
index 000000000..edb8bc52c
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row-editor.php
@@ -0,0 +1,192 @@
+<?php
+/**
+ * Template for a single translation row editor in a translation set display.
+ */
+
+$user = wp_get_current_user();
+$can_reject_self = ( isset( $t->user->user_login ) && $user->user_login === $t->user->user_login && 'waiting' === $t->translation_status );
+
+$more_links = array();
+if ( $t->translation_status ) {
+	$translation_permalink = gp_url_project_locale( $project, $locale->slug, $translation_set->slug, array( 'filters[status]' => 'either', 'filters[original_id]' => $t->original_id, 'filters[translation_id]' => $t->id ) );
+	$more_links['translation-permalink'] = '<a tabindex="-1" href="' . esc_url( $translation_permalink ) . '">' . __( 'Permalink to this translation', 'glotpress' ) . '</a>';
+} else {
+	$original_permalink = gp_url_project_locale( $project, $locale->slug, $translation_set->slug, array( 'filters[original_id]' => $t->original_id ) );
+	$more_links['original-permalink'] = '<a tabindex="-1" href="' . esc_url( $original_permalink ) . '">' . __( 'Permalink to this original', 'glotpress' ) . '</a>';
+}
+
+$original_history = gp_url_project_locale( $project, $locale->slug, $translation_set->slug, array( 'filters[status]' => 'either', 'filters[original_id]' => $t->original_id, 'sort[by]' => 'translation_date_added', 'sort[how]' => 'asc' ) );
+$more_links['history'] = '<a tabindex="-1" href="' . esc_url( $original_history ) . '">' . __( 'All translations of this original', 'glotpress' ) . '</a>';
+
+/**
+ * Allows to modify the more links in the translation editor.
+ *
+ * @since 2.3.0
+ *
+ * @param array              $more_links      The links to be output.
+ * @param GP_Project         $project         Project object.
+ * @param GP_Locale          $locale          Locale object.
+ * @param GP_Translation_Set $translation_set Translation Set object.
+ * @param GP_Translation     $t               Translation object.
+ */
+$more_links = apply_filters( 'gp_translation_row_template_more_links', $more_links, $project, $locale, $translation_set, $t );
+
+if ( is_object( $glossary ) ) {
+	if ( ! isset( $glossary_entries_terms ) ) {
+		$glossary_entries = $glossary->get_entries();
+		$glossary_entries_terms = gp_sort_glossary_entries_terms( $glossary_entries );
+	}
+
+	$t = map_glossary_entries_to_translation_originals( $t, $glossary, $glossary_entries_terms );
+}
+?>
+<tr class="editor <?php echo gp_translation_row_classes( $t ); ?>" id="editor-<?php echo esc_attr( $t->row_id ); ?>" row="<?php echo esc_attr( $t->row_id ); ?>">
+	<td colspan="<?php echo $can_approve ? 5 : 4 ?>">
+		<div class="strings">
+		<?php
+			$singular = isset( $t->singular_glossary_markup ) ? $t->singular_glossary_markup : esc_translation( $t->singular );
+			$plural   = isset( $t->plural_glossary_markup ) ? $t->plural_glossary_markup : esc_translation( $t->plural );
+		?>
+
+		<?php if ( ! $t->plural ): ?>
+		<p class="original"><?php echo prepare_original( $singular ); ?></p>
+		<?php textareas( $t, array( $can_edit, $can_approve_translation ) ); ?>
+		<?php else: ?>
+			<?php if ( $locale->nplurals == 2 && $locale->plural_expression == 'n != 1'): ?>
+				<p><?php printf(__( 'Singular: %s', 'glotpress' ), '<span class="original">'. $singular .'</span>'); ?></p>
+				<?php textareas( $t, array( $can_edit, $can_approve ), 0 ); ?>
+				<p class="clear">
+					<?php printf(__( 'Plural: %s', 'glotpress' ), '<span class="original">'. $plural .'</span>'); ?>
+				</p>
+				<?php textareas( $t, array( $can_edit, $can_approve ), 1 ); ?>
+			<?php else: ?>
+				<!--
+				TODO: labels for each plural textarea and a sample number
+				-->
+				<p><?php printf(__( 'Singular: %s', 'glotpress' ), '<span class="original">'. $singular .'</span>'); ?></p>
+				<p class="clear">
+					<?php printf(__( 'Plural: %s', 'glotpress' ), '<span class="original">'. $plural .'</span>'); ?>
+				</p>
+				<?php foreach( range( 0, $locale->nplurals - 1 ) as $plural_index ): ?>
+					<?php if ( $locale->nplurals > 1 ): ?>
+					<p class="plural-numbers"><?php printf(__( 'This plural form is used for numbers like: %s', 'glotpress' ),
+							'<span class="numbers">'.implode(', ', $locale->numbers_for_index( $plural_index ) ).'</span>' ); ?></p>
+					<?php endif; ?>
+					<?php textareas( $t, array( $can_edit, $can_approve ), $plural_index ); ?>
+				<?php endforeach; ?>
+			<?php endif; ?>
+		<?php endif; ?>
+		</div>
+
+		<div class="meta">
+			<h3><?php _e( 'Meta', 'glotpress' ); ?></h3>
+			<dl>
+				<dt><?php _e( 'Status:', 'glotpress' ); ?></dt>
+				<dd>
+					<?php echo display_status( $t->translation_status ); ?>
+					<?php if ( $t->translation_status ): ?>
+						<?php if ( $can_approve_translation ) : ?>
+							<?php if ( 'current' !== $t->translation_status ) : ?>
+							<button class="approve" tabindex="-1" data-nonce="<?php echo esc_attr( wp_create_nonce( 'update-translation-status-current_' . $t->id ) ); ?>"><strong>+</strong> <?php _e( 'Approve', 'glotpress' ); ?></button>
+							<?php endif; ?>
+							<?php if ( 'rejected' !== $t->translation_status ) : ?>
+							<button class="reject" tabindex="-1" data-nonce="<?php echo esc_attr( wp_create_nonce( 'update-translation-status-rejected_' . $t->id ) ); ?>"><strong>&minus;</strong> <?php _e( 'Reject', 'glotpress' ); ?></button>
+							<?php endif; ?>
+							<?php if ( 'fuzzy' !== $t->translation_status ) : ?>
+							<button class="fuzzy" tabindex="-1" data-nonce="<?php echo esc_attr( wp_create_nonce( 'update-translation-status-fuzzy_' . $t->id ) ); ?>"><strong>~</strong> <?php _e( 'Fuzzy', 'glotpress' ); ?></button>
+							<?php endif; ?>
+						<?php elseif ( $can_reject_self ): ?>
+							<button class="reject" tabindex="-1" data-nonce="<?php echo esc_attr( wp_create_nonce( 'update-translation-status-rejected_' . $t->id ) ); ?>"><strong>&minus;</strong> <?php _e( 'Reject Suggestion', 'glotpress' ); ?></button>
+							<button class="fuzzy" tabindex="-1" data-nonce="<?php echo esc_attr( wp_create_nonce( 'update-translation-status-fuzzy_' . $t->id ) ); ?>"><strong>~</strong> <?php _e( 'Fuzzy', 'glotpress' ); ?></button>
+						<?php endif; ?>
+					<?php endif; ?>
+				</dd>
+			</dl>
+			<!--
+			<dl>
+				<dt><?php _e( 'Priority:', 'glotpress' ); ?></dt>
+				<dd><?php echo esc_html($t->priority); ?></dd>
+			</dl>
+			-->
+
+			<?php if ( $t->context ): ?>
+			<dl>
+				<dt><?php _e( 'Context:', 'glotpress' ); ?></dt>
+				<dd><span class="context bubble"><?php echo esc_translation($t->context); ?></span></dd>
+			</dl>
+			<?php endif; ?>
+			<?php if ( $t->extracted_comments ): ?>
+			<dl>
+				<dt><?php _e( 'Comment:', 'glotpress' ); ?></dt>
+				<dd><?php echo make_clickable( esc_translation($t->extracted_comments) ); ?></dd>
+			</dl>
+			<?php endif; ?>
+			<?php if ( $t->translation_added && $t->translation_added != '0000-00-00 00:00:00' ): ?>
+			<dl>
+				<dt><?php _e( 'Date added:', 'glotpress' ); ?></dt>
+				<dd><?php echo $t->translation_added; ?> GMT</dd>
+			</dl>
+			<?php endif; ?>
+			<?php if ( $t->user ) : ?>
+			<dl>
+				<dt><?php _e( 'Translated by:', 'glotpress' ); ?></dt>
+				<dd><?php gp_link_user( $t->user ); ?></dd>
+			</dl>
+			<?php endif; ?>
+			<?php if ( $t->user_last_modified && ( ! $t->user || $t->user->ID !== $t->user_last_modified->ID ) ) : ?>
+				<dl>
+					<dt><?php
+						if ( 'current' === $t->translation_status ) {
+							_e( 'Approved by:', 'glotpress' );
+						} elseif ( 'rejected' === $t->translation_status ) {
+							_e( 'Rejected by:', 'glotpress' );
+						} else {
+							_e( 'Last updated by:', 'glotpress' );
+						}
+						?>
+					</dt>
+					<dd><?php gp_link_user( $t->user_last_modified ); ?></dd>
+				</dl>
+			<?php endif; ?>
+			<?php references( $project, $t ); ?>
+
+			<dl>
+			    <dt><?php _e( 'Priority of the original:', 'glotpress' ); ?></dt>
+			<?php if ( $can_write ): ?>
+				<dd><?php
+					echo gp_select(
+						'priority-' . $t->original_id,
+						GP::$original->get_static( 'priorities' ),
+						$t->priority,
+						array(
+							'class'      => 'priority',
+							'tabindex'   => '-1',
+							'data-nonce' => wp_create_nonce( 'set-priority_' . $t->original_id ),
+						)
+					);
+					?></dd>
+			<?php else : ?>
+				<dd><?php echo gp_array_get( GP::$original->get_static( 'priorities' ), $t->priority, 'unknown' ); // WPCS: XSS ok. ?></dd>
+			<?php endif; ?>
+			</dl>
+
+			<dl>
+			    <dt><?php _e( 'More links:', 'glotpress' ); ?>
+				<ul>
+					<?php foreach ( $more_links as $link ) : ?>
+						<li><?php echo $link; // WPCS: XSS ok. ?></li>
+					<?php endforeach; ?>
+				</ul>
+				</dt>
+			</dl>
+		</div>
+		<div class="actions">
+		<?php if ( $can_edit ): ?>
+			<button class="ok" data-nonce="<?php echo esc_attr( wp_create_nonce( 'add-translation_' . $t->original_id ) ); ?>">
+				<?php echo $can_approve_translation ? __( 'Add translation &rarr;', 'glotpress' ) : __( 'Suggest new translation &rarr;', 'glotpress' ); ?>
+			</button>
+		<?php endif; ?>
+			<?php _e( 'or', 'glotpress' ); ?> <a href="#" class="close"><?php _e( 'Cancel', 'glotpress' ); ?></a>
+		</div>
+	</td>
+</tr>
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row-preview.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row-preview.php
new file mode 100644
index 000000000..61cc2dc0f
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row-preview.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Template for a single translation row preview in a translation set display
+ */
+
+$priority_char = array(
+    '-2' => array('&times;', 'transparent', '#ccc'),
+    '-1' => array('&darr;', 'transparent', 'blue'),
+    '0' => array('', 'transparent', 'white'),
+    '1' => array('&uarr;', 'transparent', 'green'),
+);
+?>
+
+<tr class="preview <?php gp_translation_row_classes( $t ); ?>" id="preview-<?php echo esc_attr( $t->row_id ) ?>" row="<?php echo esc_attr( $t->row_id ); ?>">
+	<?php if ( $can_approve_translation ) : ?>
+		<th scope="row" class="checkbox"><input type="checkbox" name="selected-row[]" /></th>
+	<?php elseif ( $can_approve ) : ?>
+		<th scope="row"></th>
+	<?php endif; ?>
+	<td class="priority" title="<?php echo esc_attr( sprintf( __( 'Priority: %s', 'glotpress' ), gp_array_get( GP::$original->get_static( 'priorities' ), $t->priority ) ) ); ?>">
+	   <?php echo $priority_char[$t->priority][0] ?>
+	</td>
+	<td class="original">
+		<?php echo prepare_original( esc_translation( $t->singular ) ); ?>
+		<?php if ( $t->context ): ?>
+		<span class="context bubble" title="<?php printf( __( 'Context: %s', 'glotpress' ), esc_html($t->context) ); ?>"><?php echo esc_html($t->context); ?></span>
+		<?php endif; ?>
+
+	</td>
+	<td class="translation foreign-text">
+	<?php
+		if ( $can_edit ) {
+			$edit_text = __( 'Double-click to add', 'glotpress' );
+		}
+		elseif ( is_user_logged_in() ) {
+			$edit_text = __( 'You are not allowed to add a translation.', 'glotpress' );
+		}
+		else {
+			$edit_text = sprintf( __( 'You <a href="%s">have to log in</a> to add a translation.', 'glotpress' ), esc_url( wp_login_url( gp_url_current() ) ) );
+		}
+
+		$missing_text = "<span class='missing'>$edit_text</span>";
+		if ( ! count( array_filter( $t->translations, 'gp_is_not_null' ) ) ) :
+			echo $missing_text;
+		elseif ( ! $t->plural ) :
+			echo esc_translation( $t->translations[0] );
+		else: ?>
+		<ul>
+			<?php
+				foreach( $t->translations as $translation ):
+			?>
+				<li><?php echo gp_is_empty_string( $translation ) ? $missing_text : esc_translation( $translation ); ?></li>
+			<?php
+				endforeach;
+			?>
+		</ul>
+	<?php
+		endif;
+	?>
+	</td>
+	<td class="actions">
+		<a href="#" row="<?php echo $t->row_id; ?>" class="action edit"><?php _e( 'Details', 'glotpress' ); ?></a>
+	</td>
+</tr>
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row.php wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row.php
new file mode 100644
index 000000000..45dc9bef6
--- /dev/null
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/translation-row.php
@@ -0,0 +1,7 @@
+<?php
+/**
+ * Template for a single translation row in a translation set display.
+ */
+
+gp_tmpl_load( 'translation-row-preview', get_defined_vars() );
+gp_tmpl_load( 'translation-row-editor', get_defined_vars() );
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/language-pack/class-build-listener.php wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/language-pack/class-build-listener.php
index 194fdc97a..4809a5a78 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/language-pack/class-build-listener.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/language-pack/class-build-listener.php
@@ -42,8 +42,8 @@ class Build_Listener {
 			return false;
 		}
 
-		$time = date( 'r' );
-		$message = "_Time: {$time}_\nLanguage packs for {$args['plugin']} in process...\n";
+		$timestamp = time();
+		$message   = '';
 
 		// Build in a separate process.
 		$cmd = WPORGTRANSLATE_WPCLI . ' wporg-translate language-pack generate plugin ' . escapeshellarg( $args['plugin'] ) . ' 2>&1';
@@ -63,6 +63,7 @@ class Build_Listener {
 			'fallback'   => "Language packs for {$args['plugin']} were processed.",
 			'color'      => '#c32283',
 			'mrkdwn_in'  => [ 'text' ],
+			'ts'         => $timestamp,
 		];
 		$this->slack( $attachment );
 
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/sync/class-translation-sync.php wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/sync/class-translation-sync.php
index 7e89de25a..a8c81c302 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/sync/class-translation-sync.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-plugin-directory/inc/sync/class-translation-sync.php
@@ -87,9 +87,10 @@ class Translation_Sync {
 		$sub_project = basename( $args['gp_project'] );
 		$sub_project_counterpart = $this->project_mapping[ $sub_project ];
 
-		$time = date( 'r' );
-		$message = "_Time: {$time}_\nTranslation sync from {$sub_project} to {$sub_project_counterpart} in process...\n";
-		$updates = 0;
+		$timestamp = time();
+		$message   = '';
+		$updates   = 0;
+
 		foreach ( $translation_sets as $translation_set ) {
 			if ( 0 == $translation_set->current_count() ) {
 				continue;
@@ -121,6 +122,7 @@ class Translation_Sync {
 			'fallback'   => "Translations for {$args['plugin']} were synced.",
 			'color'      => '#00a0d2',
 			'mrkdwn_in'  => [ 'text' ],
+			'ts'         => $timestamp,
 		];
 		$this->slack( $attachment );
 
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/class-plugin.php wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/class-plugin.php
index 283585f6f..24c27c4d5 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/class-plugin.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/class-plugin.php
@@ -87,6 +87,7 @@ class Plugin {
 	 *  - (/locale)/$locale/$dir/glossary/-delete
 	 *  - (/locale)/$locale/$dir/glossary/-export
 	 *  - (/locale)/$locale/$dir/glossary/-import
+	 *  - /locale/$locale/$dir/stats(?:/(plugins|themes))?s
 	 *  - /stats/?
 	 *  - /projects/wp-plugins/$project
 	 *  - /projects/wp-plugins/$project/contributors
@@ -142,6 +143,7 @@ class Plugin {
 			GP::$router->prepend( "(/locale)/$locale/$dir/glossary/-export", array( 'GP_Route_Glossary_Entry', 'export_glossary_entries_get' ) );
 			GP::$router->prepend( "(/locale)/$locale/$dir/glossary/-import", array( 'GP_Route_Glossary_Entry', 'import_glossary_entries_get' ) );
 			GP::$router->prepend( "(/locale)/$locale/$dir/glossary/-import", array( 'GP_Route_Glossary_Entry', 'import_glossary_entries_post' ), 'post' );
+			GP::$router->prepend( "/locale/$locale/$dir/stats(?:/(plugins|themes))?", array( __NAMESPACE__ . '\Routes\Stats', 'get_stats_plugin_theme_overview' ) );
 			GP::$router->prepend( '/stats', array( __NAMESPACE__ . '\Routes\Stats', 'get_stats_overview' ) );
 			GP::$router->prepend( '/consistency', array( __NAMESPACE__ . '\Routes\Consistency', 'get_search_form' ) );
 
@@ -205,7 +207,8 @@ class Plugin {
 			"SELECT `locale`, `all` AS `all_count`, `waiting` AS `waiting_count`, `current` AS `current_count`, `fuzzy` AS `fuzzy_count`
 			FROM {$wpdb->project_translation_status}
 			WHERE `project_id` = %d AND `locale_slug` = %s",
-			2, 'default' // 2 = wp/dev
+			2, // 2 = wp/dev
+			'default'
 		), OBJECT_K );
 
 		if ( ! $translation_status ) {
@@ -225,7 +228,7 @@ class Plugin {
 			return;
 		}
 
-		$locales   = GP::$translation_set->existing_locales();
+		$locales   = $this->get_existing_locales();
 		$db_counts = $wpdb->get_results(
 			"SELECT `locale`, COUNT( DISTINCT user_id ) as `count` FROM {$wpdb->user_translations_count} WHERE `accepted` > 0 GROUP BY `locale`",
 			OBJECT_K
@@ -247,12 +250,31 @@ class Plugin {
 		wp_cache_set( 'contributors-count', $counts, 'wporg-translate' );
 	}
 
+	/**
+	 * Retrieves existing locales of the main wp/dev project.
+	 *
+	 * Much faster alternative to `GP::$translation_set->existing_locales();` since it avoids
+	 * the expensive DISTINCT.
+	 *
+	 * @return array List of GlotPress locales.
+	 */
+	private function get_existing_locales() {
+		global $wpdb;
+
+		return $wpdb->get_col(
+			$wpdb->prepare(
+				"SELECT locale FROM {$wpdb->gp_translation_sets} WHERE `project_id` = %d and slug = %s",
+				2, // 2 = wp/dev
+				'default'
+			)
+		);
+	}
+
 	/**
 	 * Updates cache for existing locales.
 	 */
 	public function update_existing_locales_cache() {
-		$existing_locales = GP::$translation_set->existing_locales();
-
+		$existing_locales = $this->get_existing_locales();
 		if ( ! $existing_locales ) {
 			return;
 		}
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-locale.php wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-locale.php
index b2b7ceb12..dc7c05ac8 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-locale.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-locale.php
@@ -46,6 +46,7 @@ class Locale extends GP_Route {
 		$page = (int) gp_get( 'page', 1 );
 		$search = gp_get( 's', '' );
 		$filter = gp_get( 'filter', false );
+		$without_editors = gp_get( 'without-editors', false );
 
 		$locale = GP_Locales::by_slug( $locale_slug );
 		if ( ! $locale ) {
@@ -99,6 +100,7 @@ class Locale extends GP_Route {
 				'per_page' => $per_page,
 				'search' => $search,
 				'filter' => $filter,
+				'without_editors' => $without_editors,
 				'set_slug' => $set_slug,
 				'locale' => $locale_slug,
 			)
@@ -131,7 +133,7 @@ class Locale extends GP_Route {
 			$contributors_count = array();
 		}
 
-		$variants = $this->get_locale_variants( $locale_slug, $project_ids );
+		$variants = $this->get_locale_variants( $locale_slug );
 		// If there were no results for the current variant in the current project branch, it should still show it.
 		if ( ! in_array( $set_slug, $variants, true ) ) {
 			$variants[] = $set_slug;
@@ -185,22 +187,24 @@ class Locale extends GP_Route {
 			$contributors_count = array();
 		}
 
-		$sub_projects = $this->get_active_sub_projects( $sub_project, true );
-		$sub_project_slugs = array();
+		$sub_project_statuses = array();
+		$sub_projects         = $this->get_active_sub_projects( $sub_project, true );
 		if ( $sub_projects ) {
-			$sub_project_statuses = array();
 			foreach ( $sub_projects as $key => $_sub_project ) {
-				$sub_project_slugs[] = $_sub_project->slug;
-				$status = $this->get_project_status( $_sub_project, $locale_slug, $set_slug, null, false );
-
-				$sub_project_statuses[ $_sub_project->id ] = $status;
+				$sub_project_statuses[ $_sub_project->slug ] = $this->get_project_status(
+					$_sub_project,
+					$locale_slug,
+					$set_slug,
+					null,
+					false
+				);
 			}
-
-			$variants = $this->get_locale_variants( $locale_slug, array_keys( $sub_project_statuses ) );
-		} else {
-			$variants = $this->get_locale_variants( $locale_slug, array( $sub_project->id ) );
 		}
 
+		$sub_project_slugs = array_keys( $sub_project_statuses );
+
+		$variants = $this->get_locale_variants( $locale_slug );
+
 		$locale_contributors = $this->get_locale_contributors( $sub_project, $locale_slug, $set_slug );
 
 		$can_create_locale_glossary = GP::$permission->current_user_can( 'admin' );
@@ -213,57 +217,24 @@ class Locale extends GP_Route {
 	/**
 	 * Whether a translation set slug exists for a locale.
 	 *
+	 * For performance reasons, this checks the wp/dev project which is the canonical
+	 * source for all available and active locales.
+	 *
 	 * @param \GP_Locale $locale The locale.
 	 * @param string     $slug   The slug of a translation set.
 	 * @return bool True if slug exists, false if not.
 	 */
 	private function translation_set_slug_exists( $locale, $slug ) {
-		/*$cache_key = "translation_set_slugs:{$locale->slug}";
-		$slugs = wp_cache_get( $cache_key, $this->cache_group );
-
-		if ( false === $slugs ) {
-			global $wpdb;
-			$slugs = $wpdb->get_col( $wpdb->prepare(
-				"SELECT DISTINCT(slug) FROM {$wpdb->gp_translation_sets} WHERE locale = %s",
-				$locale->slug
-			) );
-
-			wp_cache_set( $cache_key, $slugs, $this->cache_group, DAY_IN_SECONDS );
-		}*/
-
-		// Hardcoded list because the query above doesn't perform well due to a missing index.
-		$slugs = [
-			'default' => [
-				'default',
-			],
-			'ca' => [
-				'default',
-				'valencia',
-			],
-			'de' => [
-				'default',
-				'formal',
-			],
-			'de-ch' => [
-				'default',
-				'informal',
-			],
-			'nl' => [
-				'default',
-				'formal',
-			],
-			'pt' => [
-				'default',
-				'informal',
-				'ao90',
-			],
-		];
+		global $wpdb;
 
-		if ( isset( $slugs[ $locale->slug ] ) ) {
-			return in_array( $slug, $slugs[ $locale->slug ], true );
-		}
+		$id = $wpdb->get_var( $wpdb->prepare(
+			"SELECT id FROM {$wpdb->gp_translation_sets} WHERE locale = %s AND slug = %s AND project_id = %d",
+			$locale->slug,
+			$slug,
+			2 // wp/dev
+		) );
 
-		return in_array( $slug, $slugs['default'], true );
+		return null !== $id;
 	}
 
 	/**
@@ -338,26 +309,22 @@ class Locale extends GP_Route {
 	}
 
 	/**
-	 * Retrieves non-default slugs of translation sets for a list of
-	 * project IDs.
+	 * Retrieves all slugs of translation sets for a locale.
+	 *
+	 * For performance reasons, this checks the wp/dev project which is the canonical
+	 * source for all available and active locales.
 	 *
-	 * @param string $locale     Slug of a GlotPress locale.
-	 * @param array $project_ids List of project IDs.
-	 * @return array List of non-default slugs.
+	 * @param string $locale Slug of a GlotPress locale.
+	 * @return array List of translation set slugs.
 	 */
-	private function get_locale_variants( $locale, $project_ids ) {
+	private function get_locale_variants( $locale ) {
 		global $wpdb;
 
-		$project_ids = implode( ',', $project_ids );
-		$slugs = $wpdb->get_col( $wpdb->prepare( "
-			SELECT DISTINCT slug
-			FROM {$wpdb->gp_translation_sets}
-			WHERE
-				project_id IN( $project_ids )
-				AND locale = %s
-		", $locale ) );
-
-		return $slugs;
+		return $wpdb->get_col( $wpdb->prepare(
+			"SELECT slug FROM {$wpdb->gp_translation_sets} WHERE locale = %s AND project_id = %d",
+			$locale,
+			2 // wp/dev
+		) );
 	}
 
 	/**
@@ -500,6 +467,8 @@ class Locale extends GP_Route {
 			);
 		}
 
+		$projects = [];
+
 		// Get the names of the contributors.
 		foreach ( $contributors as $contributor ) {
 			if ( isset( $locale_contributors['contributors'][ $contributor->user_id ] ) ) {
@@ -513,6 +482,19 @@ class Locale extends GP_Route {
 				$locale_contributors['contributors'][ $contributor->user_id ]->current_count += $contributor->current_count;
 				$locale_contributors['contributors'][ $contributor->user_id ]->waiting_count += $contributor->waiting_count;
 				$locale_contributors['contributors'][ $contributor->user_id ]->fuzzy_count   += $contributor->fuzzy_count;
+
+				if ( ! isset( $projects[ $contributor->project_id ] ) ) {
+					$projects[ $contributor->project_id ] = GP::$project->get( $contributor->project_id );
+				}
+
+				$locale_contributors['contributors'][ $contributor->user_id ]->detailed[ $contributor->project_id ] = (object) [
+					'total_count'   => $contributor->total_count,
+					'current_count' => $contributor->current_count,
+					'waiting_count' => $contributor->waiting_count,
+					'fuzzy_count'   => $contributor->fuzzy_count,
+					'project'       => $projects[ $contributor->project_id ],
+				];
+
 				continue;
 			}
 
@@ -521,7 +503,12 @@ class Locale extends GP_Route {
 				continue;
 			}
 
+			if ( ! isset( $projects[ $contributor->project_id ] ) ) {
+				$projects[ $contributor->project_id ] = GP::$project->get( $contributor->project_id );
+			}
+
 			$locale_contributors['contributors'][ $contributor->user_id ] = (object) array(
+				'login'         => $user->user_login,
 				'nicename'      => $user->user_nicename,
 				'display_name'  => $this->_encode( $user->display_name ),
 				'email'         => $user->user_email,
@@ -530,6 +517,15 @@ class Locale extends GP_Route {
 				'current_count' => $contributor->current_count,
 				'waiting_count' => $contributor->waiting_count,
 				'fuzzy_count'   => $contributor->fuzzy_count,
+				'detailed'      => [
+					$contributor->project_id => (object) [
+						'total_count'   => $contributor->total_count,
+						'current_count' => $contributor->current_count,
+						'waiting_count' => $contributor->waiting_count,
+						'fuzzy_count'   => $contributor->fuzzy_count,
+						'project'       => $projects[ $contributor->project_id ],
+					],
+				],
 				'is_editor'     => in_array( $user->ID, $editor_ids ),
 			);
 		}
@@ -554,6 +550,7 @@ class Locale extends GP_Route {
 		$contributors = $wpdb->get_results( $wpdb->prepare( "
 			SELECT
 				`t`.`user_id` as `user_id`,
+				`o`.`project_id` as `project_id`,
 				MAX( `t`.`date_added` ) AS `last_update`,
 				COUNT( * ) as `total_count`,
 				COUNT( CASE WHEN `t`.`status` = 'current' THEN `t`.`status` END ) AS `current_count`,
@@ -566,9 +563,8 @@ class Locale extends GP_Route {
 				`t`.`translation_set_id` = %d
 				AND `t`.`user_id` IS NOT NULL AND `t`.`user_id` != 0
 				AND `t`.`status` IN( 'current', 'waiting', 'fuzzy' )
-				AND `t`.`date_modified` > %s
 			GROUP BY `t`.`user_id`
-		", $translation_set->id, date( 'Y-m-d', time() - YEAR_IN_SECONDS ) ) );
+		", $translation_set->id ) );
 
 		return $contributors;
 	}
@@ -591,6 +587,7 @@ class Locale extends GP_Route {
 			$status->waiting_count      = 0;
 			$status->current_count      = 0;
 			$status->fuzzy_count        = 0;
+			$status->untranslated_count = 0;
 			$status->all_count          = 0;
 			$status->percent_complete   = 0;
 		}
@@ -606,6 +603,7 @@ class Locale extends GP_Route {
 			$status->waiting_count      += (int) $set->waiting_count();
 			$status->current_count      += (int) $set->current_count();
 			$status->fuzzy_count        += (int) $set->fuzzy_count();
+			$status->untranslated_count += (int) $set->untranslated_count();
 			$status->all_count          += (int) $set->all_count();
 
 			if ( $status->all_count ) {
@@ -697,12 +695,13 @@ class Locale extends GP_Route {
 		global $wpdb;
 
 		$defaults = array(
-			'per_page' => 20,
-			'page'     => 1,
-			'search'   => false,
-			'set_slug' => '',
-			'locale'   => '',
-			'filter'   => false,
+			'per_page'        => 20,
+			'page'            => 1,
+			'search'          => false,
+			'set_slug'        => '',
+			'locale'          => '',
+			'filter'          => false,
+			'without_editors' => false,
 		);
 		$r = wp_parse_args( $args, $defaults );
 		extract( $r, EXTR_SKIP );
@@ -743,6 +742,7 @@ class Locale extends GP_Route {
 
 			// Check to see if they have any special approval permissions.
 			$allowed_projects = array();
+			$allowed_base_level_projects = array();
 			if ( ! $can_approve_for_all && $role = $this->roles_adapter->is_approver_for_locale( $user_id, $locale ) ) {
 				$allowed_projects = $this->roles_adapter->get_project_id_access_list( $user_id, $locale );
 
@@ -760,9 +760,8 @@ class Locale extends GP_Route {
 				// The current user can approve for all projects, so just grab all with any waiting strings.
 				$parent_project_sql = 'AND ( stats.waiting > 0 OR stats.fuzzy > 0 )';
 				$parent_project_sql .= $base_level_project_sql;
-
 			} elseif ( $allowed_projects || $allowed_base_level_projects ) {
-				$parent_project_sql = 'AND stats.waiting > 0 AND ( (';
+				$parent_project_sql = 'AND ( stats.waiting > 0 OR stats.fuzzy > 0 ) AND ( (';
 
 				if ( $allowed_projects ) {
 					/*
@@ -795,6 +794,19 @@ class Locale extends GP_Route {
 				$parent_project_sql = 'AND 0=1';
 
 			}
+
+			// Exclude projects which have an assigned editor.
+			if ( $without_editors ) {
+				$project_ids_with_editor = $wpdb->get_col( $wpdb->prepare(
+					"SELECT DISTINCT(project_id) FROM `translate_translation_editors` WHERE (locale = %s OR locale = 'all-locales') AND project_id != 0 AND user_id != %d",
+					$locale,
+					$user_id
+				) );
+				if ( $project_ids_with_editor ) {
+					$project_ids_with_editor = implode( ', ', array_map( 'intval', $project_ids_with_editor ) );
+					$parent_project_sql .= " AND tp.id NOT IN( $project_ids_with_editor )";
+				}
+			}
 		}
 
 		$filter_order_by = $filter_where = '';
@@ -849,6 +861,11 @@ class Locale extends GP_Route {
 				$filter_order_by = "tp.path LIKE 'wp/%%' AND (stats.fuzzy + stats.waiting) > 0 DESC, (stats.fuzzy + stats.waiting) $sort_order, tp.name ASC";
 				break;
 
+			case 'strings-waiting-and-fuzzy-by-modified-date':
+				$filter_where = 'AND (stats.waiting > 0 OR stats.fuzzy > 0 ) AND stats.date_modified > "0000-00-00 00:00:00"';
+				$filter_order_by = "stats.date_modified $sort_order, tp.name ASC";
+				break;
+
 			case 'percent-completed':
 				$filter_where = 'AND stats.untranslated > 0';
 				$filter_order_by = "( stats.current / stats.all ) $sort_order, tp.name ASC";
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-stats.php wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-stats.php
index 4a7e880d2..b818da2dc 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-stats.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-routes/inc/routes/class-stats.php
@@ -4,6 +4,7 @@ namespace WordPressdotorg\GlotPress\Routes\Routes;
 
 use GP;
 use GP_Route;
+use GP_Locales;
 
 /**
  * Stats Route Class.
@@ -137,4 +138,105 @@ class Stats extends GP_Route {
 		$this->tmpl( 'stats-overview', get_defined_vars() );
 	}
 
+	public function get_stats_plugin_theme_overview( $locale, $locale_slug, $view = false ) {
+		global $wpdb;
+		if ( ! $locale || ! $locale_slug || ! $view ) {
+			wp_redirect( '/stats', 301 );
+			die();
+		}
+
+		$gp_locale = GP_Locales::by_slug( $locale );
+
+		$items = array();
+		if ( 'plugins' == $view ) {
+			// Fetch top 100 plugins..
+			$items = get_transient( __METHOD__ . '_plugin_items' );
+			if ( ! $items ) {
+				$api = wp_safe_remote_get( 'https://api.wordpress.org/plugins/info/1.2/?action=query_plugins&request[per_page]=250' );
+				foreach ( json_decode( wp_remote_retrieve_body( $api ) )->plugins as $plugin ) {
+					$items[ $plugin->slug ] = (object) [
+						'installs' => $plugin->active_installs,
+					];
+				}
+				set_transient( __METHOD__ . '_plugin_items', $items, DAY_IN_SECONDS );
+			}
+		} elseif ( 'themes' == $view && defined( 'WPORG_THEME_DIRECTORY_BLOGID' ) ) {
+			$items = get_transient( __METHOD__ . '_theme_items' );
+			if ( ! $items ) {
+				// The Themes API API isn't playing nice.. Easiest way..
+				switch_to_blog( WPORG_THEME_DIRECTORY_BLOGID );
+				$items = $wpdb->get_results(
+					"SELECT p.post_name as slug, pm.meta_value as installs
+					FROM {$wpdb->posts} p
+					LEFT JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id AND pm.meta_key = '_active_installs'
+					WHERE p.post_type = 'repopackage' AND p.post_status = 'publish'
+					ORDER BY pm.meta_value+0 DESC, p.post_date
+					LIMIT 250",
+					OBJECT_K
+				);
+				restore_current_blog();
+				foreach ( $items as $slug => $details ) {
+					unset( $items[$slug]->slug );
+				}
+				set_transient( __METHOD__ . '_theme_items', $items, DAY_IN_SECONDS );
+			}
+		} else {
+			wp_safe_redirect( '/stats' );
+			die();
+		}
+
+		$project_ids = [];
+		foreach ( $items as $slug => $details ) {
+			$items[$slug]->project = GP::$project->by_path( 'wp-' . $view . '/' . $slug );
+			if ( ! $items[$slug]->project || ! $items[$slug]->project->active ) {
+				// Not all top-all-time plugins/themes have translation projects.
+				unset( $items[ $slug ] );
+				continue;
+			}
+
+			if ( 'plugins' == $view ) {
+				// For plugins, we're ignoring the Readme projects as they're not immediately useful.
+				// The display will use the "Code Stable" if present, else "Code Development"
+				$code_project =
+					GP::$project->by_path( 'wp-' . $view . '/' . $slug . '/stable' ) ?:
+					GP::$project->by_path( 'wp-' . $view . '/' . $slug . '/dev' );
+
+				// No code project? This happens when the plugin isn't translatable. The readme projects still exist though.
+				if ( ! $code_project ) {
+					unset( $items[ $slug ] );
+					continue;
+				}
+
+				$project_ids[ $code_project->id ] = $slug;
+			} else {
+				$project_ids[ $items[$slug]->project->id ] = $slug;
+			}
+		}
+
+		$sql_project_ids = implode( ', ', array_map( 'intval', array_keys( $project_ids ) ) );
+		$stats = $wpdb->get_results( $wpdb->prepare(
+			"SELECT `project_id`, `all`, `current`, `waiting`, `untranslated`
+				FROM {$wpdb->project_translation_status}
+				WHERE project_id IN ($sql_project_ids)
+				AND locale = %s AND locale_slug = %s",
+			$locale, $locale_slug
+		) );
+
+		// Link Projects & Stats
+		foreach ( $stats as $row ) {
+			$items[ $project_ids[ $row->project_id ] ]->stats = $row;
+		}
+
+		// Final sanity check that we have data to display.
+		foreach ( $items as $slug => $details ) {
+			if (
+				! isset( $details->stats ) || // Didn't find any cached data for a project
+				! $details->stats->all // Project has no strings, not useful for this interface
+			) {
+				unset( $items[ $slug ] );
+			}
+		}
+
+		$this->tmpl( 'stats-plugin-themes-overview', compact( 'locale', 'locale_slug', 'view', 'gp_locale', 'items' ) );
+	}
 }
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/class-plugin.php wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/class-plugin.php
index 1047565bc..cae2e7cc1 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/class-plugin.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/class-plugin.php
@@ -64,8 +64,8 @@ class Plugin {
 	 * @return bool False on failure, true on success.
 	 */
 	public function import_or_update_theme_on_status_change( $args ) {
-		$time = date( 'r' );
-		$message = "_Time: {$time}_\nImport of theme {$args['theme']} {$args['version']} in process...\n";
+		$timestamp = time();
+		$message   = '';
 
 		// Import in a separate process.
 		$cmd = WPORGTRANSLATE_WPCLI . ' wporg-translate set-theme-project ' . escapeshellarg( $args['theme'] ) . ' ' . escapeshellarg( $args['version'] ) . ' 2>&1';;
@@ -86,6 +86,7 @@ class Plugin {
 			'fallback'   => "Theme {$args['theme']} was imported.",
 			'color'      => '#82878c',
 			'mrkdwn_in'  => [ 'text' ],
+			'ts'         => $timestamp,
 		];
 		$this->slack( $attachment );
 
diff --git wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/language-pack/class-build-listener.php wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/language-pack/class-build-listener.php
index 3b58ceed3..d2569bf6e 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/language-pack/class-build-listener.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-gp-theme-directory/inc/language-pack/class-build-listener.php
@@ -42,8 +42,8 @@ class Build_Listener {
 			return false;
 		}
 
-		$time = date( 'r' );
-		$message = "_Time: {$time}_\nLanguage packs for {$args['theme']} in process...\n";
+		$timestamp = time();
+		$message   = '';
 
 		// Build in a separate process.
 		$cmd = WPORGTRANSLATE_WPCLI . ' wporg-translate language-pack generate theme ' . escapeshellarg( $args['theme'] ) . ' 2>&1';
@@ -63,6 +63,7 @@ class Build_Listener {
 			'fallback'   => "Language packs for {$args['theme']} were processed.",
 			'color'      => '#c32283',
 			'mrkdwn_in'  => [ 'text' ],
+			'ts'         => $timestamp,
 		];
 		$this->slack( $attachment );
 
diff --git wordpress.org/public_html/wp-content/plugins/wporg-markdown/inc/class-editor.php wordpress.org/public_html/wp-content/plugins/wporg-markdown/inc/class-editor.php
index 612b8266c..52001b8d3 100644
--- wordpress.org/public_html/wp-content/plugins/wporg-markdown/inc/class-editor.php
+++ wordpress.org/public_html/wp-content/plugins/wporg-markdown/inc/class-editor.php
@@ -72,6 +72,7 @@ class Editor {
 		if ( ! is_singular( $this->importer->get_post_type() )
 			|| ! is_main_query()
 			|| ! in_the_loop()
+			|| is_embed()
 			|| $id !== get_queried_object_id() ) {
 			return $title;
 		}
diff --git wordpress.org/public_html/wp-content/themes/pub/gutenberg/404.php wordpress.org/public_html/wp-content/themes/pub/gutenberg/404.php
index 4a6924617..5a9db12db 100644
--- wordpress.org/public_html/wp-content/themes/pub/gutenberg/404.php
+++ wordpress.org/public_html/wp-content/themes/pub/gutenberg/404.php
@@ -18,38 +18,16 @@ get_header(); ?>
 				</header><!-- .page-header -->
 
 				<div class="page-content">
-					<p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try one of the links below or a search?', 'gutenbergtheme' ); ?></p>
+					<p><?php
+						printf(
+							__( 'It looks like nothing was found at this location. Maybe try the <a href="%s">Gutenberg Handbook</a> or a search?', 'gutenbergtheme' ),
+							home_url( '/handbook/' )
+						);
+					?></p>
 
 					<?php
 						get_search_form();
-
-						the_widget( 'WP_Widget_Recent_Posts' );
-					?>
-
-					<div class="widget widget_categories">
-						<h2 class="widget-title"><?php esc_html_e( 'Most Used Categories', 'gutenbergtheme' ); ?></h2>
-						<ul>
-						<?php
-							wp_list_categories( array(
-								'orderby'    => 'count',
-								'order'      => 'DESC',
-								'show_count' => 1,
-								'title_li'   => '',
-								'number'     => 10,
-							) );
-						?>
-						</ul>
-					</div><!-- .widget -->
-
-					<?php
-
-						/* translators: %1$s: smiley */
-						$archive_content = '<p>' . sprintf( esc_html__( 'Try looking in the monthly archives. %1$s', 'gutenbergtheme' ), convert_smilies( ':)' ) ) . '</p>';
-						the_widget( 'WP_Widget_Archives', 'dropdown=1', "after_title=</h2>$archive_content" );
-
-						the_widget( 'WP_Widget_Tag_Cloud' );
 					?>
-
 				</div><!-- .page-content -->
 			</section><!-- .error-404 -->
 
diff --git wordpress.org/public_html/wp-content/themes/pub/gutenberg/functions.php wordpress.org/public_html/wp-content/themes/pub/gutenberg/functions.php
index 6e5596f7c..5bf995f81 100644
--- wordpress.org/public_html/wp-content/themes/pub/gutenberg/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/gutenberg/functions.php
@@ -11,6 +11,434 @@ if ( ! defined( 'WPORGPATH' ) ) {
 	define( 'WPORGPATH', get_theme_file_path( '/inc/' ) );
 }
 
+/**
+ * Prevent errors resulting from change to Gutenberg plugin in 4.9 that adds call to
+ * `get_current_screen()`.
+ */
+if ( ! function_exists( 'get_current_screen' ) && ! is_admin() && ! wp_doing_cron() && ! wp_doing_ajax() && ! ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) ) {
+	function get_current_screen() {
+		return null;
+	}
+}
+
+/**
+ * This function was removed from the Gutenberg plugin in v5.3.
+ */
+if ( ! function_exists( 'gutenberg_editor_scripts_and_styles' ) ) {
+/**
+ * Scripts & Styles.
+ *
+ * Enqueues the needed scripts and styles when visiting the top-level page of
+ * the Gutenberg editor.
+ *
+ * @since 0.1.0
+ *
+ * @param string $hook Screen name.
+ */
+function gutenberg_editor_scripts_and_styles( $hook ) {
+	global $wp_meta_boxes;
+
+	// Enqueue heartbeat separately as an "optional" dependency of the editor.
+	// Heartbeat is used for automatic nonce refreshing, but some hosts choose
+	// to disable it outright.
+	wp_enqueue_script( 'heartbeat' );
+
+	wp_enqueue_script( 'wp-edit-post' );
+	wp_enqueue_script( 'wp-format-library' );
+	wp_enqueue_style( 'wp-format-library' );
+
+	global $post;
+
+	// Set initial title to empty string for auto draft for duration of edit.
+	// Otherwise, title defaults to and displays as "Auto Draft".
+	$is_new_post = 'auto-draft' === $post->post_status;
+
+	// Set the post type name.
+	$post_type        = get_post_type( $post );
+	$post_type_object = get_post_type_object( $post_type );
+	$rest_base        = ! empty( $post_type_object->rest_base ) ? $post_type_object->rest_base : $post_type_object->name;
+
+	$preload_paths = array(
+		'/',
+		'/wp/v2/types?context=edit',
+		'/wp/v2/taxonomies?per_page=-1&context=edit',
+		'/wp/v2/themes?status=active',
+		sprintf( '/wp/v2/%s/%s?context=edit', $rest_base, $post->ID ),
+		sprintf( '/wp/v2/types/%s?context=edit', $post_type ),
+		sprintf( '/wp/v2/users/me?post_type=%s&context=edit', $post_type ),
+		array( '/wp/v2/media', 'OPTIONS' ),
+		array( '/wp/v2/blocks', 'OPTIONS' ),
+	);
+
+	/**
+	 * Preload common data by specifying an array of REST API paths that will be preloaded.
+	 *
+	 * Filters the array of paths that will be preloaded.
+	 *
+	 * @param array $preload_paths Array of paths to preload
+	 * @param object $post         The post resource data.
+	 */
+	$preload_paths = apply_filters( 'block_editor_preload_paths', $preload_paths, $post );
+
+	// Ensure the global $post remains the same after
+	// API data is preloaded. Because API preloading
+	// can call the_content and other filters, callbacks
+	// can unexpectedly modify $post resulting in issues
+	// like https://github.com/WordPress/gutenberg/issues/7468.
+	$backup_global_post = $post;
+
+	$preload_data = array_reduce(
+		$preload_paths,
+		'rest_preload_api_request',
+		array()
+	);
+
+	// Restore the global $post as it was before API preloading.
+	$post = $backup_global_post;
+
+	wp_add_inline_script(
+		'wp-api-fetch',
+		sprintf( 'wp.apiFetch.use( wp.apiFetch.createPreloadingMiddleware( %s ) );', wp_json_encode( $preload_data ) ),
+		'after'
+	);
+
+	wp_add_inline_script(
+		'wp-blocks',
+		sprintf( 'wp.blocks.setCategories( %s );', wp_json_encode( get_block_categories( $post ) ) ),
+		'after'
+	);
+
+	// Assign initial edits, if applicable. These are not initially assigned
+	// to the persisted post, but should be included in its save payload.
+	if ( $is_new_post ) {
+		// Override "(Auto Draft)" new post default title with empty string,
+		// or filtered value.
+		$initial_edits = array(
+			'title'   => $post->post_title,
+			'content' => $post->post_content,
+			'excerpt' => $post->post_excerpt,
+		);
+	} else {
+		$initial_edits = null;
+	}
+
+	// Preload server-registered block schemas.
+	wp_add_inline_script(
+		'wp-blocks',
+		'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . json_encode( get_block_editor_server_block_settings() ) . ');'
+	);
+
+	// Get admin url for handling meta boxes.
+	$meta_box_url = admin_url( 'post.php' );
+	$meta_box_url = add_query_arg(
+		array(
+			'post'            => $post->ID,
+			'action'          => 'edit',
+			'meta-box-loader' => true,
+			'_wpnonce'        => wp_create_nonce( 'meta-box-loader' ),
+		),
+		$meta_box_url
+	);
+	wp_localize_script( 'wp-editor', '_wpMetaBoxUrl', $meta_box_url );
+
+	// Initialize the editor.
+	$align_wide    = get_theme_support( 'align-wide' );
+	$color_palette = current( (array) get_theme_support( 'editor-color-palette' ) );
+	$font_sizes    = current( (array) get_theme_support( 'editor-font-sizes' ) );
+
+	/**
+	 * Filters the allowed block types for the editor, defaulting to true (all
+	 * block types supported).
+	 *
+	 * @param bool|array $allowed_block_types Array of block type slugs, or
+	 *                                        boolean to enable/disable all.
+	 * @param object $post                    The post resource data.
+	 */
+	$allowed_block_types = apply_filters( 'allowed_block_types', true, $post );
+
+	// Get all available templates for the post/page attributes meta-box.
+	// The "Default template" array element should only be added if the array is
+	// not empty so we do not trigger the template select element without any options
+	// besides the default value.
+	$available_templates = wp_get_theme()->get_page_templates( get_post( $post->ID ) );
+	$available_templates = ! empty( $available_templates ) ? array_merge(
+		array(
+			'' => apply_filters( 'default_page_template_title', __( 'Default template', 'gutenberg' ), 'rest-api' ),
+		),
+		$available_templates
+	) : $available_templates;
+
+	// Media settings.
+	$max_upload_size = wp_max_upload_size();
+	if ( ! $max_upload_size ) {
+		$max_upload_size = 0;
+	}
+
+	// Editor Styles.
+	global $editor_styles;
+	$styles = array(
+		array(
+			'css' => file_get_contents(
+				ABSPATH . WPINC . '/css/dist/editor/editor-styles.css'
+			),
+		),
+	);
+
+	/* Translators: Use this to specify the CSS font family for the default font */
+	$locale_font_family = esc_html_x( 'Noto Serif', 'CSS Font Family for Editor Font', 'gutenberg' );
+	$styles[]           = array(
+		'css' => "body { font-family: '$locale_font_family' }",
+	);
+
+	if ( $editor_styles && current_theme_supports( 'editor-styles' ) ) {
+		foreach ( $editor_styles as $style ) {
+			if ( filter_var( $style, FILTER_VALIDATE_URL ) ) {
+				$styles[] = array(
+					'css' => file_get_contents( $style ),
+				);
+			} else {
+				$file = get_theme_file_path( $style );
+				if ( file_exists( $file ) ) {
+					$styles[] = array(
+						'css'     => file_get_contents( $file ),
+						'baseURL' => get_theme_file_uri( $style ),
+					);
+				}
+			}
+		}
+	}
+
+	// Lock settings.
+	$user_id = wp_check_post_lock( $post->ID );
+	if ( $user_id ) {
+		/**
+		 * Filters whether to show the post locked dialog.
+		 *
+		 * Returning a falsey value to the filter will short-circuit displaying the dialog.
+		 *
+		 * @since 3.6.0
+		 *
+		 * @param bool         $display Whether to display the dialog. Default true.
+		 * @param WP_Post      $post    Post object.
+		 * @param WP_User|bool $user    The user id currently editing the post.
+		 */
+		if ( apply_filters( 'show_post_locked_dialog', true, $post, $user_id ) ) {
+			$locked = true;
+		} else {
+			$locked = false;
+		}
+
+		$user_details = null;
+		if ( $locked ) {
+			$user         = get_userdata( $user_id );
+			$user_details = array(
+				'name' => $user->display_name,
+			);
+			$avatar       = get_avatar( $user_id, 64 );
+			if ( $avatar ) {
+				if ( preg_match( "|src='([^']+)'|", $avatar, $matches ) ) {
+					$user_details['avatar'] = $matches[1];
+				}
+			}
+		}
+
+		$lock_details = array(
+			'isLocked' => $locked,
+			'user'     => $user_details,
+		);
+	} else {
+
+		// Lock the post.
+		$active_post_lock = wp_set_post_lock( $post->ID );
+		$lock_details     = array(
+			'isLocked'       => false,
+			'activePostLock' => esc_attr( implode( ':', $active_post_lock ) ),
+		);
+	}
+
+	$editor_settings = array(
+		'alignWide'              => $align_wide,
+		'availableTemplates'     => $available_templates,
+		'allowedBlockTypes'      => $allowed_block_types,
+		'disableCustomColors'    => get_theme_support( 'disable-custom-colors' ),
+		'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ),
+		'disablePostFormats'     => ! current_theme_supports( 'post-formats' ),
+		'titlePlaceholder'       => apply_filters( 'enter_title_here', __( 'Add title', 'gutenberg' ), $post ),
+		'bodyPlaceholder'        => apply_filters( 'write_your_story', __( 'Start writing or type / to choose a block', 'gutenberg' ), $post ),
+		'isRTL'                  => is_rtl(),
+		'autosaveInterval'       => 10,
+		'maxUploadFileSize'      => $max_upload_size,
+		'allowedMimeTypes'       => get_allowed_mime_types(),
+		'styles'                 => $styles,
+		'imageSizes'             => gutenberg_get_available_image_sizes(),
+		'richEditingEnabled'     => user_can_richedit(),
+
+		// Ideally, we'd remove this and rely on a REST API endpoint.
+		'postLock'               => $lock_details,
+		'postLockUtils'          => array(
+			'nonce'       => wp_create_nonce( 'lock-post_' . $post->ID ),
+			'unlockNonce' => wp_create_nonce( 'update-post_' . $post->ID ),
+			'ajaxUrl'     => admin_url( 'admin-ajax.php' ),
+		),
+
+		// Whether or not to load the 'postcustom' meta box is stored as a user meta
+		// field so that we're not always loading its assets.
+		'enableCustomFields'     => (bool) get_user_meta( get_current_user_id(), 'enable_custom_fields', true ),
+	);
+
+	$post_autosave = gutenberg_get_autosave_newer_than_post_save( $post );
+	if ( $post_autosave ) {
+		$editor_settings['autosave'] = array(
+			'editLink' => get_edit_post_link( $post_autosave->ID ),
+		);
+	}
+
+	if ( false !== $color_palette ) {
+		$editor_settings['colors'] = $color_palette;
+	}
+
+	if ( false !== $font_sizes ) {
+		$editor_settings['fontSizes'] = $font_sizes;
+	}
+
+	if ( ! empty( $post_type_object->template ) ) {
+		$editor_settings['template']     = $post_type_object->template;
+		$editor_settings['templateLock'] = ! empty( $post_type_object->template_lock ) ? $post_type_object->template_lock : false;
+	}
+
+	$current_screen  = get_current_screen();
+	$core_meta_boxes = array();
+
+	// Make sure the current screen is set as well as the normal core metaboxes.
+	if ( isset( $current_screen->id ) && isset( $wp_meta_boxes[ $current_screen->id ]['normal']['core'] ) ) {
+		$core_meta_boxes = $wp_meta_boxes[ $current_screen->id ]['normal']['core'];
+	}
+
+	// Check if the Custom Fields meta box has been removed at some point.
+	if ( ! isset( $core_meta_boxes['postcustom'] ) || ! $core_meta_boxes['postcustom'] ) {
+		unset( $editor_settings['enableCustomFields'] );
+	}
+
+	/**
+	 * Filters the settings to pass to the block editor.
+	 *
+	 * @since 3.7.0
+	 *
+	 * @param array   $editor_settings Default editor settings.
+	 * @param WP_Post $post            Post being edited.
+	 */
+	$editor_settings = apply_filters( 'block_editor_settings', $editor_settings, $post );
+
+	$init_script = <<<JS
+( function() {
+	window._wpLoadBlockEditor = new Promise( function( resolve ) {
+		wp.domReady( function() {
+			resolve( wp.editPost.initializeEditor( 'editor', "%s", %d, %s, %s ) );
+		} );
+	} );
+} )();
+JS;
+
+	$script = sprintf(
+		$init_script,
+		$post->post_type,
+		$post->ID,
+		wp_json_encode( $editor_settings ),
+		wp_json_encode( $initial_edits )
+	);
+	wp_add_inline_script( 'wp-edit-post', $script );
+
+	/**
+	 * Scripts
+	 */
+	wp_enqueue_media(
+		array(
+			'post' => $post->ID,
+		)
+	);
+	wp_tinymce_inline_scripts();
+	wp_enqueue_editor();
+
+	/**
+	 * Styles
+	 */
+	wp_enqueue_style( 'wp-edit-post' );
+
+	/**
+	 * Fires after block assets have been enqueued for the editing interface.
+	 *
+	 * Call `add_action` on any hook before 'admin_enqueue_scripts'.
+	 *
+	 * In the function call you supply, simply use `wp_enqueue_script` and
+	 * `wp_enqueue_style` to add your functionality to the Gutenberg editor.
+	 *
+	 * @since 0.4.0
+	 */
+	do_action( 'enqueue_block_editor_assets' );
+}
+
+}
+
+
+/**
+ * This function was removed from the Gutenberg plugin in v5.4.
+ */
+if ( ! function_exists( 'gutenberg_get_available_image_sizes' ) ) {
+/**
+ * Retrieve The available image sizes for a post
+ *
+ * @return array
+ */
+function gutenberg_get_available_image_sizes() {
+	$size_names = apply_filters(
+		'image_size_names_choose',
+		array(
+			'thumbnail' => __( 'Thumbnail', 'gutenberg' ),
+			'medium'    => __( 'Medium', 'gutenberg' ),
+			'large'     => __( 'Large', 'gutenberg' ),
+			'full'      => __( 'Full Size', 'gutenberg' ),
+		)
+	);
+	$all_sizes = array();
+	foreach ( $size_names as $size_slug => $size_name ) {
+		$all_sizes[] = array(
+			'slug' => $size_slug,
+			'name' => $size_name,
+		);
+	}
+	return $all_sizes;
+}
+} // /function_exists()
+
+/**
+ * This function was removed from the Gutenberg plugin in v5.4.
+ */
+if ( ! function_exists( 'gutenberg_get_autosave_newer_than_post_save' ) ) {
+/**
+ * Retrieve a stored autosave that is newer than the post save.
+ *
+ * Deletes autosaves that are older than the post save.
+ *
+ * @param  WP_Post $post Post object.
+ * @return WP_Post|boolean The post autosave. False if none found.
+ */
+function gutenberg_get_autosave_newer_than_post_save( $post ) {
+	// Add autosave data if it is newer and changed.
+	$autosave = wp_get_post_autosave( $post->ID );
+	if ( ! $autosave ) {
+		return false;
+	}
+	// Check if the autosave is newer than the current post.
+	if (
+		mysql2date( 'U', $autosave->post_modified_gmt, false ) > mysql2date( 'U', $post->post_modified_gmt, false )
+	) {
+		return $autosave;
+	}
+	// If the autosave isn't newer, remove it.
+	wp_delete_post_revision( $autosave->ID );
+	return false;
+}
+} // /function_exists()
 
 add_action( 'template_redirect', function() {
 	if ( ! is_page( 'test' ) ) {
@@ -155,7 +583,7 @@ add_action( 'template_redirect', function() {
 			'wp-edit-post',
 			'wp.data.dispatch( "core/edit-post" ).closeGeneralSidebar();' .
 			'wp.data.dispatch( "core/nux" ).disableTips();' .
-			'_wpLoadGutenbergEditor.then( function() { wp.blocks.unregisterBlockType( "core/shortcode" ); } );'
+			'_wpLoadBlockEditor.then( function() { wp.blocks.unregisterBlockType( "core/shortcode" ); } );'
 		);
 
 	}, 11 );
@@ -435,7 +863,7 @@ function gutenbergtheme_fonts_url() {
  * Enqueue scripts and styles.
  */
 function gutenbergtheme_scripts() {
-	wp_enqueue_style( 'gutenbergtheme-style', get_stylesheet_uri(), [], 10 );
+	wp_enqueue_style( 'gutenbergtheme-style', get_stylesheet_uri(), [], 12 );
 
 	wp_enqueue_style( 'gutenbergthemeblocks-style', get_template_directory_uri() . '/blocks.css');
 
@@ -494,7 +922,8 @@ function gutenbergtheme_handbook_redirects() {
 	// Any handbook pages where the filename changes should be listed here.
 	// If only the parent path changes, it's not needed and WordPress will handle it automatically.
 	$redirects = [
-		'reference/deprecated'           => 'designers-developers/developers/backwards-compatibility/deprecations/',
+		'designers-developers/developers/backwards-compatibility' => 'designers-developers/developers/backward-compatibility/',
+		'reference/deprecated'           => 'designers-developers/developers/backward-compatibility/deprecations/',
 		'extensibility/annotations'      => 'designers-developers/developers/block-api/block-annotations/',
 		'block-api/attributes'           => 'designers-developers/developers/block-api/block-attributes/',
 		'block-api/deprecated-blocks'    => 'designers-developers/developers/block-api/block-deprecation/',
diff --git wordpress.org/public_html/wp-content/themes/pub/gutenberg/gutenfront-content.php wordpress.org/public_html/wp-content/themes/pub/gutenberg/gutenfront-content.php
index fa8131cf4..0404a5591 100644
--- wordpress.org/public_html/wp-content/themes/pub/gutenberg/gutenfront-content.php
+++ wordpress.org/public_html/wp-content/themes/pub/gutenberg/gutenfront-content.php
@@ -169,7 +169,7 @@ $content .= '<!-- wp:heading {"align":"left"} -->
 $content .= '<!-- wp:list -->
 <ul>
 	<li><a href="https://make.wordpress.org/core/2017/01/17/editor-technical-overview">' . esc_html__( 'Gutenberg Editor Technical Overview', 'wporg' ) . '</a></li>
-	<li><a href="https://wordpress.org/gutenberg/handbook/reference/design-principles/">' . esc_html__( 'Gutenberg Design Principles', 'wporg' ) . '</a></li>
+	<li><a href="https://wordpress.org/gutenberg/handbook/contributors/design/">' . esc_html__( 'Gutenberg Design Principles', 'wporg' ) . '</a></li>
 	<li><a href="https://make.wordpress.org/core/tag/gutenberg/">' . esc_html__( 'Development updates on make.wordpress.org', 'wporg' ) . '</a></li>
 	<li><a href="https://wordpress.tv/?s=gutenberg">' . esc_html__( 'WordPress.tv Talks about Gutenberg', 'wporg' ) . '</a></li>
 	<li><a href="https://wordpress.org/gutenberg/handbook/reference/faq/">' . esc_html__( 'FAQs', 'wporg' ) . '</a></li>
diff --git wordpress.org/public_html/wp-content/themes/pub/gutenberg/inc/docs-importer.php wordpress.org/public_html/wp-content/themes/pub/gutenberg/inc/docs-importer.php
index b75989f07..029f746c4 100644
--- wordpress.org/public_html/wp-content/themes/pub/gutenberg/inc/docs-importer.php
+++ wordpress.org/public_html/wp-content/themes/pub/gutenberg/inc/docs-importer.php
@@ -278,22 +278,22 @@ class Import_Gutendocs {
 		}
 
 		// Remove the .md extension from relative links and treat 'readme.md' as an index
-		$markdown = preg_replace( '@(\[.*?\]\(((\.\./)+docs/|/docs/|/packages/).*?)(((?<=/)readme)?\.md)?(#.*)?\)@i', '$1$6)', $markdown );
+		$markdown = preg_replace( '@(\[.*?\]\(((\.\./)+docs/|/docs/|/packages/).*?)(((?<=/)readme)?\.md)?(#.*?)?\)@i', '$1$6)', $markdown );
 
 		// Remove the (../)*docs/ path from relative links, and replace it with an absolute URL
-		$markdown = preg_replace( '@(\[.*?\])\((\.\./)+docs/(.*?)/?(#.*)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/$3/$4)', $markdown );
+		$markdown = preg_replace( '@(\[.*?\])\((\.\./)+docs/(.*?)/?(#.*?)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/$3/$4)', $markdown );
 
 		// Handle /docs/(.+)(/README.md) path for internal links and replace it with an absolute URL
-		$markdown = preg_replace( '@(\[.*?\])\(/docs/(.*?)/?(#.*)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/$2/$3)', $markdown );
+		$markdown = preg_replace( '@(\[.*?\])\(/docs/(.*?)/?(#.*?)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/$2/$3)', $markdown );
 
 		// Handle /packages/compomnents(/README.md)
-		$markdown = preg_replace( '@(\[.*?\])\(/packages/components/?(#.*)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/designers-developers/developers/components/$2)', $markdown );
+		$markdown = preg_replace( '@(\[.*?\])\(/packages/components/?(#.*?)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/designers-developers/developers/components/$2)', $markdown );
 
 		// Handle /packages/components/(src/)(.+)(/README.md)
-		$markdown = preg_replace( '@(\[.*?\])\(/packages/components/(src/)?(.*?)/?(#.*)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/designers-developers/developers/components/$3/$4)', $markdown );
+		$markdown = preg_replace( '@(\[.*?\])\(/packages/components/(src/)?(.*?)/?(#.*?)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/designers-developers/developers/components/$3/$4)', $markdown );
 
 		// Handle /packages/(.+)(/README.md)
-		$markdown = preg_replace( '@(\[.*?\])\(/packages/(.*?)/?(#.*)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/designers-developers/developers/packages/packages-$2/$3)', $markdown );
+		$markdown = preg_replace( '@(\[.*?\])\(/packages/(.*?)/?(#.*?)?\)@i', '$1(https://wordpress.org/gutenberg/handbook/designers-developers/developers/packages/packages-$2/$3)', $markdown );
 
 		// Transform to HTML
 		jetpack_require_lib( 'markdown' );
diff --git wordpress.org/public_html/wp-content/themes/pub/gutenberg/single.php wordpress.org/public_html/wp-content/themes/pub/gutenberg/single.php
index 934e150cc..41a354935 100644
--- wordpress.org/public_html/wp-content/themes/pub/gutenberg/single.php
+++ wordpress.org/public_html/wp-content/themes/pub/gutenberg/single.php
@@ -11,6 +11,8 @@ get_header();
 
 get_sidebar( 'handbook' );
 
+do_action( 'handbook_breadcrumbs' );
+
 ?>
 
 	<div id="primary" class="content-area">
diff --git wordpress.org/public_html/wp-content/themes/pub/gutenberg/style.css wordpress.org/public_html/wp-content/themes/pub/gutenberg/style.css
index ebd895255..5724d884f 100644
--- wordpress.org/public_html/wp-content/themes/pub/gutenberg/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/gutenberg/style.css
@@ -36,6 +36,7 @@ Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
 # Content
 	## Posts and pages
 	## Comments
+	## 404
 # Infinite scroll
 # Media
 	## Captions
@@ -526,11 +527,7 @@ a {
   color: #0073aa;
 }
 
-a:visited {
-  color: #333;
-}
-
-a:hover, a:focus, a:active {
+a:visited, a:hover, a:focus, a:active {
   color: #00a0d2;
 }
 
@@ -753,6 +750,18 @@ a:hover, a:active {
   max-width: 100%;
 }
 
+.widget_search .search-submit {
+  display: none;
+}
+
+.widget_search input[type="search"] {
+  width: 90%;
+  box-sizing: border-box;
+  padding: 0.5rem;
+  font-size: 14px;
+  border: 1px solid #eee;
+}
+
 /*--------------------------------------------------------------
 # Content
 --------------------------------------------------------------*/
@@ -834,6 +843,21 @@ a:hover, a:active {
   display: block;
 }
 
+/*--------------------------------------------------------------
+## 404
+--------------------------------------------------------------*/
+.error404 #content {
+  max-width: 960px;
+  margin: 0 auto;
+  display: flex;
+  min-height: 400px;
+}
+
+.error404 p {
+  margin: 1.5em auto;
+}
+
+
 /*--------------------------------------------------------------
 # Infinite scroll
 --------------------------------------------------------------*/
@@ -1289,6 +1313,44 @@ nav.handbook-navigation .nav-links a[rel="next"] {
 	top: 12px;
 }
 
+.handbook-breadcrumbs {
+	position: absolute;
+	top: 4rem;
+	left: 315px;
+	font-size: 0.8rem;
+}
+
+.single-handbook .handbook-breadcrumbs ~ #primary {
+	padding-top: 8rem;
+}
+
+.single-handbook .handbook-name-container ~ .handbook-breadcrumbs {
+	top: 5rem;
+}
+
+.single-handbook .handbook-name-container ~ .handbook-breadcrumbs ~ #primary {
+	padding-top: 10rem;
+}
+
+@media (max-width: 875px) {
+	.handbook-breadcrumbs {
+		top: 2rem;
+		left: 30%;
+	}
+
+	.single-handbook .handbook-breadcrumbs ~ #primary {
+		padding-top: 7rem;
+	}
+
+	.single-handbook .handbook-name-container ~ .handbook-breadcrumbs {
+		top: 5rem;
+	}
+
+	.single-handbook .handbook-name-container ~ .handbook-breadcrumbs ~ #primary {
+		padding-top: 10rem;
+	}
+}
+
 /** Table of Contents */
 .post-type-archive-handbook div.table-of-contents,
 .single-handbook div.table-of-contents {
@@ -1503,6 +1565,9 @@ h2.toc-heading + h3.toc-heading:target {
 .menu-table-of-contents-container ul a:visited:not(:hover) {
   color: #0073aa;
 }
+.menu-table-of-contents-container ul a:focus:not(.active) {
+  color: #fff
+}
 .menu-table-of-contents-container > ul > li:last-child {
   border-bottom: 1px solid rgba(0,0,0,0.05);
 }
@@ -1543,6 +1608,7 @@ h2.toc-heading + h3.toc-heading:target {
 	max-width: 960px;
 	margin: 0 auto;
 	display: flex;
+	position: relative;
 }
 
 .single-handbook header {
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/animate.css wordpress.org/public_html/wp-content/themes/pub/wporg-apps/animate.css
index cbffaa346..371e66886 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/animate.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/animate.css
@@ -1,8 +1,8 @@
 @charset "UTF-8";
 
 /*!
-Animate.css - http://daneden.me/animate
-Licensed under the MIT license - http://opensource.org/licenses/MIT
+Animate.css - https://daneden.github.io/animate.css/
+Licensed under the MIT license - https://opensource.org/licenses/MIT
 
 Copyright (c) 2013 Daniel Eden
 */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/archive.php wordpress.org/public_html/wp-content/themes/pub/wporg-apps/archive.php
index 349b81f80..5a061f67e 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/archive.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/archive.php
@@ -2,7 +2,7 @@
 /**
  * The template for displaying Archive pages.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wpmobileapps
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/content-none.php wordpress.org/public_html/wp-content/themes/pub/wporg-apps/content-none.php
index 5b16cec82..87deea9fc 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/content-none.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/content-none.php
@@ -2,7 +2,7 @@
 /**
  * The template part for displaying a message that posts cannot be found.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wpmobileapps
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-apps/functions.php
index 16ffbf534..fa25807f3 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/functions.php
@@ -36,7 +36,7 @@ function wpmobileapps_setup() {
 	/*
 	 * Enable support for Post Thumbnails on posts and pages.
 	 *
-	 * @link http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails
+	 * @link https://developer.wordpress.org/reference/functions/add_theme_support/#post-thumbnails
 	 */
 	add_theme_support( 'post-thumbnails' );
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/extras.php wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/extras.php
index 591353f1a..29488830a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/extras.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/extras.php
@@ -71,7 +71,7 @@ add_filter( 'document_title_parts', 'wpmobileapps_document_title' );
  * Sets the authordata global when viewing an author archive.
  *
  * This provides backwards compatibility with
- * http://core.trac.wordpress.org/changeset/25574
+ * https://core.trac.wordpress.org/changeset/25574
  *
  * It removes the need to call the_post() and rewind_posts() in an author
  * template to print information about the author.
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/jetpack.php wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/jetpack.php
index 567235ecf..f13e21f0d 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/jetpack.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/inc/jetpack.php
@@ -1,14 +1,14 @@
 <?php
 /**
  * Jetpack Compatibility File
- * See: http://jetpack.me/
+ * See: https://jetpack.me/
  *
  * @package wpmobileapps
  */
 
 /**
  * Add theme support for Infinite Scroll.
- * See: http://jetpack.me/support/infinite-scroll/
+ * See: https://jetpack.me/support/infinite-scroll/
  */
 function wpmobileapps_jetpack_setup() {
 	add_theme_support( 'infinite-scroll', array(
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/index.php wordpress.org/public_html/wp-content/themes/pub/wporg-apps/index.php
index 3978170d4..72b45e190 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/index.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/index.php
@@ -6,7 +6,7 @@
  * and one of the two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * E.g., it puts together the home page when no home.php file exists.
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wpmobileapps
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/rtl.css wordpress.org/public_html/wp-content/themes/pub/wporg-apps/rtl.css
index 09170036b..4d487635f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/rtl.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/rtl.css
@@ -5,7 +5,7 @@ Adding support for language written in a Right To Left (RTL) direction is easy -
 it's just a matter of overwriting all the horizontal positioning attributes
 of your CSS stylesheet in a separate stylesheet file named rtl.css.
 
-http://codex.wordpress.org/Right_to_Left_Language_Support
+https://codex.wordpress.org/Right_to_Left_Language_Support
 
 */
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-apps/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-apps/style.css
index 3a3cd7d2d..fab0f0eee 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-apps/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-apps/style.css
@@ -1,8 +1,8 @@
 /*
 Theme Name: wpmobileapps
-Theme URI: http://underscores.me/
+Theme URI: https://apps.wordpress.org/
 Author: Dave Whitley
-Author URI: http://underscores.me/
+Author URI: https://underscores.me/
 Description: WordPress Mobile Apps Site
 Version: 1.0
 License: GNU General Public License
@@ -14,11 +14,11 @@ Tags:
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.
 
- wpmobileapps is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
+ wpmobileapps is based on Underscores https://underscores.me/, (C) 2012-2014 Automattic, Inc.
 
 Resetting and rebuilding styles have been helped along thanks to the fine work of
-Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
-along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
+Eric Meyer https://meyerweb.com/eric/tools/css/reset/index.html
+along with Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/
 and Blueprint http://www.blueprintcss.org/
 */
 /* =Reset
@@ -57,7 +57,7 @@ html {
 *,
 *:before,
 *:after {
-  /* apply a natural box layout model to all elements; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
+  /* apply a natural box layout model to all elements; see https://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
@@ -2358,8 +2358,8 @@ object {
   }
 }
 /*
-Animate.css - http://daneden.me/animate
-Licensed under the MIT license - http://opensource.org/licenses/MIT
+Animate.css - https://daneden.github.io/animate.css/
+Licensed under the MIT license - https://opensource.org/licenses/MIT
 
 Copyright (c) 2013 Daniel Eden
 */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/functions.php
index bde128b82..bf0af19f9 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/functions.php
@@ -36,6 +36,16 @@ function customize_register( $wp_customize ) {
 	}
 }
 
+/**
+ * Outputs a 'noindex,follow' meta tag for search results.
+ */
+function no_robots_search_results() {
+	if ( is_search() ) {
+		wp_no_robots();
+	}
+}
+add_action( 'wp_head', __NAMESPACE__ . '\no_robots_search_results', 9 );
+
 /**
  * Renders the site title for the selective refresh partial.
  */
@@ -48,7 +58,7 @@ function styles() {
 	wp_enqueue_style( 'p2-breathe', get_template_directory_uri() . '/style.css' );
 
 	// Cacheing hack
-	wp_enqueue_style( 'wporg-breathe', get_stylesheet_uri(), array( 'p2-breathe' ), '20181128' );
+	wp_enqueue_style( 'wporg-breathe', get_stylesheet_uri(), array( 'p2-breathe' ), '20190117' );
 }
 add_action( 'wp_enqueue_scripts', __NAMESPACE__ . '\styles', 11 );
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/header.php wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/header.php
index 2ed3352ac..9e061ccda 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/header.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/header.php
@@ -1,5 +1,9 @@
 <?php
 $GLOBALS['pagetitle'] = wp_get_document_title();
+global $wporg_global_header_options;
+if ( !isset( $wporg_global_header_options['in_wrapper'] ) )
+	$wporg_global_header_options['in_wrapper'] = '';
+$wporg_global_header_options['in_wrapper'] .= '<a class="skip-link screen-reader-text" href="#content">' . esc_html__( 'Skip to content', 'wporg' ) . '</a>';
 require WPORGPATH . 'header.php';
 ?>
 <header id="masthead" class="site-header" role="banner">
@@ -13,8 +17,6 @@ require WPORGPATH . 'header.php';
 	</div>
 
 	<nav id="site-navigation" class="navigation-main clear" role="navigation">
-		<div class="screen-reader-text skip-link"><a href="#content" title="<?php _e( 'Skip to content', 'wporg' ); ?>"><?php _e( 'Skip to content', 'wporg' ); ?></a></div>
-
 		<?php wp_nav_menu( array( 'theme_location' => 'primary', 'fallback_cb' => false, 'depth' => 1 ) ); ?>
 	</nav><!-- .navigation-main -->
 </header><!-- .site-header -->
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/index.php wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/index.php
index a97c052e6..39420c6d1 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/index.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/index.php
@@ -6,7 +6,7 @@
  * and one of the two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * E.g., it puts together the home page when no home.php file exists.
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package p2-breathe
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/style.css
index dc216c942..62618ca74 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-breathe/style.css
@@ -447,6 +447,14 @@ pre code {
 	padding: 0;
 }
 
+.wp-block-code {
+	display: block;
+	line-height: 1.75em;
+	padding: 1em;
+	overflow: auto;
+	white-space: pre-wrap;
+}
+
 article.post .o2-post,
 article#post-new .o2-post,
 article.page .o2-post,
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-command.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-command.php
index 443735c90..2e3920cf5 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-command.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-command.php
@@ -3,7 +3,7 @@
 /**
  * The template for displaying Archive pages.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wporg-developer
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-plugin-handbook.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-plugin-handbook.php
index 41fc63d1d..602d146ea 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-plugin-handbook.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-plugin-handbook.php
@@ -3,7 +3,7 @@
 /**
  * The template for displaying Archive pages.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wporg-developer
  */
@@ -40,4 +40,4 @@ get_header(); ?>
 	<?php get_sidebar(); ?>
 	</div><!-- /pagebody -->
 
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-theme-handbook.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-theme-handbook.php
index 41fc63d1d..602d146ea 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-theme-handbook.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive-theme-handbook.php
@@ -3,7 +3,7 @@
 /**
  * The template for displaying Archive pages.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wporg-developer
  */
@@ -40,4 +40,4 @@ get_header(); ?>
 	<?php get_sidebar(); ?>
 	</div><!-- /pagebody -->
 
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive.php
index ef4e3b5d8..f80bce0aa 100755
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/archive.php
@@ -3,7 +3,7 @@
 /**
  * The template for displaying Archive pages.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wporg-developer
  */
@@ -40,4 +40,4 @@ get_header(); ?>
 		<!-- /wrapper -->
 	</div><!-- /pagebody -->
 
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/content-none.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/content-none.php
index b310d4173..226fc5035 100755
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/content-none.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/content-none.php
@@ -2,7 +2,7 @@
 /**
  * The template part for displaying a message that posts cannot be found.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wporg-developer
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/functions.php
index d3d81b09c..d2308414b 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/functions.php
@@ -131,7 +131,6 @@ if ( ! isset( $content_width ) ) {
 
 add_action( 'init', __NAMESPACE__ . '\\init' );
 add_action( 'widgets_init', __NAMESPACE__ . '\\widgets_init' );
-add_action( 'wp_default_styles', __NAMESPACE__ . '\\remove_dashicons_styles', 11 );
 
 function init() {
 
@@ -157,20 +156,6 @@ function init() {
 	add_filter( 'syntaxhighlighter_htmlresult', __NAMESPACE__ . '\\syntaxhighlighter_htmlresult' );
 }
 
-/**
- * Makes 'dashicons' a noop script on the frontend to prevent getting enqueued.
- *
- * The global W.org header already includes the dashicons stylesheet.
- *
- * @param WP_Scripts $scripts WP_Scripts object.
- */
-function remove_dashicons_styles( &$scripts ) {
-	if ( ! is_admin() ) {
-		$scripts->remove( 'dashicons' );
-		$scripts->add( 'dashicons', '' );
-	}
-}
-
 /**
  * Customize the theme title separator.
  *
@@ -356,7 +341,7 @@ function theme_scripts_styles() {
 	wp_enqueue_style( 'dashicons' );
 	wp_enqueue_style( 'open-sans', '//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,300,600' );
 	wp_enqueue_style( 'wporg-developer-style', get_stylesheet_uri(), array(), '2' );
-	wp_enqueue_style( 'wp-dev-sass-compiled', get_template_directory_uri() . '/stylesheets/main.css', array( 'wporg-developer-style' ), '20181116' );
+	wp_enqueue_style( 'wp-dev-sass-compiled', get_template_directory_uri() . '/stylesheets/main.css', array( 'wporg-developer-style' ), '20190205' );
 	wp_enqueue_script( 'wporg-developer-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20181209', true );
 	wp_enqueue_script( 'wporg-developer-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true );
 	wp_enqueue_script( 'wporg-developer-search', get_template_directory_uri() . '/js/search.js', array(), '20150430', true );
@@ -417,3 +402,38 @@ function syntaxhighlighter_htmlresult( $text ) {
 
 	return $new_text;
 }
+
+/**
+ * Output a <meta name="description" content=""> tag for Functions, Hooks, Classes and Methods.
+ */
+function add_meta_description_for_summary() {
+	if ( ! is_singular( array( 'wp-parser-function', 'wp-parser-hook', 'wp-parser-class', 'wp-parser-method' ) ) ) {
+		return;
+	}
+
+	$summary = wp_strip_all_tags( get_summary() );
+
+	// Trim down to ~150 char based on full words.
+	if ( strlen( $summary ) > 150 ) {
+		$words = preg_split( "/[\n\r\t ]+/", $summary, -1, PREG_SPLIT_NO_EMPTY );
+
+		$summary = '';
+		while ( $words ) {
+			$word = array_shift( $words );
+			if ( strlen( $summary ) + strlen( $word ) >= 141 ) { /* 150 - strlen( ' &hellip;' ) */
+				break;
+			}
+
+			$summary .= $word . ' ';
+		}
+
+		if ( $words ) {
+			$summary .= '&hellip;';
+		}
+	}
+
+	if ( $summary ) {
+		printf( '<meta name="description" content="%s">' . "\n", esc_attr( $summary ) );
+	}
+}
+add_action( 'wp_head', __NAMESPACE__ . '\add_meta_description_for_summary' );
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/breadcrumb-trail.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/breadcrumb-trail.php
index 903932415..73c2ce1aa 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/breadcrumb-trail.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/breadcrumb-trail.php
@@ -18,8 +18,8 @@
  * @version   0.6.1.modified
  * @author    Justin Tadlock <justin@justintadlock.com>
  * @copyright Copyright (c) 2008 - 2013, Justin Tadlock
- * @link      http://themehybrid.com/plugins/breadcrumb-trail
- * @license   http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * @link      https://themehybrid.com/plugins/breadcrumb-trail
+ * @license   https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  */
 
 /**
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/cli-commands.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/cli-commands.php
index 4edba1693..8e66cb367 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/cli-commands.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/cli-commands.php
@@ -35,7 +35,11 @@ class DevHub_Command extends WP_CLI_Command {
 		} else {
 			$user_id = (int) $user_id;
 		}
-		WP_CLI::log( "Importing as user ID $user_id" );
+		$user = get_user_by( 'id', $user_id );
+		if ( ! $user ) {
+			WP_CLI::error( 'Invalid user_id provided.' );
+		}
+		WP_CLI::log( "Importing as user ID $user_id ({$user->user_nicename})." );
 
 		$plugins = [
 			'phpdoc-parser'  => 'phpdoc-parser/plugin.php',
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/formatting.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/formatting.php
index 9d466f154..0603aa709 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/formatting.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/formatting.php
@@ -83,12 +83,12 @@ class DevHub_Formatting {
 	 *
 	 * Handles these six different types of links:
 	 *
-	 * - {@link http://en.wikipedia.org/wiki/ISO_8601}
+	 * - {@link https://en.wikipedia.org/wiki/ISO_8601}
 	 * - {@see WP_Rewrite::$index}
 	 * - {@see WP_Query::query()}
 	 * - {@see esc_attr()}
 	 * - {@see 'pre_get_search_form'}
-	 * - {@link http://codex.wordpress.org/The_Loop Use new WordPress Loop}
+	 * - {@link https://codex.wordpress.org/The_Loop Use new WordPress Loop}
 	 *
 	 * Note: Though @see and @link are semantically different in meaning, that isn't always
 	 * the case with use so this function handles them identically.
@@ -132,12 +132,12 @@ class DevHub_Formatting {
 
 					$parts = explode( ' ', $link, 2 );
 
-					// Link without linked text: {@link http://en.wikipedia.org/wiki/ISO_8601}
+					// Link without linked text: {@link https://en.wikipedia.org/wiki/ISO_8601}
 					if ( 1 === count( $parts ) ) {
 						$url = $text = $link;
 					}
 
-					// Link with linked text: {@link http://codex.wordpress.org/The_Loop Use new WordPress Loop}
+					// Link with linked text: {@link https://codex.wordpress.org/The_Loop Use new WordPress Loop}
 					else {
 						$url = $parts[0];
 						$text = $parts[1];
@@ -169,8 +169,18 @@ class DevHub_Formatting {
 	public static function link_internal_element( $link ) {
 		$url = '';
 
+		// Exceptions for externally-linked elements.
+		$exceptions = [
+			'error_log()' => 'https://secure.php.net/manual/en/function.error-log.php',
+		];
+
+		// Link exceptions that should actually point to external resources.
+		if ( ! empty( $exceptions[ $link ] ) ) {
+			$url = $exceptions[ $link ];
+		}
+
 		// Link to class variable: {@see WP_Rewrite::$index}
-		if ( false !== strpos( $link, '::$' ) ) {
+		elseif ( false !== strpos( $link, '::$' ) ) {
 			// Nothing to link to currently.
 		}
 
@@ -278,6 +288,9 @@ class DevHub_Formatting {
 		// In pretty much all cases, the docs mean literal '*' and never emphasis.
 		$text = str_replace( array( '<em>', '</em>' ), '*', $text );
 
+		// Undo parser's Markdown conversion of '__' to `<strong>` and `</strong>`.
+		$text = str_replace( array( '<strong>', '</strong>' ), '__', $text );
+
 		// Encode all htmlentities (but don't double-encode).
 		$text = htmlentities( $text, ENT_COMPAT | ENT_HTML401, 'UTF-8', false );
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/jetpack.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/jetpack.php
index 6f7f82ef8..829f48d8a 100755
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/jetpack.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/jetpack.php
@@ -1,14 +1,14 @@
 <?php
 /**
  * Jetpack Compatibility File
- * See: http://jetpack.me/
+ * See: https://jetpack.me/
  *
  * @package wporg-developer
  */
 
 /**
  * Add theme support for Infinite Scroll.
- * See: http://jetpack.me/support/infinite-scroll/
+ * See: https://jetpack.me/support/infinite-scroll/
  */
 function wporg_developer_jetpack_setup() {
 	add_theme_support( 'infinite-scroll', array(
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/loop-pagination.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/loop-pagination.php
index 96f2b2ce7..11a734341 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/loop-pagination.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/loop-pagination.php
@@ -17,8 +17,8 @@
  * @version   0.3.0
  * @author    Justin Tadlock <justin@justintadlock.com>
  * @copyright Copyright (c) 2010 - 2013, Justin Tadlock
- * @link      http://themehybrid.com/docs/tutorials/loop-pagination
- * @license   http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ * @link      https://themehybrid.com/docs/loop-pagination
+ * @license   https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  */
 
 /**
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/parser.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/parser.php
index ef28476e5..64e6b7815 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/parser.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/parser.php
@@ -30,6 +30,7 @@ class DevHub_Parser {
 		'wp-includes/class-simplepie.php',
 		'wp-includes/class-smtp.php',
 		'wp-includes/class-snoopy.php',
+		'wp-includes/class-wp-block-parser.php',
 		'wp-includes/js/',
 	];
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/template-tags.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/template-tags.php
index 1540c5246..fbf63245b 100755
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/template-tags.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/template-tags.php
@@ -1062,6 +1062,7 @@ namespace DevHub {
 				if ( in_array( $type, array( 'function', 'method' ) ) && false === strpos( $refers, '()' ) ) {
 					$refers .= '()';
 				}
+
 				/* translators: %s: Linked internal element name */
 				$deprecation_info = ' ' . sprintf( __( 'Use %s instead.', 'wporg' ), \DevHub_Formatting::link_internal_element( $refers ) );
 			}
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/index.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/index.php
index e0b1167b9..8d13432d2 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/index.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/index.php
@@ -6,7 +6,7 @@
  * and one of the two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * E.g., it puts together the home page when no home.php file exists.
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * Learn more: https://developer.wordpress.org/themes/basics/template-hierarchy/
  *
  * @package wporg-developer
  */
@@ -44,4 +44,4 @@ get_header(); ?>
 	</main><!-- #main -->
 	<?php //get_sidebar(); ?>
 </div><!-- #primary -->
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-dashicons.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-dashicons.php
index 05455cf74..dff9df639 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-dashicons.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-dashicons.php
@@ -198,7 +198,7 @@ get_header(); ?>
 					<div alt="f229" class="dashicons dashicons-leftright">left right</div>
 					<div alt="f503" class="dashicons dashicons-randomize">randomize shuffle</div>
 					<div alt="f163" class="dashicons dashicons-list-view">list view</div>
-					<div alt="f164" class="dashicons dashicons-exerpt-view">exerpt view</div>
+					<div alt="f164" class="dashicons dashicons-excerpt-view">excerpt view</div>
 					<div alt="f509" class="dashicons dashicons-grid-view">grid view</div>
 					<div alt="f545" class="dashicons dashicons-move">move</div>
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-home-landing.php wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-home-landing.php
index 7bb7ce557..4854a2ab4 100755
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-home-landing.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/page-home-landing.php
@@ -45,6 +45,12 @@ get_header(); ?>
 					<a href="<?php echo esc_url( get_post_type_archive_link( 'command' ) ); ?>" class="go"><?php _e( 'Run Commands ', 'wporg' ); ?></a>
 				</div>
 
+				<div class="box box-block-editor">
+					<h3 class="widget-title"><div class="dashicons dashicons-edit"></div><?php _e( 'Block Editor', 'wporg' ); ?></h3>
+					<p class="widget-description"><?php _e( 'Creating the building blocks of WordPress?', 'wporg' ); ?></p>
+					<p><?php _e( 'Coming Soon', 'wporg' ); ?></a></p>
+				</div>
+
 			</div>
 
 			<div class="search-guide inner-wrap section">
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss
index 12c2ebcc4..863fbb18e 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/scss/main.scss
@@ -532,6 +532,15 @@
 			}
 		}
 
+		.widget-title {
+			line-height: 60px;
+			line-height: 6rem;
+		}
+
+		&.search-guide {
+			border-top: 2px solid #efefef;
+		}
+
 		@media ( max-width: 974px ) {
 			width: 640px;
 			margin: 0 auto;
@@ -560,7 +569,6 @@
 			}
 		}
 		&.search-guide {
-			border-top: 2px solid #efefef;
 			padding-top: 60px;
 			padding-top: 6rem;
 			margin-top: 0;
@@ -574,8 +582,8 @@
 
 			font-size: 25px;
 			font-size: 2.5rem;
-			line-height: 60px;
-			line-height: 6rem;
+			line-height: 20px;
+			line-height: 2rem;
 			.dashicons {
 				color: #222;
 				font-size: 108px;
@@ -821,12 +829,32 @@
 				padding-left: 0;
 				padding-right: 1.3em;
 				input {
+					margin-bottom: 6px;
 					padding-left: 0.5em;
+					vertical-align: middle;
 				}
 			}
 			label:last-child {
 				border-right-width: 0;
 			}
+
+			@media ( max-width: 688px ) {
+				span {
+					display: block;
+				}
+
+				label {
+					margin-left: 0;
+					margin-right: 1em;
+					width: 130px;
+
+					&:last-child {
+						margin-right: 0;
+						padding-right: 0;
+						width: initial;
+					}
+				}
+			}
 		}
 	}
 
@@ -836,8 +864,8 @@
 	}
 
 	.reference-landing .section, .search-section {
-		max-width: 700px;
-		max-width: 70rem;
+		max-width: 970px;
+		max-width: 97rem;
 		margin: 0 auto;
 		padding: 1.5em 1em;
 	}
@@ -927,10 +955,12 @@
 		padding: 0;
 	}
 	.horizontal-list {
-		display: inline;
+		display: block;
+		width: 100%;
 		list-style-type: none;
 		margin: 0;
 		padding: 0;
+		text-align: center;
 	}
 	.horizontal-list li {
 		display: inline;
@@ -2333,6 +2363,9 @@ body.responsive-show {
 				width: 100%;
 			}
 		}
+		#content-area {
+			padding-left: 2%;
+		}
 
 		&.archive, &.search {
 			.meta {
@@ -2359,6 +2392,11 @@ body.responsive-show {
 				float: left;
 			}
 		}
+		#content-area {
+			@media (max-width: 43em) {
+				padding-left: 2%;
+			}
+		}
 	}
 }
 
@@ -2394,7 +2432,7 @@ body.responsive-show {
 		.reference-landing .section {
 			float: none;
 			width: 100%;
-			padding: 1.5em 10%;
+			padding: 1.5em 2%;
 			clear: both;
 			text-align: center;
 			display: block;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css
index baea2b5ba..e47b9a78a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-developer/stylesheets/main.css
@@ -875,6 +875,15 @@ input {
   font-size: 125%;
 }
 
+.devhub-wrap .home-landing .section .widget-title {
+  line-height: 60px;
+  line-height: 6rem;
+}
+
+.devhub-wrap .home-landing .section.search-guide {
+  border-top: 2px solid #efefef;
+}
+
 @media (max-width: 974px) {
   .devhub-wrap .home-landing .section {
     width: 640px;
@@ -906,7 +915,6 @@ input {
 }
 
 .devhub-wrap .section.search-guide {
-  border-top: 2px solid #efefef;
   padding-top: 60px;
   padding-top: 6rem;
   margin-top: 0;
@@ -919,8 +927,8 @@ input {
 .devhub-wrap .section .widget-title {
   font-size: 25px;
   font-size: 2.5rem;
-  line-height: 60px;
-  line-height: 6rem;
+  line-height: 20px;
+  line-height: 2rem;
 }
 
 .devhub-wrap .section .widget-title .dashicons {
@@ -1189,21 +1197,39 @@ input {
 }
 
 .devhub-wrap .searchform .search-post-type label input {
+  margin-bottom: 6px;
   padding-left: 0.5em;
+  vertical-align: middle;
 }
 
 .devhub-wrap .searchform .search-post-type label:last-child {
   border-right-width: 0;
 }
 
+@media (max-width: 688px) {
+  .devhub-wrap .searchform .search-post-type span {
+    display: block;
+  }
+  .devhub-wrap .searchform .search-post-type label {
+    margin-left: 0;
+    margin-right: 1em;
+    width: 130px;
+  }
+  .devhub-wrap .searchform .search-post-type label:last-child {
+    margin-right: 0;
+    padding-right: 0;
+    width: initial;
+  }
+}
+
 .devhub-wrap .search-results-summary {
   font-style: italic;
   margin-bottom: 1em;
 }
 
 .devhub-wrap .reference-landing .section, .devhub-wrap .search-section {
-  max-width: 700px;
-  max-width: 70rem;
+  max-width: 970px;
+  max-width: 97rem;
   margin: 0 auto;
   padding: 1.5em 1em;
 }
@@ -1305,10 +1331,12 @@ input {
 }
 
 .devhub-wrap .horizontal-list {
-  display: inline;
+  display: block;
+  width: 100%;
   list-style-type: none;
   margin: 0;
   padding: 0;
+  text-align: center;
 }
 
 .devhub-wrap .horizontal-list li {
@@ -2707,6 +2735,9 @@ body.responsive-show #o2-expand-editor {
   .devhub-wrap .inner-wrap .has-sidebar {
     width: 100%;
   }
+  .devhub-wrap #content-area {
+    padding-left: 2%;
+  }
   .devhub-wrap.archive .meta, .devhub-wrap.search .meta {
     font-size: 100%;
     margin-bottom: 1.5em;
@@ -2725,6 +2756,12 @@ body.responsive-show #o2-expand-editor {
   }
 }
 
+@media (min-width: 43em) and (max-width: 43em) {
+  .devhub-wrap #content-area {
+    padding-left: 2%;
+  }
+}
+
 @media (max-width: 43em) {
   #content-area.has-sidebar main {
     float: right;
@@ -2750,7 +2787,7 @@ body.responsive-show #o2-expand-editor {
   .devhub-wrap .reference-landing .section {
     float: none;
     width: 100%;
-    padding: 1.5em 10%;
+    padding: 1.5em 2%;
     clear: both;
     text-align: center;
     display: block;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-learn/Gruntfile.js wordpress.org/public_html/wp-content/themes/pub/wporg-learn/Gruntfile.js
index 6b1dd3a41..dae2b4d01 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-learn/Gruntfile.js
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-learn/Gruntfile.js
@@ -22,7 +22,10 @@ module.exports = function( grunt ) {
 						],
 						cascade: false
 					} ),
-					require( 'pixrem' )
+					require( 'pixrem' ),
+					require('cssnano')({
+						mergeRules: false
+					})
 				]
 			},
 			dist: {
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/base/_base.scss wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/base/_base.scss
index 5693cb2bd..45d543ae1 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/base/_base.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/base/_base.scss
@@ -1,7 +1,6 @@
 @import "../../../wporg/css/base/copy";
 @import "../../../wporg/css/base/elements";
 @import "../../../wporg/css/base/headings";
-@import "../../../wporg/css/base/kube";
 @import "../../../wporg/css/base/links";
 @import "../../../wporg/css/base/lists";
 @import "../../../wporg/css/base/tables";
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/generic/_generic.scss wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/generic/_generic.scss
index 167181cf0..802e6e9ac 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/generic/_generic.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/generic/_generic.scss
@@ -1 +1,2 @@
+@import "../../../wporg/css/generic/kube";
 @import "../../../wporg/css/generic/normalize";
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style-rtl.css wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style-rtl.css
index d90faa1ae..e7f9e08ed 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style-rtl.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style-rtl.css
@@ -1 +1 @@
-html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem}h1,h2{font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;letter-spacing:0.16px;letter-spacing:.01rem}h5,h6{font-weight:600;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;letter-spacing:.8px}[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{position:fixed;top:0;right:0;z-index:4;width:100%}a{color:#0073aa}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 3em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-right:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:6}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-left:-1px;z-index:2}.button-group>.button-primary{z-index:4}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{border-radius:0 3px 3px 0}.button-group>.button:last-child{border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:0.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 0 0 4px;min-width:16px;outline:0;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px -4px 0 0}input[type=radio]{border-radius:50%;line-height:10px;margin-left:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.site-header{background-color:#f7f7f7}.site-header .site-branding{line-height:1}.site-title a{color:#555}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;transform:rotate(0deg)}15%{width:185px;height:185px;transform:rotate(0deg)}20%{width:180px;height:180px;transform:rotate(-5deg)}40%{transform-origin:top right;animation-timing-function:ease-in-out}60%{transform:rotate(-40deg);transform-origin:top right;animation-timing-function:ease-in-out}40%,80%{transform:rotate(-60deg);transform-origin:top right;animation-timing-function:ease-in-out;opacity:1}to{transform:translate3d(0,700px,0);opacity:0}}.hinge{animation-duration:2s;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content>:last-child,.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-left:16px;margin-left:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .byline,.entry-meta .updated:not(.published),.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{box-shadow:0 3px 3px rgba(0,0,0,.2);float:right;right:-999em;position:absolute;top:1.5em;z-index:5}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;left:16px;left:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem;padding:0}.main-navigation ul li:last-of-type{margin-left:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0;clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;transition:right .3s;z-index:6}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:5}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.site-content{margin:auto;max-width:none;padding:0}body,html{margin:0;padding:0;font-family:sans-serif;color:#464646;font-weight:300}a{color:#21759b;text-decoration:none}a:hover{color:#d54e21;text-decoration:underline}.main-navigation{display:none}.learn-main input[type=submit]{background:#21759b url(http://s.wordpress.org/images/button-grad.png) repeat-x scroll 100% 0;padding:0 10px 1px!important}section.homewrap h1,section.homewrap h2,section.homewrap h3,section.homewrap h4{font-family:Georgia,Times,Times New Roman,serif;font-weight:400;text-shadow:0 1px 0 #fff}section.homewrap>hgroup{background:#f7f7f7;border-bottom:1px solid #dfdfdf}section.homewrap>hgroup h1{margin:0 auto;max-width:960px;padding:20px 10px;font-size:28px;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1em;font-weight:300;color:#555;text-shadow:0 1px 0 #fff}section.homewrap>header{background:#1a89c2;position:relative;overflow:hidden}section.homewrap>header:before{background:url(../wp-white.svg) 50% 50% no-repeat;background-size:contain;content:"";position:absolute;right:0;top:-70px;height:370px;width:370px;opacity:.05}section.homewrap>header>.wrap{max-width:940px;padding:30px 0;margin:0 auto;overflow:hidden;position:relative;z-index:1;line-height:normal}section.homewrap>header>.wrap img{float:left;display:block;border:3px solid #fff;box-shadow:0 0 20px rgba(0,0,0,.5);margin-right:40px;max-width:98%;height:auto}section.homewrap>header>.wrap h1{clear:none;font-size:48px;line-height:1;color:#fff;font-family:Roboto Condensed,sans-serif;font-weight:700;text-shadow:1px -1px 1px rgba(0,0,0,.4);margin:0}section.homewrap>header>.wrap h5{clear:none;text-transform:none;line-height:1;margin:20px 0;font-family:Georgia,Times,Times New Roman,serif;font-weight:400;color:#0a4c6b;font-size:20px;line-height:28px}section.homewrap>header>.wrap p{color:#fff;font-size:13px;line-height:20px}section.homewrap>nav.subhead{background:#0d587d;border-top:1px solid #0a4c6b;border-bottom:1px solid #003245;position:relative}section.homewrap>nav.subhead:before{content:"";position:absolute;top:-2px;right:0;height:1px;width:100%;background:#1473a3}section.homewrap>nav.subhead:after{content:"";position:absolute;top:0;right:0;height:1px;width:100%;background:#22698b}section.homewrap>nav.subhead h3{max-width:940px;padding:15px 10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead h3 a{text-transform:uppercase;color:#fff;text-shadow:1px -1px 1px rgba(0,0,0,.4);text-decoration:none}section.homewrap>nav.subhead h3 a:hover{color:#eee}section.homewrap>nav.subhead ul{max-width:940px;padding:10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead ul li{display:inline-block;margin:0 -10px 0 20px}section.homewrap>nav.subhead ul li a{color:#fff;text-shadow:1px -1px 1px rgba(0,0,0,.4);text-decoration:none;display:inline-block;padding:5px 10px}section.homewrap>nav.subhead ul li a:hover{color:#eee}section.learn-main{max-width:940px;padding:30px 10px;margin:0 auto;overflow:hidden}.blog section.learn-main{max-width:660px;margin:0;float:right}section.learn-main article{float:right;font-size:14px}section.learn-main article h1{margin:0;font-size:26px}section.learn-main article small{display:block;margin:10px 0;opacity:.8}section.learn-main article p{margin:1em 0;line-height:22px}.home section.learn-main form{float:left;width:35%}section.learn-main form label{display:block;text-transform:uppercase;font-size:13px;font-weight:700;margin-bottom:20px;line-height:normal}section.learn-main form input[type=email],section.learn-main form input[type=text],section.learn-main form textarea{padding:5px;width:95%;border:1px solid #aaa;background:#ddd;display:block;margin-top:5px}section.learn-main form input[type=submit]{margin-top:10px;float:left}section.learn-main ul{padding-right:25px}section.learn-main article{width:100%}.main{margin:0 auto;max-width:940px}.widget-area{float:right;margin:30px 30px 0 0;width:220px}.widget-area aside{font-size:12px;margin:0 0 40px;padding:0 0 0 20px}.widget-area aside ul{border:none;margin-right:1.3em;padding:0}.widget-area aside h4{font-size:16px}@media screen and (max-width:550px){section.homewrap>header>.wrap img{float:none;width:98%;margin:0 auto 10px}section.learn-main article,section.learn-main form{float:none;width:auto}}
\ No newline at end of file
+[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;right:0;z-index:4;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:6}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-left:-1px;z-index:2}.button-group>.button-primary{z-index:4}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 0 0 4px;min-width:16px;outline:0;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px -4px 0 0}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-left:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.site-header{background-color:#f7f7f7}.site-header .site-branding{line-height:1}.site-title a{color:#555}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-right:1em}.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-left:16px;margin-left:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .updated:not(.published){display:none}.entry-meta .byline,.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:right;right:-999em;position:absolute;top:1.5em;z-index:5}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;left:16px;left:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem;padding:0}.main-navigation ul li:last-of-type{margin-left:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}@media screen and (min-width:737px){body.page .site-header+.site-main .entry-title{padding:initial}}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;-webkit-transition:right .3s;transition:right .3s;z-index:6}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:5}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.site-content{margin:auto;max-width:none;padding:0}body,html{margin:0;padding:0;font-family:sans-serif;color:#464646;font-weight:300}a{color:#21759b;text-decoration:none}a:hover{color:#d54e21;text-decoration:underline}.main-navigation{display:none}.learn-main input[type=submit]{background:#21759b url(http://s.wordpress.org/images/button-grad.png) repeat-x scroll 100% 0;padding:0 10px 1px!important}section.homewrap h1,section.homewrap h2,section.homewrap h3,section.homewrap h4{font-family:Georgia,Times,Times New Roman,serif;font-weight:400;text-shadow:0 1px 0 #fff}section.homewrap>hgroup{background:#f7f7f7;border-bottom:1px solid #dfdfdf}section.homewrap>hgroup h1{margin:0 auto;max-width:960px;padding:20px 10px;font-size:28px;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1em;font-weight:300;color:#555;text-shadow:0 1px 0 #fff}section.homewrap>header{background:#1a89c2;position:relative;overflow:hidden}section.homewrap>header:before{background:url(../wp-white.svg) 50% 50% no-repeat;-webkit-background-size:contain;background-size:contain;content:"";position:absolute;right:0;top:-70px;height:370px;width:370px;opacity:.05}section.homewrap>header>.wrap{max-width:940px;padding:30px 0;margin:0 auto;overflow:hidden;position:relative;z-index:1;line-height:normal}section.homewrap>header>.wrap img{float:left;display:block;border:3px solid #fff;-webkit-box-shadow:0 0 20px rgba(0,0,0,.5);box-shadow:0 0 20px rgba(0,0,0,.5);margin-right:40px;max-width:98%;height:auto}section.homewrap>header>.wrap h1{clear:none;font-size:48px;line-height:1;color:#fff;font-family:Roboto Condensed,sans-serif;font-weight:700;text-shadow:1px -1px 1px rgba(0,0,0,.4);margin:0}section.homewrap>header>.wrap h5{clear:none;text-transform:none;line-height:1;margin:20px 0;font-family:Georgia,Times,Times New Roman,serif;font-weight:400;color:#0a4c6b;font-size:20px;line-height:28px}section.homewrap>header>.wrap p{color:#fff;font-size:13px;line-height:20px}section.homewrap>nav.subhead{background:#0d587d;border-top:1px solid #0a4c6b;border-bottom:1px solid #003245;position:relative}section.homewrap>nav.subhead:before{content:"";position:absolute;top:-2px;right:0;height:1px;width:100%;background:#1473a3}section.homewrap>nav.subhead:after{content:"";position:absolute;top:0;right:0;height:1px;width:100%;background:#22698b}section.homewrap>nav.subhead h3{max-width:940px;padding:15px 10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead h3 a{text-transform:uppercase;color:#fff;text-shadow:1px -1px 1px rgba(0,0,0,.4);text-decoration:none}section.homewrap>nav.subhead h3 a:hover{color:#eee}section.homewrap>nav.subhead ul{max-width:940px;padding:10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead ul li{display:inline-block;margin:0 -10px 0 20px}section.homewrap>nav.subhead ul li a{color:#fff;text-shadow:1px -1px 1px rgba(0,0,0,.4);text-decoration:none;display:inline-block;padding:5px 10px}section.homewrap>nav.subhead ul li a:hover{color:#eee}section.learn-main{max-width:940px;padding:30px 10px;margin:0 auto;overflow:hidden}.blog section.learn-main{max-width:660px;margin:0;float:right}section.learn-main article{float:right;font-size:14px}section.learn-main article h1{margin:0;font-size:26px}section.learn-main article small{display:block;margin:10px 0;opacity:.8}section.learn-main article p{margin:1em 0;line-height:22px}.home section.learn-main form{float:left;width:35%}section.learn-main form label{display:block;text-transform:uppercase;font-size:13px;font-weight:700;margin-bottom:20px;line-height:normal}section.learn-main form input[type=email],section.learn-main form input[type=text],section.learn-main form textarea{padding:5px;width:95%;border:1px solid #aaa;background:#ddd;display:block;margin-top:5px}section.learn-main form input[type=submit]{margin-top:10px;float:left}section.learn-main ul{padding-right:25px}section.learn-main article{width:100%}.main{margin:0 auto;max-width:940px}.widget-area{float:right;margin:30px 30px 0 0;width:220px}.widget-area aside{font-size:12px;margin:0 0 40px;padding:0 0 0 20px}.widget-area aside ul{border:none;margin-right:1.3em;padding:0}.widget-area aside h4{font-size:16px}@media screen and (max-width:550px){section.homewrap>header>.wrap img{float:none;width:98%;margin:0 auto 10px}section.learn-main article{float:none;width:auto}section.learn-main form{float:none;width:auto}}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css
index 69e116ba7..37cceedff 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css
@@ -1 +1,2 @@
-html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem}h1,h2{font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;letter-spacing:0.16px;letter-spacing:.01rem}h5,h6{font-weight:600;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;letter-spacing:.8px}[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{position:fixed;top:0;left:0;z-index:4;width:100%}a{color:#0073aa}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 3em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:6}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-right:-1px;z-index:2}.button-group>.button-primary{z-index:4}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{border-radius:3px 0 0 3px}.button-group>.button:last-child{border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:0.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 4px 0 0;min-width:16px;outline:0;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px 0 0 -4px}input[type=radio]{border-radius:50%;line-height:10px;margin-right:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.site-header{background-color:#f7f7f7}.site-header .site-branding{line-height:1}.site-title a{color:#555}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;transform:rotate(0deg)}15%{width:185px;height:185px;transform:rotate(0deg)}20%{width:180px;height:180px;transform:rotate(5deg)}40%{transform-origin:top left;animation-timing-function:ease-in-out}60%{transform:rotate(40deg);transform-origin:top left;animation-timing-function:ease-in-out}40%,80%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out;opacity:1}to{transform:translate3d(0,700px,0);opacity:0}}.hinge{animation-duration:2s;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content>:last-child,.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-right:16px;margin-right:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .byline,.entry-meta .updated:not(.published),.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;left:-999em;position:absolute;top:1.5em;z-index:5}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;right:16px;right:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem;padding:0}.main-navigation ul li:last-of-type{margin-right:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0;clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;transition:left .3s;z-index:6}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:5}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.site-content{margin:auto;max-width:none;padding:0}body,html{margin:0;padding:0;font-family:sans-serif;color:#464646;font-weight:300}a{color:#21759b;text-decoration:none}a:hover{color:#d54e21;text-decoration:underline}.main-navigation{display:none}.learn-main input[type=submit]{background:#21759b url(http://s.wordpress.org/images/button-grad.png) repeat-x scroll 0 0;padding:0 10px 1px!important}section.homewrap h1,section.homewrap h2,section.homewrap h3,section.homewrap h4{font-family:Georgia,Times,Times New Roman,serif;font-weight:400;text-shadow:0 1px 0 #fff}section.homewrap>hgroup{background:#f7f7f7;border-bottom:1px solid #dfdfdf}section.homewrap>hgroup h1{margin:0 auto;max-width:960px;padding:20px 10px;font-size:28px;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1em;font-weight:300;color:#555;text-shadow:0 1px 0 #fff}section.homewrap>header{background:#1a89c2;position:relative;overflow:hidden}section.homewrap>header:before{background:url(../wp-white.svg) 50% 50% no-repeat;background-size:contain;content:"";position:absolute;left:0;top:-70px;height:370px;width:370px;opacity:.05}section.homewrap>header>.wrap{max-width:940px;padding:30px 0;margin:0 auto;overflow:hidden;position:relative;z-index:1;line-height:normal}section.homewrap>header>.wrap img{float:right;display:block;border:3px solid #fff;box-shadow:0 0 20px rgba(0,0,0,.5);margin-left:40px;max-width:98%;height:auto}section.homewrap>header>.wrap h1{clear:none;font-size:48px;line-height:1;color:#fff;font-family:Roboto Condensed,sans-serif;font-weight:700;text-shadow:-1px -1px 1px rgba(0,0,0,.4);margin:0}section.homewrap>header>.wrap h5{clear:none;text-transform:none;line-height:1;margin:20px 0;font-family:Georgia,Times,Times New Roman,serif;font-weight:400;color:#0a4c6b;font-size:20px;line-height:28px}section.homewrap>header>.wrap p{color:#fff;font-size:13px;line-height:20px}section.homewrap>nav.subhead{background:#0d587d;border-top:1px solid #0a4c6b;border-bottom:1px solid #003245;position:relative}section.homewrap>nav.subhead:before{content:"";position:absolute;top:-2px;left:0;height:1px;width:100%;background:#1473a3}section.homewrap>nav.subhead:after{content:"";position:absolute;top:0;left:0;height:1px;width:100%;background:#22698b}section.homewrap>nav.subhead h3{max-width:940px;padding:15px 10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead h3 a{text-transform:uppercase;color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.4);text-decoration:none}section.homewrap>nav.subhead h3 a:hover{color:#eee}section.homewrap>nav.subhead ul{max-width:940px;padding:10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead ul li{display:inline-block;margin:0 20px 0 -10px}section.homewrap>nav.subhead ul li a{color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.4);text-decoration:none;display:inline-block;padding:5px 10px}section.homewrap>nav.subhead ul li a:hover{color:#eee}section.learn-main{max-width:940px;padding:30px 10px;margin:0 auto;overflow:hidden}.blog section.learn-main{max-width:660px;margin:0;float:left}section.learn-main article{float:left;font-size:14px}section.learn-main article h1{margin:0;font-size:26px}section.learn-main article small{display:block;margin:10px 0;opacity:.8}section.learn-main article p{margin:1em 0;line-height:22px}.home section.learn-main form{float:right;width:35%}section.learn-main form label{display:block;text-transform:uppercase;font-size:13px;font-weight:700;margin-bottom:20px;line-height:normal}section.learn-main form input[type=email],section.learn-main form input[type=text],section.learn-main form textarea{padding:5px;width:95%;border:1px solid #aaa;background:#ddd;display:block;margin-top:5px}section.learn-main form input[type=submit]{margin-top:10px;float:right}section.learn-main ul{padding-left:25px}section.learn-main article{width:100%}.main{margin:0 auto;max-width:940px}.widget-area{float:left;margin:30px 0 0 30px;width:220px}.widget-area aside{font-size:12px;margin:0 0 40px;padding:0 20px 0 0}.widget-area aside ul{border:none;margin-left:1.3em;padding:0}.widget-area aside h4{font-size:16px}@media screen and (max-width:550px){section.homewrap>header>.wrap img{float:none;width:98%;margin:0 auto 10px}section.learn-main article,section.learn-main form{float:none;width:auto}}
\ No newline at end of file
+[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;left:0;z-index:4;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:6}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-right:-1px;z-index:2}.button-group>.button-primary{z-index:4}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 4px 0 0;min-width:16px;outline:0;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px 0 0 -4px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-right:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.site-header{background-color:#f7f7f7}.site-header .site-branding{line-height:1}.site-title a{color:#555}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-left:1em}.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-right:16px;margin-right:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .updated:not(.published){display:none}.entry-meta .byline,.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;left:-999em;position:absolute;top:1.5em;z-index:5}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;right:16px;right:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem;padding:0}.main-navigation ul li:last-of-type{margin-right:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}@media screen and (min-width:737px){body.page .site-header+.site-main .entry-title{padding:initial}}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;-webkit-transition:left .3s;transition:left .3s;z-index:6}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:5}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.site-content{margin:auto;max-width:none;padding:0}body,html{margin:0;padding:0;font-family:sans-serif;color:#464646;font-weight:300}a{color:#21759b;text-decoration:none}a:hover{color:#d54e21;text-decoration:underline}.main-navigation{display:none}.learn-main input[type=submit]{background:#21759b url(http://s.wordpress.org/images/button-grad.png) repeat-x scroll 0 0;padding:0 10px 1px!important}section.homewrap h1,section.homewrap h2,section.homewrap h3,section.homewrap h4{font-family:Georgia,Times,Times New Roman,serif;font-weight:400;text-shadow:0 1px 0 #fff}section.homewrap>hgroup{background:#f7f7f7;border-bottom:1px solid #dfdfdf}section.homewrap>hgroup h1{margin:0 auto;max-width:960px;padding:20px 10px;font-size:28px;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1em;font-weight:300;color:#555;text-shadow:0 1px 0 #fff}section.homewrap>header{background:#1a89c2;position:relative;overflow:hidden}section.homewrap>header:before{background:url(../wp-white.svg) 50% 50% no-repeat;-webkit-background-size:contain;background-size:contain;content:"";position:absolute;left:0;top:-70px;height:370px;width:370px;opacity:.05}section.homewrap>header>.wrap{max-width:940px;padding:30px 0;margin:0 auto;overflow:hidden;position:relative;z-index:1;line-height:normal}section.homewrap>header>.wrap img{float:right;display:block;border:3px solid #fff;-webkit-box-shadow:0 0 20px rgba(0,0,0,.5);box-shadow:0 0 20px rgba(0,0,0,.5);margin-left:40px;max-width:98%;height:auto}section.homewrap>header>.wrap h1{clear:none;font-size:48px;line-height:1;color:#fff;font-family:Roboto Condensed,sans-serif;font-weight:700;text-shadow:-1px -1px 1px rgba(0,0,0,.4);margin:0}section.homewrap>header>.wrap h5{clear:none;text-transform:none;line-height:1;margin:20px 0;font-family:Georgia,Times,Times New Roman,serif;font-weight:400;color:#0a4c6b;font-size:20px;line-height:28px}section.homewrap>header>.wrap p{color:#fff;font-size:13px;line-height:20px}section.homewrap>nav.subhead{background:#0d587d;border-top:1px solid #0a4c6b;border-bottom:1px solid #003245;position:relative}section.homewrap>nav.subhead:before{content:"";position:absolute;top:-2px;left:0;height:1px;width:100%;background:#1473a3}section.homewrap>nav.subhead:after{content:"";position:absolute;top:0;left:0;height:1px;width:100%;background:#22698b}section.homewrap>nav.subhead h3{max-width:940px;padding:15px 10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead h3 a{text-transform:uppercase;color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.4);text-decoration:none}section.homewrap>nav.subhead h3 a:hover{color:#eee}section.homewrap>nav.subhead ul{max-width:940px;padding:10px;margin:0 auto;font-family:Helvetica,Arial,sans-serif;font-size:16px}section.homewrap>nav.subhead ul li{display:inline-block;margin:0 20px 0 -10px}section.homewrap>nav.subhead ul li a{color:#fff;text-shadow:-1px -1px 1px rgba(0,0,0,.4);text-decoration:none;display:inline-block;padding:5px 10px}section.homewrap>nav.subhead ul li a:hover{color:#eee}section.learn-main{max-width:940px;padding:30px 10px;margin:0 auto;overflow:hidden}.blog section.learn-main{max-width:660px;margin:0;float:left}section.learn-main article{float:left;font-size:14px}section.learn-main article h1{margin:0;font-size:26px}section.learn-main article small{display:block;margin:10px 0;opacity:.8}section.learn-main article p{margin:1em 0;line-height:22px}.home section.learn-main form{float:right;width:35%}section.learn-main form label{display:block;text-transform:uppercase;font-size:13px;font-weight:700;margin-bottom:20px;line-height:normal}section.learn-main form input[type=email],section.learn-main form input[type=text],section.learn-main form textarea{padding:5px;width:95%;border:1px solid #aaa;background:#ddd;display:block;margin-top:5px}section.learn-main form input[type=submit]{margin-top:10px;float:right}section.learn-main ul{padding-left:25px}section.learn-main article{width:100%}.main{margin:0 auto;max-width:940px}.widget-area{float:left;margin:30px 0 0 30px;width:220px}.widget-area aside{font-size:12px;margin:0 0 40px;padding:0 20px 0 0}.widget-area aside ul{border:none;margin-left:1.3em;padding:0}.widget-area aside h4{font-size:16px}@media screen and (max-width:550px){section.homewrap>header>.wrap img{float:none;width:98%;margin:0 auto 10px}section.learn-main article{float:none;width:auto}section.learn-main form{float:none;width:auto}}
+/*# sourceMappingURL=style.css.map */
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css.map wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css.map
index 6a14d78ec..0b781378e 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css.map
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-learn/css/style.css.map
@@ -1,65 +1 @@
-{
-	"version": 3,
-	"file": "style.css",
-	"sources": [
-		"style.scss",
-		"settings/_settings.scss",
-		"../../wporg/css/settings/_colors.scss",
-		"../../wporg/css/settings/_modular-scale.scss",
-		"../../wporg/css/settings/_structure.scss",
-		"../../wporg/css/settings/_typography.scss",
-		"tools/_tools.scss",
-		"../../wporg/css/tools/_breakpoint.scss",
-		"../../wporg/css/tools/_kube.scss",
-		"../../wporg/css/tools/_modular-scale.scss",
-		"generic/_generic.scss",
-		"../../wporg/css/generic/_normalize.scss",
-		"base/_base.scss",
-		"../../wporg/css/base/_copy.scss",
-		"../../wporg/css/base/_elements.scss",
-		"../../wporg/css/base/_headings.scss",
-		"../../wporg/css/base/_kube.scss",
-		"../../wporg/css/base/_links.scss",
-		"../../wporg/css/base/_lists.scss",
-		"../../wporg/css/base/_tables.scss",
-		"../../wporg/css/base/_typography.scss",
-		"objects/_objects.scss",
-		"../../wporg/css/objects/_accessibility.scss",
-		"../../wporg/css/objects/_alignments.scss",
-		"../../wporg/css/objects/_buttons.scss",
-		"../../wporg/css/objects/_clearings.scss",
-		"../../wporg/css/objects/_copy.scss",
-		"../../wporg/css/objects/_inputs.scss",
-		"../../wporg/css/objects/_links.scss",
-		"../../wporg/css/objects/_notices.scss",
-		"objects/_site-header.scss",
-		"objects/_site-title.scss",
-		"components/_components.scss",
-		"../../wporg/css/components/_404.scss",
-		"../../wporg/css/components/_comments.scss",
-		"../../wporg/css/components/_entry-content.scss",
-		"../../wporg/css/components/_entry-header.scss",
-		"../../wporg/css/components/_entry-meta.scss",
-		"../../wporg/css/components/_entry-summary.scss",
-		"../../wporg/css/components/_entry.scss",
-		"../../wporg/css/components/_gallery.scss",
-		"../../wporg/css/components/_main-navigation.scss",
-		"../../wporg/css/components/_page.scss",
-		"../../wporg/css/components/_post-navigation.scss",
-		"../../wporg/css/components/_posts-navigation.scss",
-		"../../wporg/css/components/_search-form.scss",
-		"../../wporg/css/components/_search.scss",
-		"../../wporg/css/components/_site-content.scss",
-		"../../wporg/css/components/_site-description.scss",
-		"../../wporg/css/components/_site-header.scss",
-		"../../wporg/css/components/_site-title.scss",
-		"../../wporg/css/components/_widget-area.scss",
-		"../../wporg/css/components/_wporg-footer.scss",
-		"../../wporg/css/components/_wporg-header.scss",
-		"components/_site-content.scss",
-		"trumps/_trumps.scss",
-		"trumps/_overrides.scss"
-	],
-	"mappings": "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",
-	"names": []
-}
\ No newline at end of file
+{"version":3,"sources":["style.css","../../wporg/css/generic/_kube.scss","../../wporg/css/tools/_kube.scss","../../wporg/css/tools/_breakpoint.scss","../../wporg/css/generic/_normalize.scss","../../wporg/css/base/_copy.scss","../../wporg/css/base/_elements.scss","../../wporg/css/tools/_modular-scale.scss","../../wporg/css/base/_headings.scss","../../wporg/css/settings/_typography.scss","../../wporg/css/settings/_colors.scss","../../wporg/css/settings/_modular-scale.scss","../../wporg/css/base/_links.scss","../../wporg/css/base/_lists.scss","../../wporg/css/base/_tables.scss","../../wporg/css/base/_typography.scss","../../wporg/css/objects/_accessibility.scss","../../wporg/css/objects/_alignments.scss","../../wporg/css/objects/_buttons.scss","../../wporg/css/objects/_clearings.scss","../../wporg/css/objects/_copy.scss","../../wporg/css/objects/_inputs.scss","../../wporg/css/objects/_links.scss","../../wporg/css/objects/_notices.scss","objects/_site-header.scss","objects/_site-title.scss","../../wporg/css/components/_404.scss","../../wporg/css/components/_comments.scss","../../wporg/css/components/_entry-content.scss","../../wporg/css/components/_entry-header.scss","../../wporg/css/components/_entry-meta.scss","../../wporg/css/components/_entry-summary.scss","../../wporg/css/components/_entry.scss","../../wporg/css/components/_gallery.scss","../../wporg/css/components/_main-navigation.scss","../../wporg/css/components/_page.scss","../../wporg/css/components/_post-navigation.scss","../../wporg/css/components/_posts-navigation.scss","../../wporg/css/components/_search-form.scss","../../wporg/css/components/_search.scss","../../wporg/css/components/_site-content.scss","../../wporg/css/settings/_structure.scss","../../wporg/css/components/_site-description.scss","../../wporg/css/components/_site-header.scss","../../wporg/css/components/_site-title.scss","../../wporg/css/components/_widget-area.scss","../../wporg/css/components/_wporg-footer.scss","../../wporg/css/components/_wporg-header.scss","components/_site-content.scss","trumps/_overrides.scss"],"names":[],"mappings":"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","file":"style.css"}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-login/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-login/functions.php
index 56922b520..1c191a27b 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-login/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-login/functions.php
@@ -83,6 +83,50 @@ function wporg_login_register_scripts() {
 }
 add_action( 'init', 'wporg_login_register_scripts' );
 
+/**
+ * Output the GoogleTagManager <head> tags.
+ */
+function wporg_login_gtm() {
+	?>
+	<link rel="dns-prefetch" href="//www.googletagmanager.com">
+
+	<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+	new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+	j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+	'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+	})(window,document,'script','dataLayer','GTM-P24PF4B');</script>
+	<?php
+}
+add_action( 'wp_head', 'wporg_login_gtm' );
+add_action( 'login_head', 'wporg_login_gtm' );
+
+/**
+ * wp_die() handler for login.wordpress.org, adds GTM to error pages.
+ */
+function wporg_login_die_handler( $message, $title = '', $args = array() ) {
+	if ( is_string( $message ) ) {
+		ob_start();
+		wporg_login_gtm();
+		$gtm = ob_get_clean();
+
+		$message = $gtm . $message;
+	}
+
+	return _default_wp_die_handler( $message, $title, $args );
+}
+
+/**
+ * Switch the default WP_Die handler for login.wordpress.org to one that includes GTM.
+ */
+function wp_die_handler_switcher( $handler ) {
+	if ( $handler == '_default_wp_die_handler' ) {
+		$handler = 'wporg_login_die_handler';
+	}
+
+	return $handler;
+}
+add_filter( 'wp_die_handler', 'wp_die_handler_switcher' );
+
 /**
  * Avoid sending a 404 header but send a 200 with nocache headers.
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-login/header.php wordpress.org/public_html/wp-content/themes/pub/wporg-login/header.php
index 01a27af5f..56f675e8a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-login/header.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-login/header.php
@@ -12,10 +12,10 @@
 <meta http-equiv="x-ua-compatible" content="ie=edge">
 <title><?php _e( 'WordPress.org Login', 'wporg' ); ?></title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
-
 <?php wp_head(); ?>
 </head>
 <body <?php body_class( 'wp-core-ui login' ); ?>>
+<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P24PF4B" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
 
 <div id="login">
 	<h1><a href="https://wordpress.org/" title="WordPress.org" tabindex="-1"><?php _e( 'WordPress.org Login', 'wporg' ); ?></a></h1>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-login/index.php wordpress.org/public_html/wp-content/themes/pub/wporg-login/index.php
index e62922c1f..62b77158f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-login/index.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-login/index.php
@@ -6,5 +6,6 @@
  */
 
 // Silence is Golden. If we're at this point, then no template exists for the given request yet.
+if ( ! function_exists( 'wp_safe_redirect' ) ) exit;
 wp_safe_redirect( '/' );
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/Gruntfile.js wordpress.org/public_html/wp-content/themes/pub/wporg-main/Gruntfile.js
index 996075adb..ef6aef9a9 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/Gruntfile.js
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/Gruntfile.js
@@ -29,6 +29,9 @@ module.exports = function( grunt ) {
 						cascade: false
 					} ),
 					require( 'pixrem' ),
+					require('cssnano')({
+						mergeRules: false
+					})
 				]
 			},
 			dist: {
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_about.scss wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_about.scss
index 01a0e50ce..e4445cb6b 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_about.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_about.scss
@@ -10,6 +10,10 @@ body.page-template-about {
 			font-size: ms( 12 );
 			line-height: 1;
 			margin: 2rem auto 1rem;
+
+			@include breakpoint( 0, 480px ) {
+				font-size: ms( 10 );
+			}
 		}
 
 		.entry-description {
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_home-welcome.scss wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_home-welcome.scss
index afc40a692..cefd6db2c 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_home-welcome.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_home-welcome.scss
@@ -231,7 +231,7 @@
 		padding-right: 0;
 
 		> div {
-			background: url(https://s.w.org/images/home/collage-min.jpg?3) center top;
+			background: url(https://s.w.org/images/home/collage-min.jpg?4) center top;
 			background-size: cover;
 			box-shadow: inset 0 0 8px rgba(0, 0, 0, .4);
 			height: 300px;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_page-download.scss wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_page-download.scss
index ea3731870..f25116cdf 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_page-download.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/components/_page-download.scss
@@ -161,7 +161,7 @@ body.page-download {
 		}
 	}
 
-	.dashicons {
+	.site-content .dashicons {
 		color: #cbcdce;
 		display: block;
 		font-size: 4rem;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style-rtl.css wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style-rtl.css
index 996399730..cb91a8ff1 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style-rtl.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style-rtl.css
@@ -1 +1 @@
-[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{position:fixed;top:0;right:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}body.page-about .areas h3,body.page-template-about .areas h3,h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem}h1,h2{font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem}h3{font-size:25px;font-size:1.5625rem;font-weight:400}body.page-about .areas h3,body.page-template-about .areas h3,h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;letter-spacing:0.16px;letter-spacing:.01rem}h5,h6{font-weight:600;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary,input[type=submit]{border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button-group.button-xl input[type=submit],.button.button-xl,input.button-xl[type=submit]{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button-group.button-large input[type=submit],.button.button-large,input.button-large[type=submit]{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button-group.button-small input[type=submit],.button.button-small,input.button-small[type=submit]{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus,input:active[type=submit],input:focus[type=submit]{outline:none}.button.hidden,input.hidden[type=submit]{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited,input:visited[type=submit],input[type=submit]{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button,p input[type=submit]{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover,input.focus[type=submit],input.hover[type=submit],input:focus[type=submit],input:hover[type=submit]{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus,input.focus[type=submit],input:focus[type=submit]{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active,input.active:hover[type=submit],input.active[type=submit],input:active[type=submit]{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus,input.active:focus[type=submit]{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled],input.disabled[type=submit],input:disabled[type=submit],input[disabled][type=submit]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero,.plugin-upload-form input.button-primary.button-hero[type=submit],input.button-primary.button-hero[type=submit],input.download-button.button-hero[type=submit]{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active,.plugin-upload-form input.button-primary.button-hero.active:focus[type=submit],.plugin-upload-form input.button-primary.button-hero.active:hover[type=submit],.plugin-upload-form input.button-primary.button-hero.active[type=submit],.plugin-upload-form input.button-primary.button-hero:active[type=submit],input.button-primary.button-hero.active:focus[type=submit],input.button-primary.button-hero.active:hover[type=submit],input.button-primary.button-hero.active[type=submit],input.button-primary.button-hero:active[type=submit],input.download-button.button-hero.active:focus[type=submit],input.download-button.button-hero.active:hover[type=submit],input.download-button.button-hero.active[type=submit],input.download-button.button-hero:active[type=submit]{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button,.button-group>input[type=submit]{border-radius:0;display:inline-block;margin-left:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover,.button-group>input:hover[type=submit]{z-index:20}.button-group>.button:first-child,.button-group>input:first-child[type=submit]{border-radius:0 3px 3px 0}.button-group>.button:last-child,.button-group>input:last-child[type=submit]{border-radius:3px 0 0 3px}.button-group>.button:focus,.button-group>input:focus[type=submit]{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary,input.button-large[type=submit],input.button-small[type=submit],input[type=submit]{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:0.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 0 0 4px;min-width:16px;outline:0;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px -4px 0 0}input[type=radio]{border-radius:50%;line-height:10px;margin-left:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.parallelogram{color:#fff;display:block;margin:0 auto;opacity:.9;padding:75.2px 0;padding:4.7rem 0;position:absolute;text-align:center;transform:skew(15deg)}.parallelogram:before{font-size:61.035px;font-size:3.8146972656rem;height:64px;position:relative;left:16px;left:1rem;transform:skew(-15deg);width:64px}.parallelogram>*{transform:skew(-15deg)}.home .site-header{background:#0073aa}@media screen and (min-width:737px){.home .site-header{padding:3.0517578125rem 1.5625rem}}.home .site-header .site-title{color:#fff;display:block;font-size:48.828px;font-size:3.0517578125rem;font-weight:300;line-height:1;margin:32px 0 16px;margin:2rem 0 1rem;text-align:center}@media screen and (min-width:737px){.home .site-header .site-title{font-size:3.8146972656rem}}.home .site-header .site-description{color:#fff;max-width:568.434px;max-width:35.527136788rem;padding:11px 0}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;transform:rotate(0deg)}15%{width:185px;height:185px;transform:rotate(0deg)}20%{width:180px;height:180px;transform:rotate(-5deg)}40%{transform-origin:top right;animation-timing-function:ease-in-out}60%{transform:rotate(-40deg);transform-origin:top right;animation-timing-function:ease-in-out}40%,80%{transform:rotate(-60deg);transform-origin:top right;animation-timing-function:ease-in-out;opacity:1}to{transform:translate3d(0,700px,0);opacity:0}}.hinge{animation-duration:2s;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content>:last-child,.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6,.entry-content body.page-about .areas [class*=col-]~h3,.entry-content body.page-template-about .areas [class*=col-]~h3,body.page-about .areas .entry-content [class*=col-]~h3,body.page-template-about .areas .entry-content [class*=col-]~h3{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-left:16px;margin-left:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .byline,.entry-meta .updated:not(.published),.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{box-shadow:0 3px 3px rgba(0,0,0,.2);float:right;right:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;left:16px;left:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem;padding:0}.main-navigation ul li:last-of-type{margin-left:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}@media screen and (min-width:737px){body.page .site-header+.site-main .entry-title{padding:initial}}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0;clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;transition:right .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button,#wporg-header #head-search form input[type=submit]{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body.page-about,body.page-template-about{overflow-x:hidden}body.page-about .entry-header,body.page-template-about .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-about .entry-header .entry-title,body.page-template-about .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}body.page-about .entry-header .entry-description,body.page-template-about .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-about .shapes,body.page-template-about .shapes{height:480px;margin:64px 0;margin:4rem 0;position:relative}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:260px;width:310px}body.page-about .shapes .parallelogram:active,body.page-about .shapes .parallelogram:focus,body.page-about .shapes .parallelogram:hover,body.page-template-about .shapes .parallelogram:active,body.page-template-about .shapes .parallelogram:focus,body.page-template-about .shapes .parallelogram:hover{text-decoration:none}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{background-color:#006ca0;top:0;right:0;z-index:1}body.page-about .shapes .parallelogram.technology:active,body.page-about .shapes .parallelogram.technology:focus,body.page-about .shapes .parallelogram.technology:hover,body.page-template-about .shapes .parallelogram.technology:active,body.page-template-about .shapes .parallelogram.technology:focus,body.page-template-about .shapes .parallelogram.technology:hover{background-color:#004a6d}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{background-color:#67598e;left:0;bottom:0}body.page-about .shapes .parallelogram.community:active,body.page-about .shapes .parallelogram.community:focus,body.page-about .shapes .parallelogram.community:hover,body.page-template-about .shapes .parallelogram.community:active,body.page-template-about .shapes .parallelogram.community:focus,body.page-template-about .shapes .parallelogram.community:hover{background-color:#50456f}body.page-about .shapes .parallelogram h3,body.page-about .shapes .parallelogram p,body.page-template-about .shapes .parallelogram h3,body.page-template-about .shapes .parallelogram p{margin:0;transform:skew(-15deg)}@media screen and (min-width:480px){body.page-about .shapes,body.page-template-about .shapes{height:610px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:336px;padding:7rem 0;width:400px}}@media screen and (min-width:640px){body.page-about .shapes,body.page-template-about .shapes{height:580px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:315px;padding:5rem 0;width:480px}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:4.768371582rem;height:84px;width:84px}}@media screen and (min-width:768px){body.page-about .shapes,body.page-template-about .shapes{height:323px;margin:4rem 0}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:282px;padding:4rem 0;width:430px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{right:auto;left:45%;top:40px}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{bottom:auto;right:45%}}@media screen and (min-width:1024px){body.page-about .shapes,body.page-template-about .shapes{height:420px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:380px;padding:6rem 0;width:580px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{left:43%}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{right:43%}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:5.9604644775rem;height:108px;width:108px}}body.page-about .freedoms,body.page-template-about .freedoms{margin-top:32px;margin-top:2rem;text-align:center}body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background:url(/wp-content/themes/pub/wporg-main/images/freedoms.png) no-repeat;background-size:100%;padding-top:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background-image:url(/wp-content/themes/pub/wporg-main/images/freedoms-2x.png)}}@media screen and (max-width:479px){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{float:right;margin:0 0 1rem 1rem;padding-top:25%;width:25%}body.page-about .freedoms h3,body.page-about .freedoms p,body.page-template-about .freedoms h3,body.page-template-about .freedoms p{clear:none;margin-top:0;text-align:right}}@media screen and (min-width:480px) and (max-width:767px){body.page-about .freedoms.row,body.page-template-about .freedoms.row{flex-direction:row;flex-wrap:wrap}body.page-about .freedoms .col-3,body.page-template-about .freedoms .col-3{width:48%}}body.page-about .freedoms [class*=col-]:nth-of-type(2) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(2) .graphic{background-position:100% 34%}body.page-about .freedoms [class*=col-]:nth-of-type(3) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(3) .graphic{background-position:100% 66%}body.page-about .freedoms [class*=col-]:nth-of-type(4) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(4) .graphic{background-position:100% 100%}body.page-about .freedoms h3,body.page-template-about .freedoms h3{font-weight:300;font-size:20px;font-size:1.25rem}body.page-child .site-title a{color:#fff;text-decoration:none}body.page-child .site-title a:active,body.page-child .site-title a:hover{color:#fff}body.page-child .entry-header{background:none;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}body.page-child .entry-header .entry-title{color:inherit;font-size:39.062px;font-size:2.44140625rem;font-weight:400;line-height:1.5;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:737px){body.page-child .entry-header .entry-title{padding:0}}body.page-child .entry-content{padding-top:0}.entry-content{hyphens:none}.home-welcome{background:#fff;border-bottom:1px solid #dfdfdf;color:#32373c;font-family:Open Sans,sans-serif;font-weight:400;line-height:1.5;max-width:none;padding:0}@media screen and (min-width:737px){.home-welcome{font-size:18px}}.home-welcome h1{font-size:51.2px;font-size:3.2rem}.home-welcome a:not(.button):not(input[type=submit]){background-color:transparent;border:none;color:#0073aa;text-decoration:none}.home-welcome a:not(.button):not(input[type=submit]):hover{text-decoration:underline}.home-welcome a:not(.button):not(input[type=submit]):active,.home-welcome a:not(.button):not(input[type=submit]):hover{outline-width:0}.home-welcome p{font-size:18px;margin:1em 0;max-width:568.434px;max-width:35.527136788rem}.home-welcome p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.home-welcome section{border-bottom:2px solid #eee;margin:0 auto;max-width:800px;max-width:50rem;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.home-welcome section:last-of-type{border-bottom:none}.home-welcome section h2{line-height:1;text-align:center}.home-welcome section .container{margin:0 auto;max-width:800px;max-width:50rem;z-index:0}.home-welcome .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.home-welcome .intro{padding-bottom:0}.home-welcome .features{border-top:2px solid #eee}.home-welcome .features ul{align-items:center;display:flex;flex-wrap:wrap;list-style:none;margin:48px 0;margin:3rem 0;padding:0}.home-welcome .features ul li{align-items:center;border-bottom:1px solid #eee;border-left:1px solid #eee;display:flex;flex-direction:column;height:160px;justify-content:center;text-align:center;width:50%}@media screen and (max-width:739px){.home-welcome .features ul li:nth-child(n+7){border-bottom:none}.home-welcome .features ul li:nth-child(2n){border-left:none}}@media screen and (min-width:740px){.home-welcome .features ul li{height:200px;width:25%}.home-welcome .features ul li:nth-child(4n){border-left:none}.home-welcome .features ul li:nth-child(n+5){border-bottom:none}}.home-welcome .features ul li img{height:40px;height:2.5rem;margin:4px auto 20px;margin:.25rem auto 1.25rem}.home-welcome .features ul li img,.home-welcome .features ul li span{color:#00a0d2;display:block;font-size:48px;font-size:3rem;margin-bottom:16px;margin-bottom:1rem}.home-welcome .features p{margin-right:auto;margin-left:auto;text-align:center}.home-welcome .screenshots{height:400px;right:-30px;overflow:hidden;padding:16px 16px 0;padding:1rem 1rem 0;position:relative;left:0;width:106%}@media (max-width:739px){.home-welcome .screenshots{padding:0;right:auto;left:auto;width:100%}}.home-welcome .screenshots .dashboard{box-shadow:0 1px 8px rgba(0,0,0,.2);max-width:800px}.home-welcome .screenshots .dashboard-mobile{bottom:-100px;max-width:200px;position:absolute;left:1px;z-index:1}.home-welcome .cta-wrapper{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-align:center}@media screen and (min-width:737px){.home-welcome .cta-wrapper{font-size:.8rem;margin:4rem 0 2rem}}.home-welcome .community-2{align-items:flex-start;background:url(https://s.w.org/images/home/community-2.jpg?3) bottom no-repeat;background-size:cover;border:none;display:flex;flex-direction:column;height:500px;justify-content:flex-end;max-width:100%;position:relative}.home-welcome .community-2 .screen{background:rgba(0,0,0,.5);height:100%;right:0;position:absolute;left:0;top:0;width:100%;z-index:0}.home-welcome .community-2 .subheading,.home-welcome .community-2 h2{color:#fff;margin:0 0 16px;margin:0 0 1rem;max-width:100%;position:relative;text-align:right;text-shadow:0 0 8px rgba(0,0,0,.5);z-index:1}.home-welcome .showcase{border-bottom:none;margin:0;max-width:100%;padding-right:0;padding-left:0}.home-welcome .showcase>div{background:url(https://s.w.org/images/home/collage-min.jpg?3) top;background-size:cover;box-shadow:inset 0 0 8px rgba(0,0,0,.4);height:300px;width:100%}@media (min-width:700px){.home-welcome .showcase>div{height:600px;background-attachment:fixed}}.home-welcome .showcase .cta-link{margin:48.828px 0 0;margin:3.05176rem 0 0;max-width:100%;text-align:center}.home-welcome #showcase-link{font-size:14px}#lang-guess{background:#c7e8ca;border:inherit;border-radius:inherit;cursor:pointer;font:inherit;font-size:12.8px;font-size:.8rem;margin:0;max-width:inherit;padding:8px;padding:.5rem;text-align:center;width:inherit}@media screen and (min-width:67rem){#lang-guess{margin:1rem auto 0;max-width:50rem}}#home-below{font-size:12.8px;font-size:.8rem;margin:0 auto 16px;margin:0 auto 1rem;max-width:960px;padding:0 18.288px;padding:0 1.143rem}@media (max-width:768px){#home-below{display:block}#home-below .col-2{display:inline-block;vertical-align:top;width:48%}}#home-below body.page-about .areas h3,#home-below body.page-template-about .areas h3,#home-below h4,body.page-about .areas #home-below h3,body.page-template-about .areas #home-below h3{border-bottom:1px solid #dedede;font-size:inherit;padding-bottom:4px}#home-below h5{line-height:1;margin:0;text-transform:none}#home-below body.page-about .areas h3 a,#home-below body.page-template-about .areas h3 a,#home-below h4 a,#home-below h5 a,body.page-about .areas #home-below h3 a,body.page-template-about .areas #home-below h3 a{text-decoration:none}#home-below body.page-about .areas h3 a:hover,#home-below body.page-template-about .areas h3 a:hover,#home-below h4 a:hover,#home-below h5 a:hover,body.page-about .areas #home-below h3 a:hover,body.page-template-about .areas #home-below h3 a:hover{text-decoration:underline}#home-below ol,#home-below ul{margin:0}#home-below .steps{list-style:none;padding:0}#home-below .steps li{margin-bottom:16px;margin-bottom:1rem;padding-right:40px;padding-right:2.5rem;position:relative}#home-below .steps li span{background:url(//s.w.org/style/images/steps.png) no-repeat;background-size:93px 31px;content:"";height:31px;right:0;position:absolute;top:0;width:31px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#home-below .steps li span{background-image:url(//s.w.org/style/images/steps-2x.png)}}#home-below .steps .one span{background-position:100% 0}#home-below .steps .two span{background-position:-31px 0}#home-below .steps .three span{background-position:-62px 0}#home-below .notable-users{list-style:none;padding:0}#home-below .notable-users li a{border:1px solid #f5f5f5;border-left-color:#dedede;border-bottom-color:#dedede;display:block;height:59px;margin-bottom:8px;width:130px}#home-below .notable-users li a:active{border:1px solid #dedede;border-left-color:#f5f5f5;border-bottom-color:#f5f5f5}#home-below .notable-users.col-12{margin-bottom:0}@media screen and (min-width:420px) and (max-width:768px){#home-below .notable-users{flex-direction:row;flex-wrap:wrap}#home-below .notable-users .col-3{width:48%}}#home-below .showcase-link{display:block;font-size:10.24px;font-size:.64rem;margin:16px 0;margin:1rem 0}@media screen and (max-width:480px){table.releases td{width:25%}table.releases td:nth-child(2),table.releases td small{display:none}}body.page-download,body.page-template-page-download{overflow-x:hidden}body.page-download .entry-header,body.page-template-page-download .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:3.4881591797rem}}body.page-download .entry-header .entry-description,body.page-template-page-download .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-download section,body.page-template-page-download section{padding:48.828px 0;padding:3.0517578125rem 0}body.page-download section h2:first-of-type,body.page-template-page-download section h2:first-of-type{width:100%}body.page-download section.download,body.page-template-page-download section.download{padding-top:0;text-align:center}body.page-download section.download .call-to-action,body.page-template-page-download section.download .call-to-action{margin-top:0}body.page-download section.download .call-to-action p,body.page-template-page-download section.download .call-to-action p{margin-top:8px;margin-top:.5rem}@media screen and (min-width:479px){body.page-download section.download aside,body.page-template-page-download section.download aside{text-align:initial}}@media screen and (max-width:479px){body.page-download section.download aside[class*=col-],body.page-download section.download aside p:last-child,body.page-template-page-download section.download aside[class*=col-],body.page-template-page-download section.download aside p:last-child{margin-bottom:0}body.page-download section.download .call-to-action:not(:last-child),body.page-template-page-download section.download .call-to-action:not(:last-child){margin-bottom:2rem}body.page-download section.download li,body.page-template-page-download section.download li{list-style-type:none}}body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{margin-left:5px;vertical-align:middle}@media screen and (max-width:479px){body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{display:none}}body.page-download section.download .col-4:nth-child(n+4),body.page-template-page-download section.download .col-4:nth-child(n+4){margin-top:0}body.page-download section.hosting,body.page-template-page-download section.hosting{position:relative;text-align:center}body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{background:#f5f5f5;height:100%;right:-10%;padding:0;top:0;width:120%;z-index:-1}@media screen and (max-width:768px){body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{transform:none}}body.page-download section.hosting .dashicons-cloud,body.page-template-page-download section.hosting .dashicons-cloud{color:#0073aa}@media screen and (min-width:479px){body.page-download section.hosting .host,body.page-template-page-download section.hosting .host{text-align:initial}}@media screen and (max-width:768px){body.page-download section.hosting [class*=col-],body.page-template-page-download section.hosting [class*=col-]{margin-bottom:2rem}}body.page-download section.hosting .logo,body.page-template-page-download section.hosting .logo{height:35px}body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{text-align:center;width:100%}@media screen and (max-width:768px){body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{border-top:none;border-bottom:2px solid #eee;padding-top:0}}body.page-download section.apps-mobile .web-stores [class*=button-],body.page-template-page-download section.apps-mobile .web-stores [class*=button-]{display:inline-block;margin:8px;margin:.5rem;width:150px}body.page-download section.apps-mobile .android .button-ios,body.page-download section.apps-mobile .ios .button-android,body.page-template-page-download section.apps-mobile .android .button-ios,body.page-template-page-download section.apps-mobile .ios .button-android{display:none}body.page-download section.apps-mobile img,body.page-template-page-download section.apps-mobile img{vertical-align:middle}body.page-download .call-to-action,body.page-template-page-download .call-to-action{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-decoration:underline}@media screen and (min-width:479px){body.page-download .call-to-action,body.page-template-page-download .call-to-action{font-size:.8rem}}body.page-download .call-to-action:last-child,body.page-template-page-download .call-to-action:last-child{margin-bottom:0}body.page-download .dashicons,body.page-template-page-download .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.page-features .entry-content li{padding-bottom:1em}body.page-guides .entry-header,body.page-template-page-guides .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:3.4881591797rem}}@media screen and (min-width:480px) and (max-width:767px){.page-logos .all-logos.row{flex-direction:row;flex-wrap:wrap}.page-logos .all-logos.row .col-4{width:48%}.page-logos .all-logos.row .col-4:nth-child(n+3){margin-top:2%}}.page-logos .logo-header{margin:0}.page-logos .logo-header span,.page-logos .logo-header strong{display:block;font-size:16px;line-height:1;color:rgba(35,40,45,.75);margin:12px 0 8px;margin:.75rem 0 .5rem}.page-logos .logo-header span{font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem}.page-logos .resources-list{color:rgba(35,40,45,.5);font-size:16px;font-size:1rem;list-style-type:none;margin:0}@media screen and (min-width:768px){.page-logos .resources-list{font-size:.73152rem}}.page-logos .resources-list li{padding:0 0 5.328px;padding:0 0 .333rem}.page-logos .resources-list span{opacity:.5}.page-stats .wporg-stats-chart{align-items:center;display:flex;height:450px;justify-content:center;position:relative}.page-stats .loading:before{background:url(https://s.w.org/wp-includes/images/spinner.gif) no-repeat 50%;background-size:100%;content:"";display:block;height:20px;transform:translateZ(0);width:20px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){.page-stats .loading:before{background-image:url(https://s.w.org/wp-includes/images/spinner-2x.gif)}}.widget_download{font-size:12.8px;font-size:.8rem;text-align:center}.widget_download>div{margin:16px 0;margin:1rem 0}.widget_links{font-size:12.8px;font-size:.8rem}@media screen and (min-width:768px){body.archive #wporg-header ul li.current-menu-item:after,body.archive #wporg-header ul li.current_page_parent:after,body.archive #wporg-header ul li a.current~.uparrow,body.blog #wporg-header ul li.current-menu-item:after,body.blog #wporg-header ul li.current_page_parent:after,body.blog #wporg-header ul li a.current~.uparrow,body.search #wporg-header ul li.current-menu-item:after,body.search #wporg-header ul li.current_page_parent:after,body.search #wporg-header ul li a.current~.uparrow,body.single #wporg-header ul li.current-menu-item:after,body.single #wporg-header ul li.current_page_parent:after,body.single #wporg-header ul li a.current~.uparrow{border-bottom-color:#f7f7f7}}
\ No newline at end of file
+[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;right:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}body.page-about .areas h3,body.page-template-about .areas h3,h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}body.page-about .areas h3,body.page-template-about .areas h3,h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary,input[type=submit]{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button-group.button-xl input[type=submit],.button.button-xl,input.button-xl[type=submit]{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button-group.button-large input[type=submit],.button.button-large,input.button-large[type=submit]{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button-group.button-small input[type=submit],.button.button-small,input.button-small[type=submit]{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus,input:active[type=submit],input:focus[type=submit]{outline:none}.button.hidden,input.hidden[type=submit]{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited,input:visited[type=submit],input[type=submit]{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button,p input[type=submit]{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover,input.focus[type=submit],input.hover[type=submit],input:focus[type=submit],input:hover[type=submit]{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus,input.focus[type=submit],input:focus[type=submit]{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active,input.active:hover[type=submit],input.active[type=submit],input:active[type=submit]{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus,input.active:focus[type=submit]{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled],input.disabled[type=submit],input:disabled[type=submit],input[disabled][type=submit]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero,.plugin-upload-form input.button-primary.button-hero[type=submit],input.button-primary.button-hero[type=submit],input.download-button.button-hero[type=submit]{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active,.plugin-upload-form input.button-primary.button-hero.active:focus[type=submit],.plugin-upload-form input.button-primary.button-hero.active:hover[type=submit],.plugin-upload-form input.button-primary.button-hero.active[type=submit],.plugin-upload-form input.button-primary.button-hero:active[type=submit],input.button-primary.button-hero.active:focus[type=submit],input.button-primary.button-hero.active:hover[type=submit],input.button-primary.button-hero.active[type=submit],input.button-primary.button-hero:active[type=submit],input.download-button.button-hero.active:focus[type=submit],input.download-button.button-hero.active:hover[type=submit],input.download-button.button-hero.active[type=submit],input.download-button.button-hero:active[type=submit]{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button,.button-group>input[type=submit]{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-left:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover,.button-group>input:hover[type=submit]{z-index:20}.button-group>.button:first-child,.button-group>input:first-child[type=submit]{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:last-child,.button-group>input:last-child[type=submit]{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:focus,.button-group>input:focus[type=submit]{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary,input.button-large[type=submit],input.button-small[type=submit],input[type=submit]{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 0 0 4px;min-width:16px;outline:0;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px -4px 0 0}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-left:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.parallelogram{color:#fff;display:block;margin:0 auto;opacity:.9;padding:75.2px 0;padding:4.7rem 0;position:absolute;text-align:center;-webkit-transform:skew(15deg);-ms-transform:skew(15deg);transform:skew(15deg)}.parallelogram:before{font-size:61.035px;font-size:3.8146972656rem;height:64px;position:relative;left:16px;left:1rem;-webkit-transform:skew(-15deg);-ms-transform:skew(-15deg);transform:skew(-15deg);width:64px}.parallelogram>*{-webkit-transform:skew(-15deg);-ms-transform:skew(-15deg);transform:skew(-15deg)}.home .site-header{background:#0073aa}@media screen and (min-width:737px){.home .site-header{padding:3.0517578125rem 1.5625rem}}.home .site-header .site-title{color:#fff;display:block;font-size:48.828px;font-size:3.0517578125rem;font-weight:300;line-height:1;margin:32px 0 16px;margin:2rem 0 1rem;text-align:center}@media screen and (min-width:737px){.home .site-header .site-title{font-size:3.8146972656rem}}.home .site-header .site-description{color:#fff;max-width:568.434px;max-width:35.527136788rem;padding:11px 0}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-right:1em}.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6,.entry-content body.page-about .areas [class*=col-]~h3,.entry-content body.page-template-about .areas [class*=col-]~h3,body.page-about .areas .entry-content [class*=col-]~h3,body.page-template-about .areas .entry-content [class*=col-]~h3{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-left:16px;margin-left:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .updated:not(.published){display:none}.entry-meta .byline,.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:right;right:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;left:16px;left:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem;padding:0}.main-navigation ul li:last-of-type{margin-left:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}@media screen and (min-width:737px){body.page .site-header+.site-main .entry-title{padding:initial}}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;-webkit-transition:right .3s;transition:right .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button,#wporg-header #head-search form input[type=submit]{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body.page-about,body.page-template-about{overflow-x:hidden}body.page-about .entry-header,body.page-template-about .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-about .entry-header .entry-title,body.page-template-about .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:480px){body.page-about .entry-header .entry-title,body.page-template-about .entry-header .entry-title{font-size:3.0517578125rem}}body.page-about .entry-header .entry-description,body.page-template-about .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-about .shapes,body.page-template-about .shapes{height:480px;margin:64px 0;margin:4rem 0;position:relative}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:260px;width:310px}body.page-about .shapes .parallelogram:active,body.page-about .shapes .parallelogram:focus,body.page-about .shapes .parallelogram:hover,body.page-template-about .shapes .parallelogram:active,body.page-template-about .shapes .parallelogram:focus,body.page-template-about .shapes .parallelogram:hover{text-decoration:none}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{background-color:#006ca0;top:0;right:0;z-index:1}body.page-about .shapes .parallelogram.technology:active,body.page-about .shapes .parallelogram.technology:focus,body.page-about .shapes .parallelogram.technology:hover,body.page-template-about .shapes .parallelogram.technology:active,body.page-template-about .shapes .parallelogram.technology:focus,body.page-template-about .shapes .parallelogram.technology:hover{background-color:#004a6d}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{background-color:#67598e;left:0;bottom:0}body.page-about .shapes .parallelogram.community:active,body.page-about .shapes .parallelogram.community:focus,body.page-about .shapes .parallelogram.community:hover,body.page-template-about .shapes .parallelogram.community:active,body.page-template-about .shapes .parallelogram.community:focus,body.page-template-about .shapes .parallelogram.community:hover{background-color:#50456f}body.page-about .shapes .parallelogram h3,body.page-about .shapes .parallelogram p,body.page-template-about .shapes .parallelogram h3,body.page-template-about .shapes .parallelogram p{margin:0;-webkit-transform:skew(-15deg);-ms-transform:skew(-15deg);transform:skew(-15deg)}@media screen and (min-width:480px){body.page-about .shapes,body.page-template-about .shapes{height:610px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:336px;padding:7rem 0;width:400px}}@media screen and (min-width:640px){body.page-about .shapes,body.page-template-about .shapes{height:580px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:315px;padding:5rem 0;width:480px}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:4.768371582rem;height:84px;width:84px}}@media screen and (min-width:768px){body.page-about .shapes,body.page-template-about .shapes{height:323px;margin:4rem 0}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:282px;padding:4rem 0;width:430px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{right:auto;left:45%;top:40px}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{bottom:auto;right:45%}}@media screen and (min-width:1024px){body.page-about .shapes,body.page-template-about .shapes{height:420px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:380px;padding:6rem 0;width:580px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{left:43%}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{right:43%}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:5.9604644775rem;height:108px;width:108px}}body.page-about .freedoms,body.page-template-about .freedoms{margin-top:32px;margin-top:2rem;text-align:center}body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background:url(/wp-content/themes/pub/wporg-main/images/freedoms.png) no-repeat;-webkit-background-size:100% 100%;background-size:100%;padding-top:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background-image:url(/wp-content/themes/pub/wporg-main/images/freedoms-2x.png)}}@media screen and (max-width:479px){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{float:right;margin:0 0 1rem 1rem;padding-top:25%;width:25%}body.page-about .freedoms h3,body.page-about .freedoms p,body.page-template-about .freedoms h3,body.page-template-about .freedoms p{clear:none;margin-top:0;text-align:right}}@media screen and (min-width:480px) and (max-width:767px){body.page-about .freedoms.row,body.page-template-about .freedoms.row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}body.page-about .freedoms .col-3,body.page-template-about .freedoms .col-3{width:48%}}body.page-about .freedoms [class*=col-]:nth-of-type(2) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(2) .graphic{background-position:100% 34%}body.page-about .freedoms [class*=col-]:nth-of-type(3) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(3) .graphic{background-position:100% 66%}body.page-about .freedoms [class*=col-]:nth-of-type(4) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(4) .graphic{background-position:100% 100%}body.page-about .freedoms h3,body.page-template-about .freedoms h3{font-weight:300;font-size:20px;font-size:1.25rem}body.page-child .site-title a{color:#fff;text-decoration:none}body.page-child .site-title a:active,body.page-child .site-title a:hover{color:#fff}body.page-child .entry-header{background:none;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}body.page-child .entry-header .entry-title{color:inherit;font-size:39.062px;font-size:2.44140625rem;font-weight:400;line-height:1.5;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:737px){body.page-child .entry-header .entry-title{padding:0}}body.page-child .entry-content{padding-top:0}.entry-content{-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.home-welcome{background:#fff;border-bottom:1px solid #dfdfdf;color:#32373c;font-family:Open Sans,sans-serif;font-weight:400;line-height:1.5;max-width:none;padding:0}@media screen and (min-width:737px){.home-welcome{font-size:18px}}.home-welcome h1{font-size:51.2px;font-size:3.2rem}.home-welcome a:not(.button):not(input[type=submit]){background-color:transparent;border:none;color:#0073aa;text-decoration:none}.home-welcome a:not(.button):not(input[type=submit]):hover{text-decoration:underline}.home-welcome a:not(.button):not(input[type=submit]):active,.home-welcome a:not(.button):not(input[type=submit]):hover{outline-width:0}.home-welcome p{font-size:18px;margin:1em 0;max-width:568.434px;max-width:35.527136788rem}.home-welcome p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.home-welcome section{border-bottom:2px solid #eee;margin:0 auto;max-width:800px;max-width:50rem;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.home-welcome section:last-of-type{border-bottom:none}.home-welcome section h2{line-height:1;text-align:center}.home-welcome section .container{margin:0 auto;max-width:800px;max-width:50rem;z-index:0}.home-welcome .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.home-welcome .intro{padding-bottom:0}.home-welcome .features{border-top:2px solid #eee}.home-welcome .features ul{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:48px 0;margin:3rem 0;padding:0}.home-welcome .features ul li{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #eee;border-left:1px solid #eee;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:160px;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;width:50%}@media screen and (max-width:739px){.home-welcome .features ul li:nth-child(n+7){border-bottom:none}.home-welcome .features ul li:nth-child(2n){border-left:none}}@media screen and (min-width:740px){.home-welcome .features ul li{height:200px;width:25%}.home-welcome .features ul li:nth-child(4n){border-left:none}.home-welcome .features ul li:nth-child(n+5){border-bottom:none}}.home-welcome .features ul li img{height:40px;height:2.5rem;margin:4px auto 20px;margin:.25rem auto 1.25rem}.home-welcome .features ul li img,.home-welcome .features ul li span{color:#00a0d2;display:block;font-size:48px;font-size:3rem;margin-bottom:16px;margin-bottom:1rem}.home-welcome .features p{margin-right:auto;margin-left:auto;text-align:center}.home-welcome .screenshots{height:400px;right:-30px;overflow:hidden;padding:16px 16px 0;padding:1rem 1rem 0;position:relative;left:0;width:106%}@media (max-width:739px){.home-welcome .screenshots{padding:0;right:auto;left:auto;width:100%}}.home-welcome .screenshots .dashboard{-webkit-box-shadow:0 1px 8px rgba(0,0,0,.2);box-shadow:0 1px 8px rgba(0,0,0,.2);max-width:800px}.home-welcome .screenshots .dashboard-mobile{bottom:-100px;max-width:200px;position:absolute;left:1px;z-index:1}.home-welcome .cta-wrapper{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-align:center}@media screen and (min-width:737px){.home-welcome .cta-wrapper{font-size:.8rem;margin:4rem 0 2rem}}.home-welcome .community-2{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start;background:url(https://s.w.org/images/home/community-2.jpg?3) bottom no-repeat;-webkit-background-size:cover;background-size:cover;border:none;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:500px;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;max-width:100%;position:relative}.home-welcome .community-2 .screen{background:rgba(0,0,0,.5);height:100%;right:0;position:absolute;left:0;top:0;width:100%;z-index:0}.home-welcome .community-2 .subheading,.home-welcome .community-2 h2{color:#fff;margin:0 0 16px;margin:0 0 1rem;max-width:100%;position:relative;text-align:right;text-shadow:0 0 8px rgba(0,0,0,.5);z-index:1}.home-welcome .showcase{border-bottom:none;margin:0;max-width:100%;padding-right:0;padding-left:0}.home-welcome .showcase>div{background:url(https://s.w.org/images/home/collage-min.jpg?4) top;-webkit-background-size:cover;background-size:cover;-webkit-box-shadow:inset 0 0 8px rgba(0,0,0,.4);box-shadow:inset 0 0 8px rgba(0,0,0,.4);height:300px;width:100%}@media (min-width:700px){.home-welcome .showcase>div{height:600px;background-attachment:fixed}}.home-welcome .showcase .cta-link{margin:48.828px 0 0;margin:3.05176rem 0 0;max-width:100%;text-align:center}.home-welcome #showcase-link{font-size:14px}#lang-guess{background:#c7e8ca;border:inherit;-webkit-border-radius:inherit;border-radius:inherit;cursor:pointer;font:inherit;font-size:12.8px;font-size:.8rem;margin:0;max-width:inherit;padding:8px;padding:.5rem;text-align:center;width:inherit}@media screen and (min-width:67rem){#lang-guess{margin:1rem auto 0;max-width:50rem}}#home-below{font-size:12.8px;font-size:.8rem;margin:0 auto 16px;margin:0 auto 1rem;max-width:960px;padding:0 18.288px;padding:0 1.143rem}@media (max-width:768px){#home-below{display:block}#home-below .col-2{display:inline-block;vertical-align:top;width:48%}}#home-below body.page-about .areas h3,#home-below body.page-template-about .areas h3,#home-below h4,body.page-about .areas #home-below h3,body.page-template-about .areas #home-below h3{border-bottom:1px solid #dedede;font-size:inherit;padding-bottom:4px}#home-below h5{line-height:1;margin:0;text-transform:none}#home-below body.page-about .areas h3 a,#home-below body.page-template-about .areas h3 a,#home-below h4 a,#home-below h5 a,body.page-about .areas #home-below h3 a,body.page-template-about .areas #home-below h3 a{text-decoration:none}#home-below body.page-about .areas h3 a:hover,#home-below body.page-template-about .areas h3 a:hover,#home-below h4 a:hover,#home-below h5 a:hover,body.page-about .areas #home-below h3 a:hover,body.page-template-about .areas #home-below h3 a:hover{text-decoration:underline}#home-below ol,#home-below ul{margin:0}#home-below .steps{list-style:none;padding:0}#home-below .steps li{margin-bottom:16px;margin-bottom:1rem;padding-right:40px;padding-right:2.5rem;position:relative}#home-below .steps li span{background:url(//s.w.org/style/images/steps.png) no-repeat;-webkit-background-size:93px 31px;background-size:93px 31px;content:"";height:31px;right:0;position:absolute;top:0;width:31px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#home-below .steps li span{background-image:url(//s.w.org/style/images/steps-2x.png)}}#home-below .steps .one span{background-position:100% 0}#home-below .steps .two span{background-position:-31px 0}#home-below .steps .three span{background-position:-62px 0}#home-below .notable-users{list-style:none;padding:0}#home-below .notable-users li a{border:1px solid #f5f5f5;border-left-color:#dedede;border-bottom-color:#dedede;display:block;height:59px;margin-bottom:8px;width:130px}#home-below .notable-users li a:active{border:1px solid #dedede;border-left-color:#f5f5f5;border-bottom-color:#f5f5f5}#home-below .notable-users.col-12{margin-bottom:0}@media screen and (min-width:420px) and (max-width:768px){#home-below .notable-users{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}#home-below .notable-users .col-3{width:48%}}#home-below .showcase-link{display:block;font-size:10.24px;font-size:.64rem;margin:16px 0;margin:1rem 0}@media screen and (max-width:480px){table.releases td{width:25%}table.releases td:nth-child(2),table.releases td small{display:none}}body.page-download,body.page-template-page-download{overflow-x:hidden}body.page-download .entry-header,body.page-template-page-download .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:3.4881591797rem}}body.page-download .entry-header .entry-description,body.page-template-page-download .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-download section,body.page-template-page-download section{padding:48.828px 0;padding:3.0517578125rem 0}body.page-download section h2:first-of-type,body.page-template-page-download section h2:first-of-type{width:100%}body.page-download section.download,body.page-template-page-download section.download{padding-top:0;text-align:center}body.page-download section.download .call-to-action,body.page-template-page-download section.download .call-to-action{margin-top:0}body.page-download section.download .call-to-action p,body.page-template-page-download section.download .call-to-action p{margin-top:8px;margin-top:.5rem}@media screen and (min-width:479px){body.page-download section.download aside,body.page-template-page-download section.download aside{text-align:initial}}@media screen and (max-width:479px){body.page-download section.download aside[class*=col-],body.page-download section.download aside p:last-child,body.page-template-page-download section.download aside[class*=col-],body.page-template-page-download section.download aside p:last-child{margin-bottom:0}body.page-download section.download .call-to-action:not(:last-child),body.page-template-page-download section.download .call-to-action:not(:last-child){margin-bottom:2rem}body.page-download section.download li,body.page-template-page-download section.download li{list-style-type:none}}body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{margin-left:5px;vertical-align:middle}@media screen and (max-width:479px){body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{display:none}}body.page-download section.download .col-4:nth-child(n+4),body.page-template-page-download section.download .col-4:nth-child(n+4){margin-top:0}body.page-download section.hosting,body.page-template-page-download section.hosting{position:relative;text-align:center}body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{background:#f5f5f5;height:100%;right:-10%;padding:0;top:0;width:120%;z-index:-1}@media screen and (max-width:768px){body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{-webkit-transform:none;-ms-transform:none;transform:none}}body.page-download section.hosting .dashicons-cloud,body.page-template-page-download section.hosting .dashicons-cloud{color:#0073aa}@media screen and (min-width:479px){body.page-download section.hosting .host,body.page-template-page-download section.hosting .host{text-align:initial}}@media screen and (max-width:768px){body.page-download section.hosting [class*=col-],body.page-template-page-download section.hosting [class*=col-]{margin-bottom:2rem}}body.page-download section.hosting .logo,body.page-template-page-download section.hosting .logo{height:35px}body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{text-align:center;width:100%}@media screen and (max-width:768px){body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{border-top:none;border-bottom:2px solid #eee;padding-top:0}}body.page-download section.apps-mobile .web-stores [class*=button-],body.page-template-page-download section.apps-mobile .web-stores [class*=button-]{display:inline-block;margin:8px;margin:.5rem;width:150px}body.page-download section.apps-mobile .ios .button-android,body.page-template-page-download section.apps-mobile .ios .button-android{display:none}body.page-download section.apps-mobile .android .button-ios,body.page-template-page-download section.apps-mobile .android .button-ios{display:none}body.page-download section.apps-mobile img,body.page-template-page-download section.apps-mobile img{vertical-align:middle}body.page-download .call-to-action,body.page-template-page-download .call-to-action{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-decoration:underline}@media screen and (min-width:479px){body.page-download .call-to-action,body.page-template-page-download .call-to-action{font-size:.8rem}}body.page-download .call-to-action:last-child,body.page-template-page-download .call-to-action:last-child{margin-bottom:0}body.page-download .site-content .dashicons,body.page-template-page-download .site-content .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.page-features .entry-content li{padding-bottom:1em}body.page-guides .entry-header,body.page-template-page-guides .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:3.4881591797rem}}@media screen and (min-width:480px) and (max-width:767px){.page-logos .all-logos.row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.page-logos .all-logos.row .col-4{width:48%}.page-logos .all-logos.row .col-4:nth-child(n+3){margin-top:2%}}.page-logos .logo-header{margin:0}.page-logos .logo-header span,.page-logos .logo-header strong{display:block;font-size:16px;line-height:1;color:rgba(35,40,45,.75);margin:12px 0 8px;margin:.75rem 0 .5rem}.page-logos .logo-header span{font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem}.page-logos .resources-list{color:rgba(35,40,45,.5);font-size:16px;font-size:1rem;list-style-type:none;margin:0}@media screen and (min-width:768px){.page-logos .resources-list{font-size:.73152rem}}.page-logos .resources-list li{padding:0 0 5.328px;padding:0 0 .333rem}.page-logos .resources-list span{opacity:.5}.page-stats .wporg-stats-chart{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:450px;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative}.page-stats .loading:before{background:url(https://s.w.org/wp-includes/images/spinner.gif) no-repeat 50%;-webkit-background-size:100% 100%;background-size:100%;content:"";display:block;height:20px;-webkit-transform:translateZ(0);transform:translateZ(0);width:20px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){.page-stats .loading:before{background-image:url(https://s.w.org/wp-includes/images/spinner-2x.gif)}}.widget_download{font-size:12.8px;font-size:.8rem;text-align:center}.widget_download>div{margin:16px 0;margin:1rem 0}.widget_links{font-size:12.8px;font-size:.8rem}@media screen and (min-width:768px){body.archive #wporg-header ul li.current-menu-item:after,body.archive #wporg-header ul li.current_page_parent:after,body.archive #wporg-header ul li a.current~.uparrow,body.blog #wporg-header ul li.current-menu-item:after,body.blog #wporg-header ul li.current_page_parent:after,body.blog #wporg-header ul li a.current~.uparrow,body.search #wporg-header ul li.current-menu-item:after,body.search #wporg-header ul li.current_page_parent:after,body.search #wporg-header ul li a.current~.uparrow,body.single #wporg-header ul li.current-menu-item:after,body.single #wporg-header ul li.current_page_parent:after,body.single #wporg-header ul li a.current~.uparrow{border-bottom-color:#f7f7f7}}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css
index 5d7eb9609..de9b72c50 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css
@@ -1 +1,2 @@
-[class*=col-]{margin:inherit}.row{display:flex;flex-direction:row;flex-wrap:wrap}@media (max-width:768px){.row{flex-direction:column;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{justify-content:space-around}.row.between{justify-content:space-between}.row.auto .col{flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{order:-1}.last{order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{order:-1}.last-sm{order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{align-items:center}.align-right{justify-content:flex-end}.align-center{justify-content:center}@media (max-width:768px){.align-left-sm{justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-left,.float-right{float:none}}.fixed{position:fixed;top:0;left:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}body.page-about .areas h3,body.page-template-about .areas h3,h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem}h1,h2{font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem}h3{font-size:25px;font-size:1.5625rem;font-weight:400}body.page-about .areas h3,body.page-template-about .areas h3,h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;letter-spacing:0.16px;letter-spacing:.01rem}h5,h6{font-weight:600;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary,input[type=submit]{border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button-group.button-xl input[type=submit],.button.button-xl,input.button-xl[type=submit]{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button-group.button-large input[type=submit],.button.button-large,input.button-large[type=submit]{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button-group.button-small input[type=submit],.button.button-small,input.button-small[type=submit]{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus,input:active[type=submit],input:focus[type=submit]{outline:none}.button.hidden,input.hidden[type=submit]{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited,input:visited[type=submit],input[type=submit]{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button,p input[type=submit]{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover,input.focus[type=submit],input.hover[type=submit],input:focus[type=submit],input:hover[type=submit]{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus,input.focus[type=submit],input:focus[type=submit]{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active,input.active:hover[type=submit],input.active[type=submit],input:active[type=submit]{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus,input.active:focus[type=submit]{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled],input.disabled[type=submit],input:disabled[type=submit],input[disabled][type=submit]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero,.plugin-upload-form input.button-primary.button-hero[type=submit],input.button-primary.button-hero[type=submit],input.download-button.button-hero[type=submit]{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active,.plugin-upload-form input.button-primary.button-hero.active:focus[type=submit],.plugin-upload-form input.button-primary.button-hero.active:hover[type=submit],.plugin-upload-form input.button-primary.button-hero.active[type=submit],.plugin-upload-form input.button-primary.button-hero:active[type=submit],input.button-primary.button-hero.active:focus[type=submit],input.button-primary.button-hero.active:hover[type=submit],input.button-primary.button-hero.active[type=submit],input.button-primary.button-hero:active[type=submit],input.download-button.button-hero.active:focus[type=submit],input.download-button.button-hero.active:hover[type=submit],input.download-button.button-hero.active[type=submit],input.download-button.button-hero:active[type=submit]{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button,.button-group>input[type=submit]{border-radius:0;display:inline-block;margin-right:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover,.button-group>input:hover[type=submit]{z-index:20}.button-group>.button:first-child,.button-group>input:first-child[type=submit]{border-radius:3px 0 0 3px}.button-group>.button:last-child,.button-group>input:last-child[type=submit]{border-radius:0 3px 3px 0}.button-group>.button:focus,.button-group>input:focus[type=submit]{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary,input.button-large[type=submit],input.button-small[type=submit],input[type=submit]{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:0.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 4px 0 0;min-width:16px;outline:0;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px 0 0 -4px}input[type=radio]{border-radius:50%;line-height:10px;margin-right:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.parallelogram{color:#fff;display:block;margin:0 auto;opacity:.9;padding:75.2px 0;padding:4.7rem 0;position:absolute;text-align:center;transform:skew(-15deg)}.parallelogram:before{font-size:61.035px;font-size:3.8146972656rem;height:64px;position:relative;right:16px;right:1rem;transform:skew(15deg);width:64px}.parallelogram>*{transform:skew(15deg)}.home .site-header{background:#0073aa}@media screen and (min-width:737px){.home .site-header{padding:3.0517578125rem 1.5625rem}}.home .site-header .site-title{color:#fff;display:block;font-size:48.828px;font-size:3.0517578125rem;font-weight:300;line-height:1;margin:32px 0 16px;margin:2rem 0 1rem;text-align:center}@media screen and (min-width:737px){.home .site-header .site-title{font-size:3.8146972656rem}}.home .site-header .site-description{color:#fff;max-width:568.434px;max-width:35.527136788rem;padding:11px 0}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;transform:rotate(0deg)}15%{width:185px;height:185px;transform:rotate(0deg)}20%{width:180px;height:180px;transform:rotate(5deg)}40%{transform-origin:top left;animation-timing-function:ease-in-out}60%{transform:rotate(40deg);transform-origin:top left;animation-timing-function:ease-in-out}40%,80%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out;opacity:1}to{transform:translate3d(0,700px,0);opacity:0}}.hinge{animation-duration:2s;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content>:last-child,.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6,.entry-content body.page-about .areas [class*=col-]~h3,.entry-content body.page-template-about .areas [class*=col-]~h3,body.page-about .areas .entry-content [class*=col-]~h3,body.page-template-about .areas .entry-content [class*=col-]~h3{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-right:16px;margin-right:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .byline,.entry-meta .updated:not(.published),.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;left:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;right:16px;right:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem;padding:0}.main-navigation ul li:last-of-type{margin-right:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}@media screen and (min-width:737px){body.page .site-header+.site-main .entry-title{padding:initial}}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0;clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;transition:left .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button,#wporg-header #head-search form input[type=submit]{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body.page-about,body.page-template-about{overflow-x:hidden}body.page-about .entry-header,body.page-template-about .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-about .entry-header .entry-title,body.page-template-about .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}body.page-about .entry-header .entry-description,body.page-template-about .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-about .shapes,body.page-template-about .shapes{height:480px;margin:64px 0;margin:4rem 0;position:relative}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:260px;width:310px}body.page-about .shapes .parallelogram:active,body.page-about .shapes .parallelogram:focus,body.page-about .shapes .parallelogram:hover,body.page-template-about .shapes .parallelogram:active,body.page-template-about .shapes .parallelogram:focus,body.page-template-about .shapes .parallelogram:hover{text-decoration:none}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{background-color:#006ca0;top:0;left:0;z-index:1}body.page-about .shapes .parallelogram.technology:active,body.page-about .shapes .parallelogram.technology:focus,body.page-about .shapes .parallelogram.technology:hover,body.page-template-about .shapes .parallelogram.technology:active,body.page-template-about .shapes .parallelogram.technology:focus,body.page-template-about .shapes .parallelogram.technology:hover{background-color:#004a6d}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{background-color:#67598e;right:0;bottom:0}body.page-about .shapes .parallelogram.community:active,body.page-about .shapes .parallelogram.community:focus,body.page-about .shapes .parallelogram.community:hover,body.page-template-about .shapes .parallelogram.community:active,body.page-template-about .shapes .parallelogram.community:focus,body.page-template-about .shapes .parallelogram.community:hover{background-color:#50456f}body.page-about .shapes .parallelogram h3,body.page-about .shapes .parallelogram p,body.page-template-about .shapes .parallelogram h3,body.page-template-about .shapes .parallelogram p{margin:0;transform:skew(15deg)}@media screen and (min-width:480px){body.page-about .shapes,body.page-template-about .shapes{height:610px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:336px;padding:7rem 0;width:400px}}@media screen and (min-width:640px){body.page-about .shapes,body.page-template-about .shapes{height:580px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:315px;padding:5rem 0;width:480px}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:4.768371582rem;height:84px;width:84px}}@media screen and (min-width:768px){body.page-about .shapes,body.page-template-about .shapes{height:323px;margin:4rem 0}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:282px;padding:4rem 0;width:430px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{left:auto;right:45%;top:40px}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{bottom:auto;left:45%}}@media screen and (min-width:1024px){body.page-about .shapes,body.page-template-about .shapes{height:420px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:380px;padding:6rem 0;width:580px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{right:43%}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{left:43%}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:5.9604644775rem;height:108px;width:108px}}body.page-about .freedoms,body.page-template-about .freedoms{margin-top:32px;margin-top:2rem;text-align:center}body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background:url(/wp-content/themes/pub/wporg-main/images/freedoms.png) no-repeat;background-size:100%;padding-top:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background-image:url(/wp-content/themes/pub/wporg-main/images/freedoms-2x.png)}}@media screen and (max-width:479px){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{float:left;margin:0 1rem 1rem 0;padding-top:25%;width:25%}body.page-about .freedoms h3,body.page-about .freedoms p,body.page-template-about .freedoms h3,body.page-template-about .freedoms p{clear:none;margin-top:0;text-align:left}}@media screen and (min-width:480px) and (max-width:767px){body.page-about .freedoms.row,body.page-template-about .freedoms.row{flex-direction:row;flex-wrap:wrap}body.page-about .freedoms .col-3,body.page-template-about .freedoms .col-3{width:48%}}body.page-about .freedoms [class*=col-]:nth-of-type(2) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(2) .graphic{background-position:0 34%}body.page-about .freedoms [class*=col-]:nth-of-type(3) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(3) .graphic{background-position:0 66%}body.page-about .freedoms [class*=col-]:nth-of-type(4) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(4) .graphic{background-position:0 100%}body.page-about .freedoms h3,body.page-template-about .freedoms h3{font-weight:300;font-size:20px;font-size:1.25rem}body.page-child .site-title a{color:#fff;text-decoration:none}body.page-child .site-title a:active,body.page-child .site-title a:hover{color:#fff}body.page-child .entry-header{background:none;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}body.page-child .entry-header .entry-title{color:inherit;font-size:39.062px;font-size:2.44140625rem;font-weight:400;line-height:1.5;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:737px){body.page-child .entry-header .entry-title{padding:0}}body.page-child .entry-content{padding-top:0}.entry-content{hyphens:none}.home-welcome{background:#fff;border-bottom:1px solid #dfdfdf;color:#32373c;font-family:Open Sans,sans-serif;font-weight:400;line-height:1.5;max-width:none;padding:0}@media screen and (min-width:737px){.home-welcome{font-size:18px}}.home-welcome h1{font-size:51.2px;font-size:3.2rem}.home-welcome a:not(.button):not(input[type=submit]){background-color:transparent;border:none;color:#0073aa;text-decoration:none}.home-welcome a:not(.button):not(input[type=submit]):hover{text-decoration:underline}.home-welcome a:not(.button):not(input[type=submit]):active,.home-welcome a:not(.button):not(input[type=submit]):hover{outline-width:0}.home-welcome p{font-size:18px;margin:1em 0;max-width:568.434px;max-width:35.527136788rem}.home-welcome p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.home-welcome section{border-bottom:2px solid #eee;margin:0 auto;max-width:800px;max-width:50rem;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.home-welcome section:last-of-type{border-bottom:none}.home-welcome section h2{line-height:1;text-align:center}.home-welcome section .container{margin:0 auto;max-width:800px;max-width:50rem;z-index:0}.home-welcome .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.home-welcome .intro{padding-bottom:0}.home-welcome .features{border-top:2px solid #eee}.home-welcome .features ul{align-items:center;display:flex;flex-wrap:wrap;list-style:none;margin:48px 0;margin:3rem 0;padding:0}.home-welcome .features ul li{align-items:center;border-bottom:1px solid #eee;border-right:1px solid #eee;display:flex;flex-direction:column;height:160px;justify-content:center;text-align:center;width:50%}@media screen and (max-width:739px){.home-welcome .features ul li:nth-child(n+7){border-bottom:none}.home-welcome .features ul li:nth-child(2n){border-right:none}}@media screen and (min-width:740px){.home-welcome .features ul li{height:200px;width:25%}.home-welcome .features ul li:nth-child(4n){border-right:none}.home-welcome .features ul li:nth-child(n+5){border-bottom:none}}.home-welcome .features ul li img{height:40px;height:2.5rem;margin:4px auto 20px;margin:.25rem auto 1.25rem}.home-welcome .features ul li img,.home-welcome .features ul li span{color:#00a0d2;display:block;font-size:48px;font-size:3rem;margin-bottom:16px;margin-bottom:1rem}.home-welcome .features p{margin-left:auto;margin-right:auto;text-align:center}.home-welcome .screenshots{height:400px;left:-30px;overflow:hidden;padding:16px 16px 0;padding:1rem 1rem 0;position:relative;right:0;width:106%}@media (max-width:739px){.home-welcome .screenshots{padding:0;left:auto;right:auto;width:100%}}.home-welcome .screenshots .dashboard{box-shadow:0 1px 8px rgba(0,0,0,.2);max-width:800px}.home-welcome .screenshots .dashboard-mobile{bottom:-100px;max-width:200px;position:absolute;right:1px;z-index:1}.home-welcome .cta-wrapper{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-align:center}@media screen and (min-width:737px){.home-welcome .cta-wrapper{font-size:.8rem;margin:4rem 0 2rem}}.home-welcome .community-2{align-items:flex-start;background:url(https://s.w.org/images/home/community-2.jpg?3) bottom no-repeat;background-size:cover;border:none;display:flex;flex-direction:column;height:500px;justify-content:flex-end;max-width:100%;position:relative}.home-welcome .community-2 .screen{background:rgba(0,0,0,.5);height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:0}.home-welcome .community-2 .subheading,.home-welcome .community-2 h2{color:#fff;margin:0 0 16px;margin:0 0 1rem;max-width:100%;position:relative;text-align:left;text-shadow:0 0 8px rgba(0,0,0,.5);z-index:1}.home-welcome .showcase{border-bottom:none;margin:0;max-width:100%;padding-left:0;padding-right:0}.home-welcome .showcase>div{background:url(https://s.w.org/images/home/collage-min.jpg?3) top;background-size:cover;box-shadow:inset 0 0 8px rgba(0,0,0,.4);height:300px;width:100%}@media (min-width:700px){.home-welcome .showcase>div{height:600px;background-attachment:fixed}}.home-welcome .showcase .cta-link{margin:48.828px 0 0;margin:3.05176rem 0 0;max-width:100%;text-align:center}.home-welcome #showcase-link{font-size:14px}#lang-guess{background:#c7e8ca;border:inherit;border-radius:inherit;cursor:pointer;font:inherit;font-size:12.8px;font-size:.8rem;margin:0;max-width:inherit;padding:8px;padding:.5rem;text-align:center;width:inherit}@media screen and (min-width:67rem){#lang-guess{margin:1rem auto 0;max-width:50rem}}#home-below{font-size:12.8px;font-size:.8rem;margin:0 auto 16px;margin:0 auto 1rem;max-width:960px;padding:0 18.288px;padding:0 1.143rem}@media (max-width:768px){#home-below{display:block}#home-below .col-2{display:inline-block;vertical-align:top;width:48%}}#home-below body.page-about .areas h3,#home-below body.page-template-about .areas h3,#home-below h4,body.page-about .areas #home-below h3,body.page-template-about .areas #home-below h3{border-bottom:1px solid #dedede;font-size:inherit;padding-bottom:4px}#home-below h5{line-height:1;margin:0;text-transform:none}#home-below body.page-about .areas h3 a,#home-below body.page-template-about .areas h3 a,#home-below h4 a,#home-below h5 a,body.page-about .areas #home-below h3 a,body.page-template-about .areas #home-below h3 a{text-decoration:none}#home-below body.page-about .areas h3 a:hover,#home-below body.page-template-about .areas h3 a:hover,#home-below h4 a:hover,#home-below h5 a:hover,body.page-about .areas #home-below h3 a:hover,body.page-template-about .areas #home-below h3 a:hover{text-decoration:underline}#home-below ol,#home-below ul{margin:0}#home-below .steps{list-style:none;padding:0}#home-below .steps li{margin-bottom:16px;margin-bottom:1rem;padding-left:40px;padding-left:2.5rem;position:relative}#home-below .steps li span{background:url(//s.w.org/style/images/steps.png) no-repeat;background-size:93px 31px;content:"";height:31px;left:0;position:absolute;top:0;width:31px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#home-below .steps li span{background-image:url(//s.w.org/style/images/steps-2x.png)}}#home-below .steps .one span{background-position:0 0}#home-below .steps .two span{background-position:-31px 0}#home-below .steps .three span{background-position:-62px 0}#home-below .notable-users{list-style:none;padding:0}#home-below .notable-users li a{border:1px solid #f5f5f5;border-right-color:#dedede;border-bottom-color:#dedede;display:block;height:59px;margin-bottom:8px;width:130px}#home-below .notable-users li a:active{border:1px solid #dedede;border-right-color:#f5f5f5;border-bottom-color:#f5f5f5}#home-below .notable-users.col-12{margin-bottom:0}@media screen and (min-width:420px) and (max-width:768px){#home-below .notable-users{flex-direction:row;flex-wrap:wrap}#home-below .notable-users .col-3{width:48%}}#home-below .showcase-link{display:block;font-size:10.24px;font-size:.64rem;margin:16px 0;margin:1rem 0}@media screen and (max-width:480px){table.releases td{width:25%}table.releases td:nth-child(2),table.releases td small{display:none}}body.page-download,body.page-template-page-download{overflow-x:hidden}body.page-download .entry-header,body.page-template-page-download .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:3.4881591797rem}}body.page-download .entry-header .entry-description,body.page-template-page-download .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-download section,body.page-template-page-download section{padding:48.828px 0;padding:3.0517578125rem 0}body.page-download section h2:first-of-type,body.page-template-page-download section h2:first-of-type{width:100%}body.page-download section.download,body.page-template-page-download section.download{padding-top:0;text-align:center}body.page-download section.download .call-to-action,body.page-template-page-download section.download .call-to-action{margin-top:0}body.page-download section.download .call-to-action p,body.page-template-page-download section.download .call-to-action p{margin-top:8px;margin-top:.5rem}@media screen and (min-width:479px){body.page-download section.download aside,body.page-template-page-download section.download aside{text-align:initial}}@media screen and (max-width:479px){body.page-download section.download aside[class*=col-],body.page-download section.download aside p:last-child,body.page-template-page-download section.download aside[class*=col-],body.page-template-page-download section.download aside p:last-child{margin-bottom:0}body.page-download section.download .call-to-action:not(:last-child),body.page-template-page-download section.download .call-to-action:not(:last-child){margin-bottom:2rem}body.page-download section.download li,body.page-template-page-download section.download li{list-style-type:none}}body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{margin-right:5px;vertical-align:middle}@media screen and (max-width:479px){body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{display:none}}body.page-download section.download .col-4:nth-child(n+4),body.page-template-page-download section.download .col-4:nth-child(n+4){margin-top:0}body.page-download section.hosting,body.page-template-page-download section.hosting{position:relative;text-align:center}body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{background:#f5f5f5;height:100%;left:-10%;padding:0;top:0;width:120%;z-index:-1}@media screen and (max-width:768px){body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{transform:none}}body.page-download section.hosting .dashicons-cloud,body.page-template-page-download section.hosting .dashicons-cloud{color:#0073aa}@media screen and (min-width:479px){body.page-download section.hosting .host,body.page-template-page-download section.hosting .host{text-align:initial}}@media screen and (max-width:768px){body.page-download section.hosting [class*=col-],body.page-template-page-download section.hosting [class*=col-]{margin-bottom:2rem}}body.page-download section.hosting .logo,body.page-template-page-download section.hosting .logo{height:35px}body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{text-align:center;width:100%}@media screen and (max-width:768px){body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{border-top:none;border-bottom:2px solid #eee;padding-top:0}}body.page-download section.apps-mobile .web-stores [class*=button-],body.page-template-page-download section.apps-mobile .web-stores [class*=button-]{display:inline-block;margin:8px;margin:.5rem;width:150px}body.page-download section.apps-mobile .android .button-ios,body.page-download section.apps-mobile .ios .button-android,body.page-template-page-download section.apps-mobile .android .button-ios,body.page-template-page-download section.apps-mobile .ios .button-android{display:none}body.page-download section.apps-mobile img,body.page-template-page-download section.apps-mobile img{vertical-align:middle}body.page-download .call-to-action,body.page-template-page-download .call-to-action{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-decoration:underline}@media screen and (min-width:479px){body.page-download .call-to-action,body.page-template-page-download .call-to-action{font-size:.8rem}}body.page-download .call-to-action:last-child,body.page-template-page-download .call-to-action:last-child{margin-bottom:0}body.page-download .dashicons,body.page-template-page-download .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.page-features .entry-content li{padding-bottom:1em}body.page-guides .entry-header,body.page-template-page-guides .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:3.4881591797rem}}@media screen and (min-width:480px) and (max-width:767px){.page-logos .all-logos.row{flex-direction:row;flex-wrap:wrap}.page-logos .all-logos.row .col-4{width:48%}.page-logos .all-logos.row .col-4:nth-child(n+3){margin-top:2%}}.page-logos .logo-header{margin:0}.page-logos .logo-header span,.page-logos .logo-header strong{display:block;font-size:16px;line-height:1;color:rgba(35,40,45,.75);margin:12px 0 8px;margin:.75rem 0 .5rem}.page-logos .logo-header span{font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem}.page-logos .resources-list{color:rgba(35,40,45,.5);font-size:16px;font-size:1rem;list-style-type:none;margin:0}@media screen and (min-width:768px){.page-logos .resources-list{font-size:.73152rem}}.page-logos .resources-list li{padding:0 0 5.328px;padding:0 0 .333rem}.page-logos .resources-list span{opacity:.5}.page-stats .wporg-stats-chart{align-items:center;display:flex;height:450px;justify-content:center;position:relative}.page-stats .loading:before{background:url(https://s.w.org/wp-includes/images/spinner.gif) no-repeat 50%;background-size:100%;content:"";display:block;height:20px;transform:translateZ(0);width:20px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){.page-stats .loading:before{background-image:url(https://s.w.org/wp-includes/images/spinner-2x.gif)}}.widget_download{font-size:12.8px;font-size:.8rem;text-align:center}.widget_download>div{margin:16px 0;margin:1rem 0}.widget_links{font-size:12.8px;font-size:.8rem}@media screen and (min-width:768px){body.archive #wporg-header ul li.current-menu-item:after,body.archive #wporg-header ul li.current_page_parent:after,body.archive #wporg-header ul li a.current~.uparrow,body.blog #wporg-header ul li.current-menu-item:after,body.blog #wporg-header ul li.current_page_parent:after,body.blog #wporg-header ul li a.current~.uparrow,body.search #wporg-header ul li.current-menu-item:after,body.search #wporg-header ul li.current_page_parent:after,body.search #wporg-header ul li a.current~.uparrow,body.single #wporg-header ul li.current-menu-item:after,body.single #wporg-header ul li.current_page_parent:after,body.single #wporg-header ul li a.current~.uparrow{border-bottom-color:#f7f7f7}}
\ No newline at end of file
+[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;left:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}body.page-about .areas h3,body.page-template-about .areas h3,h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}body.page-about .areas h3,body.page-template-about .areas h3,h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary,input[type=submit]{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button-group.button-xl input[type=submit],.button.button-xl,input.button-xl[type=submit]{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button-group.button-large input[type=submit],.button.button-large,input.button-large[type=submit]{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button-group.button-small input[type=submit],.button.button-small,input.button-small[type=submit]{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus,input:active[type=submit],input:focus[type=submit]{outline:none}.button.hidden,input.hidden[type=submit]{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited,input:visited[type=submit],input[type=submit]{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button,p input[type=submit]{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover,input.focus[type=submit],input.hover[type=submit],input:focus[type=submit],input:hover[type=submit]{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus,input.focus[type=submit],input:focus[type=submit]{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active,input.active:hover[type=submit],input.active[type=submit],input:active[type=submit]{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus,input.active:focus[type=submit]{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled],input.disabled[type=submit],input:disabled[type=submit],input[disabled][type=submit]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero,.plugin-upload-form input.button-primary.button-hero[type=submit],input.button-primary.button-hero[type=submit],input.download-button.button-hero[type=submit]{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active,.plugin-upload-form input.button-primary.button-hero.active:focus[type=submit],.plugin-upload-form input.button-primary.button-hero.active:hover[type=submit],.plugin-upload-form input.button-primary.button-hero.active[type=submit],.plugin-upload-form input.button-primary.button-hero:active[type=submit],input.button-primary.button-hero.active:focus[type=submit],input.button-primary.button-hero.active:hover[type=submit],input.button-primary.button-hero.active[type=submit],input.button-primary.button-hero:active[type=submit],input.download-button.button-hero.active:focus[type=submit],input.download-button.button-hero.active:hover[type=submit],input.download-button.button-hero.active[type=submit],input.download-button.button-hero:active[type=submit]{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button,.button-group>input[type=submit]{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-right:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover,.button-group>input:hover[type=submit]{z-index:20}.button-group>.button:first-child,.button-group>input:first-child[type=submit]{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:last-child,.button-group>input:last-child[type=submit]{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:focus,.button-group>input:focus[type=submit]{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary,input.button-large[type=submit],input.button-small[type=submit],input[type=submit]{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 4px 0 0;min-width:16px;outline:0;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px 0 0 -4px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-right:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.parallelogram{color:#fff;display:block;margin:0 auto;opacity:.9;padding:75.2px 0;padding:4.7rem 0;position:absolute;text-align:center;-webkit-transform:skew(-15deg);-ms-transform:skew(-15deg);transform:skew(-15deg)}.parallelogram:before{font-size:61.035px;font-size:3.8146972656rem;height:64px;position:relative;right:16px;right:1rem;-webkit-transform:skew(15deg);-ms-transform:skew(15deg);transform:skew(15deg);width:64px}.parallelogram>*{-webkit-transform:skew(15deg);-ms-transform:skew(15deg);transform:skew(15deg)}.home .site-header{background:#0073aa}@media screen and (min-width:737px){.home .site-header{padding:3.0517578125rem 1.5625rem}}.home .site-header .site-title{color:#fff;display:block;font-size:48.828px;font-size:3.0517578125rem;font-weight:300;line-height:1;margin:32px 0 16px;margin:2rem 0 1rem;text-align:center}@media screen and (min-width:737px){.home .site-header .site-title{font-size:3.8146972656rem}}.home .site-header .site-description{color:#fff;max-width:568.434px;max-width:35.527136788rem;padding:11px 0}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-left:1em}.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6,.entry-content body.page-about .areas [class*=col-]~h3,.entry-content body.page-template-about .areas [class*=col-]~h3,body.page-about .areas .entry-content [class*=col-]~h3,body.page-template-about .areas .entry-content [class*=col-]~h3{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-meta{color:#999;font-size:12.8px;font-size:.8rem;margin-bottom:16px;margin-bottom:1rem}.entry-meta a{color:#777}.entry-meta>span{margin-right:16px;margin-right:1rem}.entry-meta>span :last-of-type{margin:0}.entry-meta .updated:not(.published){display:none}.entry-meta .byline,.sticky .entry-meta .posted-on{display:none}.group-blog .entry-meta .byline,.single .entry-meta .byline{display:inline}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;left:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2);padding:16px;padding:1rem}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled{z-index:1}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;right:16px;right:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:static;width:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem;padding:0}.main-navigation ul li:last-of-type{margin-right:0}}body.page .gutters .col-12{width:100%}body.page .entry-header{background:#0073aa;padding:16px 0;padding:1rem 0}body.page .entry-header .entry-title{color:#fff;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){body.page .entry-header .entry-title{padding:0 10px}}body.page .entry-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}@media screen and (min-width:737px){body.page .site-header+.site-main .entry-title{padding:initial}}body.page .entry-content,body.page .entry-footer{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}body.search .gutters .col-12{width:100%}body.search .site-main{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;-webkit-transition:left .3s;transition:left .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button,#wporg-header #head-search form input[type=submit]{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body.page-about,body.page-template-about{overflow-x:hidden}body.page-about .entry-header,body.page-template-about .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-about .entry-header .entry-title,body.page-template-about .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:480px){body.page-about .entry-header .entry-title,body.page-template-about .entry-header .entry-title{font-size:3.0517578125rem}}body.page-about .entry-header .entry-description,body.page-template-about .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-about .shapes,body.page-template-about .shapes{height:480px;margin:64px 0;margin:4rem 0;position:relative}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:260px;width:310px}body.page-about .shapes .parallelogram:active,body.page-about .shapes .parallelogram:focus,body.page-about .shapes .parallelogram:hover,body.page-template-about .shapes .parallelogram:active,body.page-template-about .shapes .parallelogram:focus,body.page-template-about .shapes .parallelogram:hover{text-decoration:none}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{background-color:#006ca0;top:0;left:0;z-index:1}body.page-about .shapes .parallelogram.technology:active,body.page-about .shapes .parallelogram.technology:focus,body.page-about .shapes .parallelogram.technology:hover,body.page-template-about .shapes .parallelogram.technology:active,body.page-template-about .shapes .parallelogram.technology:focus,body.page-template-about .shapes .parallelogram.technology:hover{background-color:#004a6d}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{background-color:#67598e;right:0;bottom:0}body.page-about .shapes .parallelogram.community:active,body.page-about .shapes .parallelogram.community:focus,body.page-about .shapes .parallelogram.community:hover,body.page-template-about .shapes .parallelogram.community:active,body.page-template-about .shapes .parallelogram.community:focus,body.page-template-about .shapes .parallelogram.community:hover{background-color:#50456f}body.page-about .shapes .parallelogram h3,body.page-about .shapes .parallelogram p,body.page-template-about .shapes .parallelogram h3,body.page-template-about .shapes .parallelogram p{margin:0;-webkit-transform:skew(15deg);-ms-transform:skew(15deg);transform:skew(15deg)}@media screen and (min-width:480px){body.page-about .shapes,body.page-template-about .shapes{height:610px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:336px;padding:7rem 0;width:400px}}@media screen and (min-width:640px){body.page-about .shapes,body.page-template-about .shapes{height:580px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:315px;padding:5rem 0;width:480px}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:4.768371582rem;height:84px;width:84px}}@media screen and (min-width:768px){body.page-about .shapes,body.page-template-about .shapes{height:323px;margin:4rem 0}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:282px;padding:4rem 0;width:430px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{left:auto;right:45%;top:40px}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{bottom:auto;left:45%}}@media screen and (min-width:1024px){body.page-about .shapes,body.page-template-about .shapes{height:420px}body.page-about .shapes .parallelogram,body.page-template-about .shapes .parallelogram{height:380px;padding:6rem 0;width:580px}body.page-about .shapes .parallelogram.technology,body.page-template-about .shapes .parallelogram.technology{right:43%}body.page-about .shapes .parallelogram.community,body.page-template-about .shapes .parallelogram.community{left:43%}body.page-about .shapes .parallelogram:before,body.page-template-about .shapes .parallelogram:before{font-size:5.9604644775rem;height:108px;width:108px}}body.page-about .freedoms,body.page-template-about .freedoms{margin-top:32px;margin-top:2rem;text-align:center}body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background:url(/wp-content/themes/pub/wporg-main/images/freedoms.png) no-repeat;-webkit-background-size:100% 100%;background-size:100%;padding-top:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{background-image:url(/wp-content/themes/pub/wporg-main/images/freedoms-2x.png)}}@media screen and (max-width:479px){body.page-about .freedoms .graphic,body.page-template-about .freedoms .graphic{float:left;margin:0 1rem 1rem 0;padding-top:25%;width:25%}body.page-about .freedoms h3,body.page-about .freedoms p,body.page-template-about .freedoms h3,body.page-template-about .freedoms p{clear:none;margin-top:0;text-align:left}}@media screen and (min-width:480px) and (max-width:767px){body.page-about .freedoms.row,body.page-template-about .freedoms.row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}body.page-about .freedoms .col-3,body.page-template-about .freedoms .col-3{width:48%}}body.page-about .freedoms [class*=col-]:nth-of-type(2) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(2) .graphic{background-position:0 34%}body.page-about .freedoms [class*=col-]:nth-of-type(3) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(3) .graphic{background-position:0 66%}body.page-about .freedoms [class*=col-]:nth-of-type(4) .graphic,body.page-template-about .freedoms [class*=col-]:nth-of-type(4) .graphic{background-position:0 100%}body.page-about .freedoms h3,body.page-template-about .freedoms h3{font-weight:300;font-size:20px;font-size:1.25rem}body.page-child .site-title a{color:#fff;text-decoration:none}body.page-child .site-title a:active,body.page-child .site-title a:hover{color:#fff}body.page-child .entry-header{background:none;margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}body.page-child .entry-header .entry-title{color:inherit;font-size:39.062px;font-size:2.44140625rem;font-weight:400;line-height:1.5;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:737px){body.page-child .entry-header .entry-title{padding:0}}body.page-child .entry-content{padding-top:0}.entry-content{-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.home-welcome{background:#fff;border-bottom:1px solid #dfdfdf;color:#32373c;font-family:Open Sans,sans-serif;font-weight:400;line-height:1.5;max-width:none;padding:0}@media screen and (min-width:737px){.home-welcome{font-size:18px}}.home-welcome h1{font-size:51.2px;font-size:3.2rem}.home-welcome a:not(.button):not(input[type=submit]){background-color:transparent;border:none;color:#0073aa;text-decoration:none}.home-welcome a:not(.button):not(input[type=submit]):hover{text-decoration:underline}.home-welcome a:not(.button):not(input[type=submit]):active,.home-welcome a:not(.button):not(input[type=submit]):hover{outline-width:0}.home-welcome p{font-size:18px;margin:1em 0;max-width:568.434px;max-width:35.527136788rem}.home-welcome p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.home-welcome section{border-bottom:2px solid #eee;margin:0 auto;max-width:800px;max-width:50rem;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}.home-welcome section:last-of-type{border-bottom:none}.home-welcome section h2{line-height:1;text-align:center}.home-welcome section .container{margin:0 auto;max-width:800px;max-width:50rem;z-index:0}.home-welcome .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.home-welcome .intro{padding-bottom:0}.home-welcome .features{border-top:2px solid #eee}.home-welcome .features ul{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:48px 0;margin:3rem 0;padding:0}.home-welcome .features ul li{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #eee;border-right:1px solid #eee;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:160px;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;width:50%}@media screen and (max-width:739px){.home-welcome .features ul li:nth-child(n+7){border-bottom:none}.home-welcome .features ul li:nth-child(2n){border-right:none}}@media screen and (min-width:740px){.home-welcome .features ul li{height:200px;width:25%}.home-welcome .features ul li:nth-child(4n){border-right:none}.home-welcome .features ul li:nth-child(n+5){border-bottom:none}}.home-welcome .features ul li img{height:40px;height:2.5rem;margin:4px auto 20px;margin:.25rem auto 1.25rem}.home-welcome .features ul li img,.home-welcome .features ul li span{color:#00a0d2;display:block;font-size:48px;font-size:3rem;margin-bottom:16px;margin-bottom:1rem}.home-welcome .features p{margin-left:auto;margin-right:auto;text-align:center}.home-welcome .screenshots{height:400px;left:-30px;overflow:hidden;padding:16px 16px 0;padding:1rem 1rem 0;position:relative;right:0;width:106%}@media (max-width:739px){.home-welcome .screenshots{padding:0;left:auto;right:auto;width:100%}}.home-welcome .screenshots .dashboard{-webkit-box-shadow:0 1px 8px rgba(0,0,0,.2);box-shadow:0 1px 8px rgba(0,0,0,.2);max-width:800px}.home-welcome .screenshots .dashboard-mobile{bottom:-100px;max-width:200px;position:absolute;right:1px;z-index:1}.home-welcome .cta-wrapper{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-align:center}@media screen and (min-width:737px){.home-welcome .cta-wrapper{font-size:.8rem;margin:4rem 0 2rem}}.home-welcome .community-2{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start;background:url(https://s.w.org/images/home/community-2.jpg?3) bottom no-repeat;-webkit-background-size:cover;background-size:cover;border:none;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:500px;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;max-width:100%;position:relative}.home-welcome .community-2 .screen{background:rgba(0,0,0,.5);height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:0}.home-welcome .community-2 .subheading,.home-welcome .community-2 h2{color:#fff;margin:0 0 16px;margin:0 0 1rem;max-width:100%;position:relative;text-align:left;text-shadow:0 0 8px rgba(0,0,0,.5);z-index:1}.home-welcome .showcase{border-bottom:none;margin:0;max-width:100%;padding-left:0;padding-right:0}.home-welcome .showcase>div{background:url(https://s.w.org/images/home/collage-min.jpg?4) top;-webkit-background-size:cover;background-size:cover;-webkit-box-shadow:inset 0 0 8px rgba(0,0,0,.4);box-shadow:inset 0 0 8px rgba(0,0,0,.4);height:300px;width:100%}@media (min-width:700px){.home-welcome .showcase>div{height:600px;background-attachment:fixed}}.home-welcome .showcase .cta-link{margin:48.828px 0 0;margin:3.05176rem 0 0;max-width:100%;text-align:center}.home-welcome #showcase-link{font-size:14px}#lang-guess{background:#c7e8ca;border:inherit;-webkit-border-radius:inherit;border-radius:inherit;cursor:pointer;font:inherit;font-size:12.8px;font-size:.8rem;margin:0;max-width:inherit;padding:8px;padding:.5rem;text-align:center;width:inherit}@media screen and (min-width:67rem){#lang-guess{margin:1rem auto 0;max-width:50rem}}#home-below{font-size:12.8px;font-size:.8rem;margin:0 auto 16px;margin:0 auto 1rem;max-width:960px;padding:0 18.288px;padding:0 1.143rem}@media (max-width:768px){#home-below{display:block}#home-below .col-2{display:inline-block;vertical-align:top;width:48%}}#home-below body.page-about .areas h3,#home-below body.page-template-about .areas h3,#home-below h4,body.page-about .areas #home-below h3,body.page-template-about .areas #home-below h3{border-bottom:1px solid #dedede;font-size:inherit;padding-bottom:4px}#home-below h5{line-height:1;margin:0;text-transform:none}#home-below body.page-about .areas h3 a,#home-below body.page-template-about .areas h3 a,#home-below h4 a,#home-below h5 a,body.page-about .areas #home-below h3 a,body.page-template-about .areas #home-below h3 a{text-decoration:none}#home-below body.page-about .areas h3 a:hover,#home-below body.page-template-about .areas h3 a:hover,#home-below h4 a:hover,#home-below h5 a:hover,body.page-about .areas #home-below h3 a:hover,body.page-template-about .areas #home-below h3 a:hover{text-decoration:underline}#home-below ol,#home-below ul{margin:0}#home-below .steps{list-style:none;padding:0}#home-below .steps li{margin-bottom:16px;margin-bottom:1rem;padding-left:40px;padding-left:2.5rem;position:relative}#home-below .steps li span{background:url(//s.w.org/style/images/steps.png) no-repeat;-webkit-background-size:93px 31px;background-size:93px 31px;content:"";height:31px;left:0;position:absolute;top:0;width:31px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#home-below .steps li span{background-image:url(//s.w.org/style/images/steps-2x.png)}}#home-below .steps .one span{background-position:0 0}#home-below .steps .two span{background-position:-31px 0}#home-below .steps .three span{background-position:-62px 0}#home-below .notable-users{list-style:none;padding:0}#home-below .notable-users li a{border:1px solid #f5f5f5;border-right-color:#dedede;border-bottom-color:#dedede;display:block;height:59px;margin-bottom:8px;width:130px}#home-below .notable-users li a:active{border:1px solid #dedede;border-right-color:#f5f5f5;border-bottom-color:#f5f5f5}#home-below .notable-users.col-12{margin-bottom:0}@media screen and (min-width:420px) and (max-width:768px){#home-below .notable-users{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}#home-below .notable-users .col-3{width:48%}}#home-below .showcase-link{display:block;font-size:10.24px;font-size:.64rem;margin:16px 0;margin:1rem 0}@media screen and (max-width:480px){table.releases td{width:25%}table.releases td:nth-child(2),table.releases td small{display:none}}body.page-download,body.page-template-page-download{overflow-x:hidden}body.page-download .entry-header,body.page-template-page-download .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-download .entry-header .entry-title,body.page-template-page-download .entry-header .entry-title{font-size:3.4881591797rem}}body.page-download .entry-header .entry-description,body.page-template-page-download .entry-header .entry-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem}body.page-download section,body.page-template-page-download section{padding:48.828px 0;padding:3.0517578125rem 0}body.page-download section h2:first-of-type,body.page-template-page-download section h2:first-of-type{width:100%}body.page-download section.download,body.page-template-page-download section.download{padding-top:0;text-align:center}body.page-download section.download .call-to-action,body.page-template-page-download section.download .call-to-action{margin-top:0}body.page-download section.download .call-to-action p,body.page-template-page-download section.download .call-to-action p{margin-top:8px;margin-top:.5rem}@media screen and (min-width:479px){body.page-download section.download aside,body.page-template-page-download section.download aside{text-align:initial}}@media screen and (max-width:479px){body.page-download section.download aside[class*=col-],body.page-download section.download aside p:last-child,body.page-template-page-download section.download aside[class*=col-],body.page-template-page-download section.download aside p:last-child{margin-bottom:0}body.page-download section.download .call-to-action:not(:last-child),body.page-template-page-download section.download .call-to-action:not(:last-child){margin-bottom:2rem}body.page-download section.download li,body.page-template-page-download section.download li{list-style-type:none}}body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{margin-right:5px;vertical-align:middle}@media screen and (max-width:479px){body.page-download section.download .dashicons-download:before,body.page-template-page-download section.download .dashicons-download:before{display:none}}body.page-download section.download .col-4:nth-child(n+4),body.page-template-page-download section.download .col-4:nth-child(n+4){margin-top:0}body.page-download section.hosting,body.page-template-page-download section.hosting{position:relative;text-align:center}body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{background:#f5f5f5;height:100%;left:-10%;padding:0;top:0;width:120%;z-index:-1}@media screen and (max-width:768px){body.page-download section.hosting .parallelogram,body.page-template-page-download section.hosting .parallelogram{-webkit-transform:none;-ms-transform:none;transform:none}}body.page-download section.hosting .dashicons-cloud,body.page-template-page-download section.hosting .dashicons-cloud{color:#0073aa}@media screen and (min-width:479px){body.page-download section.hosting .host,body.page-template-page-download section.hosting .host{text-align:initial}}@media screen and (max-width:768px){body.page-download section.hosting [class*=col-],body.page-template-page-download section.hosting [class*=col-]{margin-bottom:2rem}}body.page-download section.hosting .logo,body.page-template-page-download section.hosting .logo{height:35px}body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{text-align:center;width:100%}@media screen and (max-width:768px){body.page-download section.apps-mobile,body.page-template-page-download section.apps-mobile{border-top:none;border-bottom:2px solid #eee;padding-top:0}}body.page-download section.apps-mobile .web-stores [class*=button-],body.page-template-page-download section.apps-mobile .web-stores [class*=button-]{display:inline-block;margin:8px;margin:.5rem;width:150px}body.page-download section.apps-mobile .ios .button-android,body.page-template-page-download section.apps-mobile .ios .button-android{display:none}body.page-download section.apps-mobile .android .button-ios,body.page-template-page-download section.apps-mobile .android .button-ios{display:none}body.page-download section.apps-mobile img,body.page-template-page-download section.apps-mobile img{vertical-align:middle}body.page-download .call-to-action,body.page-template-page-download .call-to-action{display:block;font-size:14.63px;font-size:.9144rem;margin:32px 0;margin:2rem 0;text-decoration:underline}@media screen and (min-width:479px){body.page-download .call-to-action,body.page-template-page-download .call-to-action{font-size:.8rem}}body.page-download .call-to-action:last-child,body.page-template-page-download .call-to-action:last-child{margin-bottom:0}body.page-download .site-content .dashicons,body.page-template-page-download .site-content .dashicons{color:#cbcdce;display:block;font-size:64px;font-size:4rem;height:auto;margin:0 auto -16px;margin:0 auto -1rem;width:auto}.page-features .entry-content li{padding-bottom:1em}body.page-guides .entry-header,body.page-template-page-guides .entry-header{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:61.035px;font-size:3.8146972656rem;line-height:1;margin:32px auto 16px;margin:2rem auto 1rem}@media screen and (max-width:420px){body.page-guides .entry-header .entry-title,body.page-template-page-guides .entry-header .entry-title{font-size:3.4881591797rem}}@media screen and (min-width:480px) and (max-width:767px){.page-logos .all-logos.row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.page-logos .all-logos.row .col-4{width:48%}.page-logos .all-logos.row .col-4:nth-child(n+3){margin-top:2%}}.page-logos .logo-header{margin:0}.page-logos .logo-header span,.page-logos .logo-header strong{display:block;font-size:16px;line-height:1;color:rgba(35,40,45,.75);margin:12px 0 8px;margin:.75rem 0 .5rem}.page-logos .logo-header span{font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem}.page-logos .resources-list{color:rgba(35,40,45,.5);font-size:16px;font-size:1rem;list-style-type:none;margin:0}@media screen and (min-width:768px){.page-logos .resources-list{font-size:.73152rem}}.page-logos .resources-list li{padding:0 0 5.328px;padding:0 0 .333rem}.page-logos .resources-list span{opacity:.5}.page-stats .wporg-stats-chart{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:450px;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative}.page-stats .loading:before{background:url(https://s.w.org/wp-includes/images/spinner.gif) no-repeat 50%;-webkit-background-size:100% 100%;background-size:100%;content:"";display:block;height:20px;-webkit-transform:translateZ(0);transform:translateZ(0);width:20px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){.page-stats .loading:before{background-image:url(https://s.w.org/wp-includes/images/spinner-2x.gif)}}.widget_download{font-size:12.8px;font-size:.8rem;text-align:center}.widget_download>div{margin:16px 0;margin:1rem 0}.widget_links{font-size:12.8px;font-size:.8rem}@media screen and (min-width:768px){body.archive #wporg-header ul li.current-menu-item:after,body.archive #wporg-header ul li.current_page_parent:after,body.archive #wporg-header ul li a.current~.uparrow,body.blog #wporg-header ul li.current-menu-item:after,body.blog #wporg-header ul li.current_page_parent:after,body.blog #wporg-header ul li a.current~.uparrow,body.search #wporg-header ul li.current-menu-item:after,body.search #wporg-header ul li.current_page_parent:after,body.search #wporg-header ul li a.current~.uparrow,body.single #wporg-header ul li.current-menu-item:after,body.single #wporg-header ul li.current_page_parent:after,body.single #wporg-header ul li a.current~.uparrow{border-bottom-color:#f7f7f7}}
+/*# sourceMappingURL=style.css.map */
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css.map wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css.map
index 8fa1592e2..78141e9e1 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css.map
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/css/style.css.map
@@ -1,76 +1 @@
-{
-	"version": 3,
-	"file": "style.css",
-	"sources": [
-		"style.scss",
-		"settings/_settings.scss",
-		"../../wporg/css/settings/_colors.scss",
-		"../../wporg/css/settings/_modular-scale.scss",
-		"../../wporg/css/settings/_structure.scss",
-		"../../wporg/css/settings/_typography.scss",
-		"tools/_tools.scss",
-		"../../wporg/css/tools/_breakpoint.scss",
-		"../../wporg/css/tools/_kube.scss",
-		"../../wporg/css/tools/_modular-scale.scss",
-		"generic/_generic.scss",
-		"../../wporg/css/generic/_kube.scss",
-		"../../wporg/css/generic/_normalize.scss",
-		"base/_base.scss",
-		"../../wporg/css/base/_copy.scss",
-		"../../wporg/css/base/_elements.scss",
-		"../../wporg/css/base/_headings.scss",
-		"../../wporg/css/base/_links.scss",
-		"../../wporg/css/base/_lists.scss",
-		"../../wporg/css/base/_tables.scss",
-		"../../wporg/css/base/_typography.scss",
-		"objects/_objects.scss",
-		"../../wporg/css/objects/_accessibility.scss",
-		"../../wporg/css/objects/_alignments.scss",
-		"../../wporg/css/objects/_buttons.scss",
-		"../../wporg/css/objects/_clearings.scss",
-		"../../wporg/css/objects/_copy.scss",
-		"../../wporg/css/objects/_inputs.scss",
-		"../../wporg/css/objects/_links.scss",
-		"../../wporg/css/objects/_notices.scss",
-		"objects/_buttons.scss",
-		"objects/_parallelogram.scss",
-		"objects/_site-header.scss",
-		"components/_components.scss",
-		"../../wporg/css/components/_404.scss",
-		"../../wporg/css/components/_comments.scss",
-		"../../wporg/css/components/_entry-content.scss",
-		"../../wporg/css/components/_entry-header.scss",
-		"../../wporg/css/components/_entry-meta.scss",
-		"../../wporg/css/components/_entry-summary.scss",
-		"../../wporg/css/components/_entry.scss",
-		"../../wporg/css/components/_gallery.scss",
-		"../../wporg/css/components/_main-navigation.scss",
-		"../../wporg/css/components/_page.scss",
-		"../../wporg/css/components/_post-navigation.scss",
-		"../../wporg/css/components/_posts-navigation.scss",
-		"../../wporg/css/components/_search-form.scss",
-		"../../wporg/css/components/_search.scss",
-		"../../wporg/css/components/_site-content.scss",
-		"../../wporg/css/components/_site-description.scss",
-		"../../wporg/css/components/_site-header.scss",
-		"../../wporg/css/components/_site-title.scss",
-		"../../wporg/css/components/_widget-area.scss",
-		"../../wporg/css/components/_wporg-footer.scss",
-		"../../wporg/css/components/_wporg-header.scss",
-		"components/_about.scss",
-		"components/_child-pages.scss",
-		"components/_entry-content.scss",
-		"components/_home-welcome.scss",
-		"components/_page-download-releases.scss",
-		"components/_page-download.scss",
-		"components/_page-features.scss",
-		"components/_page-guides.scss",
-		"components/_page-logos.scss",
-		"components/_page-stats.scss",
-		"components/_widget-download.scss",
-		"components/_widget-links.scss",
-		"components/_wporg-header.scss"
-	],
-	"names": [],
-	"mappings": "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"
-}
\ No newline at end of file
+{"version":3,"sources":["style.css","../../wporg/css/generic/_kube.scss","../../wporg/css/tools/_kube.scss","../../wporg/css/tools/_breakpoint.scss","../../wporg/css/generic/_normalize.scss","../../wporg/css/base/_copy.scss","../../wporg/css/base/_elements.scss","../../wporg/css/tools/_modular-scale.scss","../../wporg/css/base/_headings.scss","../../wporg/css/settings/_typography.scss","../../wporg/css/settings/_colors.scss","../../wporg/css/settings/_modular-scale.scss","../../wporg/css/base/_links.scss","../../wporg/css/base/_lists.scss","../../wporg/css/base/_tables.scss","../../wporg/css/base/_typography.scss","../../wporg/css/objects/_accessibility.scss","../../wporg/css/objects/_alignments.scss","../../wporg/css/objects/_buttons.scss","../../wporg/css/objects/_clearings.scss","../../wporg/css/objects/_copy.scss","../../wporg/css/objects/_inputs.scss","../../wporg/css/objects/_links.scss","../../wporg/css/objects/_notices.scss","objects/_parallelogram.scss","objects/_site-header.scss","../../wporg/css/components/_404.scss","../../wporg/css/components/_comments.scss","../../wporg/css/components/_entry-content.scss","../../wporg/css/components/_entry-header.scss","../../wporg/css/components/_entry-meta.scss","../../wporg/css/components/_entry-summary.scss","../../wporg/css/components/_entry.scss","../../wporg/css/components/_gallery.scss","../../wporg/css/components/_main-navigation.scss","../../wporg/css/components/_page.scss","../../wporg/css/components/_post-navigation.scss","../../wporg/css/components/_posts-navigation.scss","../../wporg/css/components/_search-form.scss","../../wporg/css/components/_search.scss","../../wporg/css/components/_site-content.scss","../../wporg/css/settings/_structure.scss","../../wporg/css/components/_site-description.scss","../../wporg/css/components/_site-header.scss","../../wporg/css/components/_site-title.scss","../../wporg/css/components/_widget-area.scss","../../wporg/css/components/_wporg-footer.scss","../../wporg/css/components/_wporg-header.scss","components/_about.scss","components/_child-pages.scss","components/_entry-content.scss","components/_home-welcome.scss","components/_page-download-releases.scss","components/_page-download.scss","components/_page-features.scss","components/_page-guides.scss","components/_page-logos.scss","components/_page-stats.scss","components/_widget-download.scss","components/_widget-links.scss","components/_wporg-header.scss"],"names":[],"mappings":"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","file":"style.css"}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/front-page.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/front-page.php
index d20a24696..abcb4f5ff 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/front-page.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/front-page.php
@@ -18,7 +18,11 @@ namespace WordPressdotorg\MainTheme;
 
 global $rosetta;
 
-$showcase   = is_object( $rosetta ) ? $rosetta->showcase->front() : false;
+$showcase = false;
+if ( is_object( $rosetta ) && $rosetta->showcase instanceof \Rosetta_Showcase ) {
+	$showcase = $rosetta->showcase->front();
+}
+
 $swag_class = $showcase ? 'col-4' : 'col-2';
 $user_class = $showcase ? 'col-12' : 'col-2';
 
@@ -100,8 +104,18 @@ get_header( 'wporg' );
 				</ul>
 				<p>
 					<?php
-					/* translators: %s: Link to Plugin Directory. */
-					printf( __( 'Extend WordPress with over 45,000 plugins to help your website meet your needs. Add an online store, galleries, mailing lists, forums, analytics, and <a href="%s">much more</a>.', 'wporg' ), esc_url( home_url( '/plugins/' ) ) );
+					$plugin_count = defined( 'WP_PLUGIN_COUNT' ) ? WP_PLUGIN_COUNT : 54000;
+					printf(
+						/* translators: 1: Rounded number of plugins. 2: Link to Plugin Directory. */
+						_n(
+							'Extend WordPress with over %1$s plugin to help your website meet your needs. Add an online store, galleries, mailing lists, forums, analytics, and <a href="%2$s">much more</a>.',
+							'Extend WordPress with over %1$s plugins to help your website meet your needs. Add an online store, galleries, mailing lists, forums, analytics, and <a href="%2$s">much more</a>.',
+							$plugin_count,
+							'wporg'
+						),
+						esc_html( number_format_i18n( $plugin_count ) ),
+						esc_url( home_url( '/plugins/' ) )
+					);
 					?>
 				</p>
 			</section>
@@ -116,7 +130,12 @@ get_header( 'wporg' );
 
 						printf(
 							/* translators: Number of meetups. */
-							_n( 'Hundreds of thousands of developers, content creators, and site owners gather at monthly meetups in %s city worldwide.', 'Hundreds of thousands of developers, content creators, and site owners gather at monthly meetups in %s cities worldwide.', $meetups, 'wporg' ),
+							_n(
+								'Hundreds of thousands of developers, content creators, and site owners gather at monthly meetups in %s city worldwide.',
+								'Hundreds of thousands of developers, content creators, and site owners gather at monthly meetups in %s cities worldwide.',
+								$meetups,
+								'wporg'
+							),
 							number_format_i18n( $meetups )
 						);
 						?>
@@ -256,4 +275,4 @@ get_header( 'wporg' );
 	</main><!-- #main -->
 
 <?php
-get_footer();
+get_footer( 'wporg' );
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/functions.php
index a02a9398b..414272d2e 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/functions.php
@@ -77,7 +77,7 @@ add_action( 'widgets_init', __NAMESPACE__ . '\widgets' );
 function scripts() {
 	$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
 
-	wp_enqueue_style( 'wporg-style', get_theme_file_uri( '/css/style.css' ), [ 'dashicons', 'open-sans' ], '20180823' );
+	wp_enqueue_style( 'wporg-style', get_theme_file_uri( '/css/style.css' ), [ 'dashicons', 'open-sans' ], '20190308' );
 	wp_style_add_data( 'wporg-style', 'rtl', 'replace' );
 
 	// Move jQuery to the footer.
@@ -228,6 +228,25 @@ function parent_page_title( $title, $post_id ) {
 }
 add_filter( 'the_title', __NAMESPACE__ . '\parent_page_title', 11, 2 );
 
+/**
+ * Some custom redirects for old pages no longer included in this theme.
+ */
+function old_page_redirects() {
+	if ( ! is_404() ) {
+		return;
+	}
+
+	// Old WordPress.org/about/* pages:
+	if (
+		'wordpress.org' == $_SERVER['HTTP_HOST'] &&
+		preg_match( '!^/about/(books|fanart|screenshots)!i', $_SERVER['REQUEST_URI'] )
+	) {
+		wp_safe_redirect( '/about/', 301 );
+		die();
+	}
+}
+add_filter( 'template_redirect', __NAMESPACE__ . '\old_page_redirects' );
+
 /**
  * Custom template tags.
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/page-meta-descriptions.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/page-meta-descriptions.php
index 7747a9fdd..9c7e16cb6 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/page-meta-descriptions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/page-meta-descriptions.php
@@ -149,6 +149,26 @@ function custom_open_graph_tags( $tags = [] ) {
 			$title = esc_html_x( 'Cookie Policy', 'Page title', 'wporg' );
 			$desc  = esc_html__( 'This policy specifically explains how WordPress.org, our partners, and users of our services deploy cookies, as well as the options you have to control them.', 'wporg' );
 			break;
+
+		case 'page-download.php':
+			$title = esc_html_x( 'Download', 'Page title', 'wporg' );
+			$desc  = esc_html__( 'Download WordPress today, and get started on creating your website with one of the most powerful, popular, and customizable platforms in the world.', 'wporg' );
+			break;
+
+		case 'page-download-beta-nightly.php':
+			$title = esc_html_x( 'Beta/Nightly', 'Page title', 'wporg' );
+			$desc  = esc_html__( 'Get the latest, unstable or work-in-progress versions of WordPress for testing and development.', 'wporg' );
+			break;
+
+		case 'page-download-releases.php':
+			$title = esc_html_x( 'Releases', 'Page title', 'wporg' );
+			$desc  = esc_html__( 'Browse and download previous versions of WordPress for testing and development.', 'wporg' );
+			break;
+
+		case 'page-download-source.php':
+			$title = esc_html_x( 'Source Code', 'Page title', 'wporg' );
+			$desc  = esc_html__( 'See how WordPress works under the hood, and contribute your own code to the world&#8217;s most popular content management system.', 'wporg' );
+			break;
 	}
 
 	$tags['og:title']            = $title;
@@ -310,6 +330,10 @@ function custom_page_title( $title, $post = null ) {
 			$title = esc_html_x( 'Data Export Request', 'Page title', 'wporg' );
 			break;
 
+		case 'page-about-privacy-cookies.php':
+			$title = esc_html_x( 'Cookie Policy', 'Page title', 'wporg' );
+			break;
+
 		case 'page-download.php':
 			$title = esc_html_x( 'Download', 'Page title', 'wporg' );
 			break;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/template-tags.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/template-tags.php
index ab6a05dfe..6a108981f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/template-tags.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/template-tags.php
@@ -9,6 +9,21 @@
 
 namespace WordPressdotorg\MainTheme;
 
+/**
+ * Displays table col tags.
+ */
+function release_cols() {
+	?>
+	<col width="15%" />
+	<col width="25%" />
+	<col width="15%" />
+	<col width="15%" />
+	<?php if ( ! defined( 'IS_ROSETTA_NETWORK' ) || ! IS_ROSETTA_NETWORK ) : ?>
+		<col width="15%" />
+	<?php endif; ?>
+	<?php
+}
+
 /**
  * Displays a table row with release information.
  *
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-accessibility.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-accessibility.php
index 6935695e6..088dc77e6 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-accessibility.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-accessibility.php
@@ -55,7 +55,7 @@ the_post();
 						printf(
 							/* translators: 1: Link to the Theme Directory Accessible Themes; 2: Link to Accessibility Handbook requirements. */
 							wp_kses_post( __( 'While the WordPress project cannot guarantee that all Themes are compliant, the <a href="%1$s">accessibility-ready themes</a> have been checked by the Theme Review Team to ensure that these themes pass their <a href="%2$s">basic accessibility requirements</a>.', 'wporg' ) ),
-							esc_url( site_url( '/themes/tags/accessibility-ready/' ) ),
+							esc_url( home_url( '/themes/tags/accessibility-ready/' ) ),
 							'https://make.wordpress.org/themes/handbook/review/accessibility/required/'
 						);
 					?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-etiquette.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-etiquette.php
index 168314f48..327c472c4 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-etiquette.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-etiquette.php
@@ -40,7 +40,7 @@ the_post();
 					<p>
 						<?php
 						/* translators: Link to blog post */
-						printf( wp_kses_post( __( 'In the WordPress open source project, we realize that our biggest asset is the community that we foster. The project, as a whole, follows these basic philosophical principles from <a href="%s">The Cathedral and The Bazaar</a>.', 'wporg' ) ), esc_url( 'http://www.catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/index.html' ) );
+						printf( wp_kses_post( __( 'In the WordPress open source project, we realize that our biggest asset is the community that we foster. The project, as a whole, follows these basic philosophical principles from <a href="%s">The Cathedral and The Bazaar</a>.', 'wporg' ) ), 'http://www.catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/index.html' );
 						?>
 					</p>
 
@@ -51,7 +51,7 @@ the_post();
 						<li>
 							<?php
 							/* translators: Link to make.wordpress.org */
-							printf( wp_kses_post( __( 'Any member of the community can donate their time and contribute to the project in any form including design, code, documentation, community building, etc. For more information, go to <a href="%s">make.wordpress.org</a>.', 'wporg' ) ), esc_url( 'https://make.wordpress.org/' ) );
+							printf( wp_kses_post( __( 'Any member of the community can donate their time and contribute to the project in any form including design, code, documentation, community building, etc. For more information, go to <a href="%s">make.wordpress.org</a>.', 'wporg' ) ), 'https://make.wordpress.org/' );
 							?>
 						</li>
 						<li><?php esc_html_e( 'The WordPress open source community cares about diversity. We strive to maintain a welcoming environment where everyone can feel included, by keeping communication free of discrimination, incitement to violence, promotion of hate, and unwelcoming behavior.', 'wporg' ); ?></li>
@@ -62,7 +62,7 @@ the_post();
 					<p>
 						<?php
 						/* translators: 1: Link to community team slack channel; 2: Link to tag archive on make/community */
-						printf( wp_kses_post( __( 'Meetings are conducted in the <a href="%1$s">#community-team Slack channel</a>, and minutes published on the <a href="%2$s">Make Community blog</a>.', 'wporg' ) ), esc_url( 'https://wordpress.slack.com/messages/community-team' ), esc_url( 'https://make.wordpress.org/community/tag/ccoc/' ) );
+						printf( wp_kses_post( __( 'Meetings are conducted in the <a href="%1$s">#community-team Slack channel</a>, and minutes published on the <a href="%2$s">Make Community blog</a>.', 'wporg' ) ), 'https://wordpress.slack.com/messages/community-team', 'https://make.wordpress.org/community/tag/ccoc/' );
 						?>
 					</p>
 				</section>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-features.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-features.php
index 775d07e15..a6f44b16e 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-features.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-features.php
@@ -46,8 +46,7 @@ the_post();
 						);
 						?>
 					</p>
-					<p><?php esc_html_e( 'WordPress combines simplicity for users and publishers with under-the-hood complexity for developers. This makes it flexible while still being easy-to-use.', 'wporg' ); ?></p>
-					<p><?php esc_html_e( 'The following is a list of some of the features that come as standard with WordPress; however, there are literally thousands of plugins that extend what WordPress does, so the actual functionality is nearly limitless. You are also free to do whatever you like with the WordPress code, extend it or modify in any way or use it for commercial projects without any licensing fees. That is the beauty of free software, free refers not only to price but also the freedom to have complete control over it.', 'wporg' ); ?></p>
+					<p><?php esc_html_e( 'WordPress combines simplicity for users and publishers with under-the-hood complexity for developers. This makes it flexible while still being easy-to-use. The following is a list of some of the features that come as standard with WordPress; however, there are literally thousands of plugins that extend what WordPress does, so the actual functionality is nearly limitless. You are also free to do whatever you like with the WordPress code, extend it or modify in any way or use it for commercial projects without any licensing fees. That is the beauty of free software, free refers not only to price but also the freedom to have complete control over it.', 'wporg' ); ?></p>
 					<p><?php esc_html_e( 'Here are some of the features that we think that you&#8217;ll love.', 'wporg' ); ?></p>
 
 					<ul>
@@ -63,41 +62,113 @@ the_post();
 						<li><strong><?php echo esc_html_x( 'Publishing Tools', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php esc_html_e( 'WordPress makes it easy for you to manage your content. Create drafts, schedule publication, and look at your post revisions. Make your content public or private, and secure posts and pages with a password.', 'wporg' ); ?>
 						</li>
-						<li><strong><?php echo esc_html_x( 'User Management', 'Features page: Section Header', 'wporg' ); ?></strong><br>
+						<li><strong>
+							<?php
+							printf(
+								'<a href="%s">%s</a>',
+								esc_url( __( 'https://wordpress.org/support/article/roles-and-capabilities/', 'wporg' ) ),
+								esc_html_x( 'User Management', 'Features page: Section Header', 'wporg' )
+							);
+							?>
+							</strong><br>
 							<?php esc_html_e( 'Not everyone requires the same access to your website. Administrators manage the site, editors work with content, authors and contributors write that content, and subscribers have a profile that they can manage. This lets you have a variety of contributors to your website, and let others simply be part of your community.', 'wporg' ); ?>
 						</li>
-						<li><strong><?php echo esc_html_x( 'Media Management', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'They say a picture says a thousand words, which is why it&#8217;s important for you to be able to quickly and easily upload images and media to WordPress. Drag and drop your media into the uploader to add it to your website. Add alt text, captions, and titles, and insert images and galleries into your content. We&#8217;ve even added a few image editing tools you can have fun with.', 'wporg' ); ?>
+						<li><strong>
+							<?php
+							printf(
+								'<a href="%s">%s</a>',
+								esc_url( __( 'https://wordpress.org/support/article/media-library-screen/', 'wporg' ) ),
+								esc_html_x( 'Media Management', 'Features page: Section Header', 'wporg' )
+							);
+							?>
+							</strong><br>
+							<?php esc_html_e( 'They say a picture says a thousand words, which is why it&#8217;s important for you to be able to quickly and easily upload images and media to WordPress. Drag and drop your media into the uploader to add it to your website. Add alt text and captions, and insert images and galleries into your content. We&#8217;ve even added a few image editing tools you can have fun with.', 'wporg' ); ?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Full Standards Compliance', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php esc_html_e( 'Every piece of WordPress generated code is in full compliance with the standards set by the W3C. This means that your website will work in today&#8217;s browser, while maintaining forward compatibility with the next generation of browser. Your website is a beautiful thing, now and in the future.', 'wporg' ); ?>
 						</li>
-						<li><strong><?php echo esc_html_x( 'Easy Theme System', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'WordPress comes bundled with two default themes, but if they aren&#8217;t for you there&#8217;s a theme directory with thousands of themes for you to create a beautiful website. None of those to your taste? Upload your own theme with the click of a button. It only takes a few seconds for you to give your website a complete makeover.', 'wporg' ); ?>
+						<li><strong>
+							<?php
+							printf(
+								'<a href="%s">%s</a>',
+								esc_url( home_url( '/themes/' ) ),
+								esc_html_x( 'Easy Theme System', 'Features page: Section Header', 'wporg' )
+							);
+							?>
+							</strong><br>
+							<?php esc_html_e( 'WordPress comes bundled with three default themes, but if they aren&#8217;t for you there&#8217;s a theme directory with thousands of themes for you to create a beautiful website. None of those to your taste? Upload your own theme with the click of a button. It only takes a few seconds for you to give your website a complete makeover.', 'wporg' ); ?>
 						</li>
-						<li><strong><?php echo esc_html_x( 'Extend with Plugins', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'WordPress comes packed full of features for every user, for every other feature there&#8217;s a plugin directory with thousands of plugins. Add complex galleries, social networking, forums, social media widgets, spam protection, calendars, fine-tune controls for search engine optimization, and forms.', 'wporg' ); ?>
+						<li><strong>
+							<?php
+							printf(
+								'<a href="%s">%s</a>',
+								esc_url( home_url( '/plugins/' ) ),
+								esc_html_x( 'Extend with Plugins', 'Features page: Section Header', 'wporg' )
+							);
+							?>
+							</strong><br>
+							<?php
+							printf(
+								/* translators: %s: Link to Plugin Directory */
+								wp_kses_post( __( 'WordPress comes packed with a lot of features for every user. For every feature that&#8217;s not in WordPress core, there&#8217;s a <a href="%s">plugin directory</a> with thousands of plugins. Add complex galleries, social networking, forums, social media widgets, spam protection, calendars, fine-tune controls for search engine optimization, and forms.', 'wporg' ) ),
+								esc_url( home_url( '/plugins/' ) )
+							);
+							?>
 						</li>
-						<li><strong><?php echo esc_html_x( 'Built-in Comments', 'Features page: Section Header', 'wporg' ); ?></strong><br>
+						<li><strong>
+							<?php
+							printf(
+								'<a href="%s">%s</a>',
+								esc_url( __( 'https://wordpress.org/support/article/comments-in-wordpress/', 'wporg' ) ),
+								esc_html_x( 'Built-in Comments', 'Features page: Section Header', 'wporg' )
+							);
+							?>
+							</strong><br>
 							<?php esc_html_e( 'Your blog is your home, and comments provide a space for your friends and followers to engage with your content. WordPress&#8217;s comment tools give you everything you need to be a forum for discussion and to moderate that discussion.', 'wporg' ); ?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Search Engine Optimized', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php
-							/* translators: Link to Plugin Directory search for SEO */
-							printf( wp_kses_post( __( 'WordPress is optimized for search engines right out of the box. For more fine-grained SEO control, there are plenty of <a href="%s">SEO plugins</a> to take care of that for you.', 'wporg' ) ), esc_url( home_url( '/plugins/search/SEO/' ) ) );
+							printf(
+								/* translators: Link to Plugin Directory search for SEO */
+								wp_kses_post( __( 'WordPress is optimized for search engines right out of the box. For more fine-grained SEO control, there are plenty of <a href="%s">SEO plugins</a> to take care of that for you.', 'wporg' ) ),
+								esc_url( home_url( '/plugins/search/seo/' ) )
+							);
 							?>
 						</li>
-						<li><strong><?php echo esc_html_x( 'Multilingual', 'Features page: Section Header', 'wporg' ); ?></strong><br>
+						<li><strong>
+							<?php
+							printf(
+								'<a href="%s">%s</a>',
+								esc_url( __( 'https://wordpress.org/support/article/installing-wordpress-in-your-language/' ) ),
+								esc_html_x( 'Use WordPress in Your Language', 'Features page: Section Header', 'wporg' )
+							);
+							?>
+							</strong><br>
 							<?php
-							/* translators: Link to polyglots teams */
-							printf( wp_kses_post( __( 'WordPress is available in more than 70 languages. If you or the person you&#8217;re building the website for would prefer to use WordPress in a language other than English, <a href="%s">that&#8217;s easy to do</a>.', 'wporg' ) ), esc_url( 'https://make.wordpress.org/polyglots/teams/' ) );
+							printf(
+								/* translators: Link to Polyglots teams */
+								wp_kses_post( __( 'WordPress is available in more than 70 languages. If you or the person you&#8217;re building the website for would prefer to use WordPress in a language other than English, <a href="%s">that&#8217;s easy to do</a>.', 'wporg' ) ),
+								'https://make.wordpress.org/polyglots/teams/'
+							);
 							?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Easy Installation and Upgrades', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'WordPress has always been easy to install and upgrade. If you&#8217;re happy using an FTP program, you can create a database, upload WordPress using FTP, and run the installer. Not familiar with FTP? Plenty of web hosts offer one-click WordPress installers that let you install WordPress with, well, just one click!', 'wporg' ); ?>
+							<?php
+							printf(
+								/* translators: Link to "Automated Installation" support article */
+								wp_kses_post( __( 'WordPress has always been easy to install and upgrade. Plenty of web hosts offer one-click <a href="%s">WordPress installers</a> that let you install WordPress with, well, just one click! Or, if you&#8217;re happy using an FTP program, you can create a database, upload WordPress using FTP, and run the installer.', 'wporg' ) ),
+								esc_url( __( 'https://wordpress.org/support/article/automated-installation/', 'wporg' ) )
+							);
+							?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Importers', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'Using blog or website software that you aren&#8217;t happy with? Running your blog on a hosted service that&#8217;s about to shut down? WordPress comes with importers for blogger, LiveJournal, Movable Type, TypePad, Tumblr, and WordPress. If you&#8217;re ready to make the move, we&#8217;ve made it easy for you.', 'wporg' ); ?>
+							<?php
+							printf(
+								/* translators: Link to "Importing Content" support article */
+								wp_kses_post( __( 'Using blog or website software that you aren&#8217;t happy with? Running your blog on a hosted service that&#8217;s about to shut down? WordPress comes with importers for Blogger, LiveJournal, Movable Type, TypePad, Tumblr, and WordPress. If you&#8217;re ready to make the move, <a href="%s">we&#8217;ve made it easy for you</a>.', 'wporg' ) ),
+								esc_url( __( 'https://wordpress.org/support/article/importing-content/', 'wporg' ) )
+							);
+							?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Own Your Data', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php esc_html_e( 'Hosted services come and go. If you&#8217;ve ever used a service that disappeared, you know how traumatic that can be. If you&#8217;ve ever seen adverts appear on your website, you&#8217;ve probably been pretty annoyed. Using WordPress means no one has access to your content. Own your data, all of it &mdash; your website, your content, your data.', 'wporg' ); ?>
@@ -106,41 +177,68 @@ the_post();
 							<?php esc_html_e( 'WordPress is licensed under the GPL which was created to protect your freedoms. You are free to use WordPress in any way you choose: install it, use it, modify it, distribute it. Software freedom is the foundation that WordPress is built on.', 'wporg' ); ?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Community', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'As the most popular open source CMS on the web, WordPress has a vibrant and supportive community. Ask a question on the support forums and get help from a volunteer, attend a WordCamp or Meetup to learn more about WordPress, read blogs posts and tutorials about WordPress. Community is at the heart of WordPress, making it what it is today.', 'wporg' ); ?>
+							<?php
+							printf(
+								/* translators: 1: Link to support forums; 2: Link to WordCamp Central */
+								wp_kses_post( __( 'As the most popular open source CMS on the web, WordPress has a vibrant and supportive community. Ask a question on the <a href="%1$s">support forums</a> and get help from a volunteer, attend a <a href="%2$s">WordCamp</a> or Meetup to learn more about WordPress, read blogs posts and tutorials about WordPress. Community is at the heart of WordPress, making it what it is today.', 'wporg' ) ),
+								esc_url( __( 'https://wordpress.org/support/forums/', 'wporg' ) ),
+								'https://central.wordcamp.org/'
+							);
+							?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Contribute', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'You can be WordPress too! Help to build WordPress, answer questions on the support forums, write documentation, translate WordPress into your language, speak at a WordCamp, write about WordPress on your blog. Whatever your skill, we&#8217;d love to have you!', 'wporg' ); ?>
+							<?php
+							printf(
+								/* translators: %s: https://make.wordpress.org/ */
+								wp_kses_post( __( 'You can be WordPress too! Help to build WordPress, answer questions on the support forums, write documentation, translate WordPress into your language, speak at a WordCamp, write about WordPress on your blog. Whatever your skill, <a href="%s">we&#8217;d love to have you</a>!', 'wporg' ) ),
+								'https://make.wordpress.org/'
+							);
+							?>
 						</li>
 					</ul>
-					<h3><?php echo esc_html_x( 'Developer Features', 'Features page: Section Header', 'wporg' ); ?></h3>
+
+					<h3 id="developer"><?php echo esc_html_x( 'Developer Features', 'Features page: Section Header', 'wporg' ); ?></h3>
 					<p><?php esc_html_e( 'For developers, we&#8217;ve got lots of goodies packed under the hood that you can use to extend WordPress in whatever direction takes your fancy.', 'wporg' ); ?></p>
 
 					<ul>
 						<li><strong><?php echo esc_html_x( 'Plugin System', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php
-							/* translators: 1: Link to Codex page about APIs; 2: Link to Plugin Directory */
-							printf( wp_kses_post( __( 'The <a href="%1$s">WordPress APIs</a> make it possible for you to create plugins to extend WordPress. WordPress&#8217;s extensibility lies in the thousands of hooks at your disposal. Once you&#8217;ve created your plugin, we&#8217;ve even got a <a href="%2$s">plugin repository</a> for you to host it on.', 'wporg' ) ), esc_url( 'https://codex.wordpress.org/WordPress_APIs' ), esc_url( home_url( '/plugins/' ) ) );
+							printf(
+								/* translators: 1: Link to Developer Hub; 2: Link to Plugin Directory */
+								wp_kses_post( __( 'The <a href="%1$s">WordPress APIs</a> make it possible for you to create plugins to extend WordPress. WordPress&#8217;s extensibility lies in the thousands of hooks at your disposal. Once you&#8217;ve created your plugin, we&#8217;ve even got a <a href="%2$s">plugin repository</a> for you to host it on.', 'wporg' ) ),
+								'https://developer.wordpress.org/',
+								esc_url( home_url( '/plugins/' ) )
+							);
 							?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Theme System', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php
-							/* translators: 1: Link to Codex page about APIs; 2: Link to Theme Directory */
-							printf( wp_kses_post( __( 'Create WordPress themes for clients, other WordPress users, or yourself. The <a href="%1$s">WordPress API</a> provides the extensibility to create themes as simple or as complex as you wish. If you want to give your theme away for free you can give it to users in the <a href="%2$s">Theme Repository</a>', 'wporg' ) ), esc_url( 'https://codex.wordpress.org/WordPress_APIs' ), esc_url( home_url( '/themes/' ) ) );
+							printf(
+								/* translators: 1: Link to Theme Developer Handbook; 2: Link to Theme Directory */
+								wp_kses_post( __( 'Create WordPress themes for clients, other WordPress users, or yourself. WordPress provides the extensibility to <a href="%1$s">create themes</a> as simple or as complex as you wish. If you want to give your theme away for free you can give it to users in the <a href="%2$s">theme repository</a>.', 'wporg' ) ),
+								'https://developer.wordpress.org/themes/',
+								esc_url( home_url( '/themes/' ) )
+							);
 							?>
 						</li>
 						<li><strong><?php echo esc_html_x( 'Application Framework', 'Features page: Section Header', 'wporg' ); ?></strong><br>
-							<?php esc_html_e( 'If you want to build an application, WordPress can help with that too. Under the hood WordPress provides a lot of the features that your app will need, things like translations, user management, HTTP requests, databases, URL routing and much, much more.', 'wporg' ); ?>
-						</li>
-						<li><strong><?php echo esc_html_x( 'Custom Content Types', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php
-							/* translators: 1: Link to Codex page about Custom Post Types; 2: Link to Codex page about Custom Taxonomies; 3: Link to Codex page about Custom Fields */
-							printf( wp_kses_post( __( 'WordPress comes with default content types, but for more flexibility you can add a few lines of code to create your own <a href="%1$s">custom post types</a>, <a href="%2$s">taxonomies</a>, and <a href="%3$s">metadata</a>. Take WordPress in whatever direction you wish.', 'wporg' ) ), esc_url( 'https://codex.wordpress.org/Post_Types#Custom_Post_Types' ), esc_url( 'https://codex.wordpress.org/Taxonomies#Custom_Taxonomies' ), esc_url( 'https://codex.wordpress.org/Custom_Fields' ) );
+							printf(
+								/* translators: %s: Link to REST API Handbook */
+								wp_kses_post( __( 'If you want to build an application, WordPress can help with that too. WordPress provides a lot of the features under the hood that your app will need: translations, user management, HTTP requests, databases, URL routing and much, much more. You can also use our <a href="%s">REST API</a> to interact with it.', 'wporg' ) ),
+								'https://developer.wordpress.org/rest-api/'
+							);
 							?>
 						</li>
-						<li><strong><?php echo esc_html_x( 'The Latest Libraries', 'Features page: Section Header', 'wporg' ); ?></strong><br>
+						<li><strong><?php echo esc_html_x( 'Custom Content Types', 'Features page: Section Header', 'wporg' ); ?></strong><br>
 							<?php
-							/* translators: 1: Link to Developer Handbook page about default scripts */
-							printf( wp_kses_post( __( 'WordPress comes with the <a href="%s">latest script libraries</a> for you to make use of. These include jQuery, Plupload, Underscore.js and Backbone.js. We&#8217;re always on the lookout for new tools that developers can use to make a better experience for our users.', 'wporg' ) ), esc_url( 'https://developer.wordpress.org/reference/functions/wp_enqueue_script/#default-scripts-included-and-registered-by-wordpress' ) );
+							printf(
+								/* translators: 1: Link to Plugin Handbook page about custom post types; 2: Link to Plugin Handbook page about custom taxonomies; 3: Link to Plugin Handbook page about metadata */
+								wp_kses_post( __( 'WordPress comes with default content types, but for more flexibility you can add a few lines of code to create your own <a href="%1$s">custom post types</a>, <a href="%2$s">taxonomies</a>, and <a href="%3$s">metadata</a>. Take WordPress in whatever direction you wish.', 'wporg' ) ),
+								'https://developer.wordpress.org/plugins/post-types/',
+								'https://developer.wordpress.org/plugins/taxonomies/',
+								'https://developer.wordpress.org/plugins/metadata/'
+							);
 							?>
 						</li>
 					</ul>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-history.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-history.php
index 066e81f64..7bd81a06a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-history.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-history.php
@@ -26,6 +26,8 @@ add_filter( 'jetpack_images_pre_get_images', function() {
 
 get_header( 'child-page' );
 the_post();
+
+$date_format = get_option( 'date_format' );
 ?>
 
 	<main id="main" class="site-main col-12" role="main">
@@ -65,6 +67,202 @@ the_post();
 							</a>
 						</li>
 					</ul>
+
+					<h3><?php esc_html_e( 'Jazzers and Release Dates', 'wporg' ); ?></h3>
+
+					<p>
+						<?php
+						/* translators: 1: Link to playlist */
+						printf( wp_kses_post( __( 'WordPress core developers share a love of jazz music, and all our major releases are named in honor of jazz musicians we personally admire. Here&#8217;s a list of releases and the musicians they were named for. <a href="%s">You can listen to a Last.fm station of all the musicians we named a release for</a>.', 'wporg' ) ), esc_url( 'https://www.last.fm/tag/wordpress-release-jazz' ) );
+						?>
+					</p>
+
+					<table>
+						<thead>
+							<tr>
+								<th><?php esc_html_e( 'Version', 'wporg' ); ?></th>
+								<th><?php esc_html_e( 'Musician', 'wporg' ); ?></th>
+								<th><?php esc_html_e( 'Date', 'wporg' ); ?></th>
+							</tr>
+						</thead>
+						<tbody>
+						<tr>
+							<th><a href="https://wordpress.org/news/2019/02/betty/">5.1</a></th>
+							<td>Betty Carter</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'February 21, 2019' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2018/12/bebo/">5.0</a></th>
+							<td>Bebo Valdés</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 6, 2018' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2017/11/tipton/">4.9</a></th>
+							<td>Billy Tipton</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'November 15, 2017' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2017/06/evans/">4.8</a></th>
+							<td>Bill Evans</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 8, 2017' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2016/12/vaughan/">4.7</a></th>
+							<td>Sarah Vaughan</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 6, 2016' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2016/08/pepper/">4.6</a></th>
+							<td>Pepper Adams</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'August 16, 2016' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2016/04/coleman/">4.5</a></th>
+							<td>Coleman Hawkins</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'April 12, 2016' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2015/12/clifford/">4.4</a></th>
+							<td>Clifford Brown</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 8, 2015' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2015/08/billie/">4.3</a></th>
+							<td>Billie Holiday</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'August 18, 2015' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2015/04/powell/">4.2</a></th>
+							<td>Bud Powell</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'April 23, 2015' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2014/12/dinah/">4.1</a></th>
+							<td>Dinah Washington</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 18, 2014' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2014/09/benny/">4.0</a></th>
+							<td>Benny Goodman</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'September 4, 2014' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2014/04/smith/">3.9</a></th>
+							<td>Jimmy Smith</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'April 16, 2014' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2013/12/parker/">3.8</a></th>
+							<td>Charlie Parker</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 12, 2013' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2013/10/basie/">3.7</a></th>
+							<td>Count Basie</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'October 24, 2013' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2013/08/oscar/">3.6</a></th>
+							<td>Oscar Peterson</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'August 1, 2013' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2012/12/elvin/">3.5</a></th>
+							<td>Elvin Jones</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 11, 2012' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2012/06/green/">3.4</a></th>
+							<td>Grant Green</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 13, 2012' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2011/12/sonny/">3.3</a></th>
+							<td>Sonny Stitt</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 12, 2011' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2011/07/gershwin/">3.2</a></th>
+							<td>George Gershwin</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'July 4, 2011' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2011/02/threeone/">3.1</a></th>
+							<td>Django Reinhardt</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'February 23, 2011' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2010/06/thelonious/">3.0</a></th>
+							<td>Thelonious Monk</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 17, 2010' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2009/12/wordpress-2-9/">2.9</a></th>
+							<td>Carmen McRae</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 18, 2009' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2009/06/wordpress-28/">2.8</a></th>
+							<td>Chet Baker</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 11, 2009' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2008/12/coltrane/">2.7</a></th>
+							<td>John Coltrane</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 10, 2008' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2008/07/wordpress-26-tyner/">2.6</a></th>
+							<td>McCoy Tyner</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'July 15, 2008' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2008/03/wordpress-25-brecker/">2.5</a></th>
+							<td>Michael Brecker</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'March 29, 2008' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2007/09/wordpress-23/">2.3</a></th>
+							<td>Dexter Gordon</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'September 24, 2007' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2007/05/wordpress-22/">2.2</a></th>
+							<td>Stan Getz</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'May 16, 2007' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2007/01/ella-21/">2.1</a></th>
+							<td>Ella Fitzgerald</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'January 22, 2007' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2005/12/wp2/">2.0</a></th>
+							<td>Duke Ellington</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 31, 2005' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2005/02/strayhorn/">1.5</a></th>
+							<td>Billy Strayhorn</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'February 17, 2005' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2004/05/heres-the-beef/">1.2</a></th>
+							<td>Charles Mingus</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'May 22, 2004' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2004/01/wordpress-10/">1.0</a></th>
+							<td>Miles Davis</td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'January 3, 2004' ) ) ); ?></td>
+						</tr>
+						<tr>
+							<th><a href="https://wordpress.org/news/2003/05/wordpress-now-available/">.70</a></th>
+							<td><?php esc_html_e( 'No musician chosen.', 'wporg' ); ?></td>
+							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'May 27, 2003' ) ) ); ?></td>
+						</tr>
+						</tbody>
+					</table>
 				</section>
 			</div><!-- .entry-content -->
 		</article><!-- #post-## -->
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-logos.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-logos.php
index 4cc102a2b..432fd3abb 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-logos.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-logos.php
@@ -41,7 +41,7 @@ the_post();
 					<p>
 						<?php
 						/* translators: Link to Trademark Policy of WordPress Foundation */
-						printf( wp_kses_post( __( 'When you need the official WordPress logo for a web site or publication, please use one of the following. Please only use logos in accordance with the <a href="%s">WordPress trademark&nbsp;policy</a>.', 'wporg' ) ), esc_url( 'http://wordpressfoundation.org/trademark-policy/' ) );
+						printf( wp_kses_post( __( 'When you need the official WordPress logo for a web site or publication, please use one of the following. Please only use logos in accordance with the <a href="%s">WordPress trademark&nbsp;policy</a>.', 'wporg' ) ), 'http://wordpressfoundation.org/trademark-policy/' );
 						?>
 					</p>
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy-cookies.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy-cookies.php
index 3df7b3087..9c20f7abd 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy-cookies.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy-cookies.php
@@ -78,12 +78,6 @@ the_post();
 								<td><?php esc_html_e( 'Tests that the browser accepts cookies.', 'wporg' ); ?></td>
 								<td><?php esc_html_e( 'No', 'wporg' ); ?></td>
 							</tr>
-							<tr>
-								<th>__qca</th>
-								<td><?php esc_html_e( '5 years', 'wporg' ); ?></td>
-								<td><a href="https://www.quantcast.com/privacy/">Quantcast</a></td>
-								<td><?php esc_html_e( 'No', 'wporg' ); ?></td>
-							</tr>
 							<tr>
 								<th>__utma</th>
 								<td><?php esc_html_e( '2 years', 'wporg' ); ?></td>
@@ -324,12 +318,11 @@ the_post();
 						?>
 					</p>
 					<p><?php esc_html_e( 'Some specific opt-out programs are available here:', 'wporg' ); ?></p>
-					<p>Quantcast - <a href="https://www.quantcast.com/opt-out/">https://www.quantcast.com/opt-out/</a><br/>
-					Google Analytics - <a href="https://tools.google.com/dlpage/gaoptout">https://tools.google.com/dlpage/gaoptout</a></p>
+					<p>Google Analytics - <a href="https://tools.google.com/dlpage/gaoptout">https://tools.google.com/dlpage/gaoptout</a></p>
 					<p><?php esc_html_e( 'It&#8217;s important to note that restricting or disabling the use of cookies can limit the functionality of sites, or prevent them from working correctly at all.', 'wporg' ); ?></p>
 
 					<h3><?php esc_html_e( 'WordPress.org', 'wporg' ); ?></h3>
-					<p><a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"></a></p>
+					<p><a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" src="https://s.w.org/images/home/ccbysa40.png"></a></p>
 				</section>
 			</div><!-- .entry-content -->
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy.php
index 6b700350f..b15badcda 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy.php
@@ -77,9 +77,9 @@ the_post();
 						<li>
 							<?php
 							printf(
-								/* translators: Login URL */
-								wp_kses_post( __( 'Visit <a href="%s">https://login.wordpress.org</a>, and enter your username and password.', 'wporg' ) ),
-								esc_url( 'https://login.wordpress.org/' )
+								/* translators: 1: Login URL */
+								wp_kses_post( __( 'Visit <a href="%1$s">%1$s</a>, and enter your username and password.', 'wporg' ) ),
+								'https://login.wordpress.org/'
 							);
 							?>
 						</li>
@@ -93,6 +93,21 @@ the_post();
 					<p><?php esc_html_e( 'WordPress.org shall maintain WordCamp attendee data for 3 years to better track and foster community growth, and then automatically delete non-essential data collected via registration. Attendee names and email addresses will be retained indefinitely, to preserve our ability to respond to code of conduct reports.', 'wporg' ); ?></p>
 					<p><?php esc_html_e( 'On WordCamp.org sites, banking/financial data collected as part of a reimbursement request is deleted from WordCamp.org 7 days after the request is marked paid. The reason for the 7-day retention period is to prevent organizers having to re-enter their banking details if a wire fails or if a payment was marked &#8220;Paid&#8221; in error. Invoices and receipts related to WordCamp expenses are retained for 7 years after the close of the calendar year&#8217;s audit, by instruction of our financial consultants (auditors & bookkeepers).', 'wporg' ); ?></p>
 					<p><?php esc_html_e( 'When deletion is requested or otherwise required, we will anonymise the data of data subjects and/or remove their information from publicly accessible sites if the deletion of data would break essential systems or damage the logs or records necessary to the operation, development, or archival records of the WordPress open source project.', 'wporg' ); ?></p>
+					<p><?php esc_html_e( 'If you would like to request deletion of your account and associated data, please follow these steps:', 'wporg' ); ?></p>
+					<ol>
+						<li>
+							<?php
+							printf(
+								/* translators: 1: Data erasure request URL */
+								wp_kses_post( __( 'Visit <a href="%1$s">%1$s</a>.', 'wporg' ) ),
+								'https://wordpress.org/about/privacy/data-erasure-request/'
+							);
+							?>
+						</li>
+						<li><?php esc_html_e( 'Enter your email address.', 'wporg' ); ?></li>
+						<li><?php esc_html_e( 'Click &#8220;Accept Declaration and Request Permanent Account Deletion&#8221;.', 'wporg' ); ?></li>
+					</ol>
+					<p><?php esc_html_e( 'Note: If you have a WP.org account, it&#8217;s recommended you log in before submitting to associate your account with the request.', 'wporg' ); ?></p>
 
 					<h3><?php esc_html_e( 'Rights in relation to your information', 'wporg' ); ?></h3>
 					<p><?php esc_html_e( 'You may have certain rights under data protection law in relation to the personal information we hold about you. In particular, you may have a right to:', 'wporg' ); ?></p>
@@ -113,7 +128,12 @@ the_post();
 
 					<h3><?php esc_html_e( 'Cookies', 'wporg' ); ?></h3>
 					<p><?php esc_html_e( 'Additionally, information about how you use our website is collected automatically using &#8220;cookies&#8221;. Cookies are text files placed on your computer to collect standard internet log information and visitor behaviour information. This information is used to track visitor use of the website and to compile statistical reports on website activity.', 'wporg' ); ?></p>
-					<p><?php echo wp_kses_post( __( 'Please see <a href="https://wordpress.org/about/privacy/cookies/">our cookie policy</a> for more information about what cookies are collected on WordPress.org.', 'wporg' ) ); ?></p>
+					<p><?php echo wp_kses_post( sprintf(
+							/* translators: %s: Link to the Cookie policy. */
+							__( 'Please see <a href="%s">our cookie policy</a> for more information about what cookies are collected on WordPress.org.', 'wporg' ),
+							home_url( '/about/privacy/cookies/' )
+						) );
+					?></p>
 
 					<h3><?php esc_html_e( 'Privacy Policy Changes', 'wporg' ); ?></h3>
 					<p><?php esc_html_e( 'Although most changes are likely to be minor, WordPress.org may change its Privacy Policy from time to time, and at WordPress.org&#8217;s sole discretion. WordPress.org encourages visitors to frequently check this page for any changes to its Privacy Policy. Your continued use of this site after any change in this Privacy Policy will constitute your acceptance of such change.', 'wporg' ); ?></p>
@@ -121,7 +141,7 @@ the_post();
 					<h3><?php esc_html_e( 'Contact', 'wporg' ); ?></h3>
 					<p><?php esc_html_e( 'Please contact us if you have any questions about our privacy policy or information we hold about you by emailing dpo@wordcamp.org.', 'wporg' ); ?></p>
 
-					<p><a rel="license" href="https://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" src="https://creativecommons.org/images/public/somerights20.png"></a></p>
+					<p><a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" src="https://s.w.org/images/home/ccbysa40.png"></a></p>
 				</section>
 			</div><!-- .entry-content -->
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-requirements.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-requirements.php
index 6069cab65..69db774c0 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-requirements.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-requirements.php
@@ -8,6 +8,8 @@
  */
 
 namespace WordPressdotorg\MainTheme;
+use WordPressdotorg\API\Serve_Happy\RECOMMENDED_PHP;
+use WordPressdotorg\API\Serve_Happy\MINIMUM_PHP;
 
 $GLOBALS['menu_items'] = [
 	'about/requirements' => _x( 'Requirements', 'Page title', 'wporg' ),
@@ -43,19 +45,19 @@ the_post();
 						<li>
 							<?php
 							/* translators: 1: URL to PHP; 2: PHP Version */
-							printf( wp_kses_post( __( '<a href="%1$s">PHP</a> version %2$s or greater.', 'wporg' ) ), esc_url( 'http://www.php.net/' ), '7.2' );
+							printf( wp_kses_post( __( '<a href="%1$s">PHP</a> version %2$s or greater.', 'wporg' ) ), 'https://secure.php.net/', RECOMMENDED_PHP );
 							?>
 						</li>
 						<li>
 							<?php
 							/* translators: 1: URL to MySQL; 2: MySQL Version; 3: URL to MariaDB; 4: MariaDB Version */
-							printf( wp_kses_post( __( '<a href="%1$s">MySQL</a> version %2$s or greater <em>OR</em> <a href="%3$s">MariaDB</a> version %4$s or greater.', 'wporg' ) ), esc_url( 'https://www.mysql.com/' ), '5.6', esc_url( 'https://mariadb.org/' ), '10.0' );
+							printf( wp_kses_post( __( '<a href="%1$s">MySQL</a> version %2$s or greater <em>OR</em> <a href="%3$s">MariaDB</a> version %4$s or greater.', 'wporg' ) ), 'https://www.mysql.com/', '5.6', 'https://mariadb.org/', '10.0' );
 							?>
 						</li>
 						<li>
 							<?php
 							/* translators: URL to news post */
-							printf( wp_kses_post( __( '<a href="%s">HTTPS</a> support', 'wporg' ) ), esc_url( 'https://wordpress.org/news/2016/12/moving-toward-ssl/' ) );
+							printf( wp_kses_post( __( '<a href="%s">HTTPS</a> support', 'wporg' ) ), 'https://wordpress.org/news/2016/12/moving-toward-ssl/' );
 							?>
 						</li>
 					</ul>
@@ -63,7 +65,7 @@ the_post();
 					<p>
 						<?php
 						/* translators: 1: URL to Apache; 2: URL to Nginx; 3: URL to hosting page */
-						printf( wp_kses_post( __( 'That&#8217;s really it. We recommend <a href="%1$s">Apache</a> or <a href="%2$s">Nginx</a> as the most robust and featureful server for running WordPress, but any server that supports PHP and MySQL will do. That said, we can&#8217;t test every possible environment and <a href="%3$s">each of the hosts on our hosting page</a> supports the above and more with no problems.', 'wporg' ) ), esc_url( 'https://httpd.apache.org/' ), esc_url( 'https://nginx.org/' ), esc_url( 'https://wordpress.org/hosting/' ) );
+						printf( wp_kses_post( __( 'That&#8217;s really it. We recommend <a href="%1$s">Apache</a> or <a href="%2$s">Nginx</a> as the most robust and featureful server for running WordPress, but any server that supports PHP and MySQL will do. That said, we can&#8217;t test every possible environment and <a href="%3$s">each of the hosts on our hosting page</a> supports the above and more with no problems.', 'wporg' ) ), 'https://httpd.apache.org/', 'https://nginx.org/', 'https://wordpress.org/hosting/' );
 						?>
 					</p>
 
@@ -72,7 +74,7 @@ the_post();
 						printf(
 							/* translators: 1: PHP Version including; 2: MySQL Version */
 							wp_kses_post( __( 'Note: If you are in a legacy environment where you only have older PHP or MySQL versions, WordPress also works with PHP %1$s+ and MySQL %2$s+, but these versions have reached official End Of Life and as such <strong>may expose your site to security vulnerabilities</strong>.', 'wporg' ) ),
-							'5.2.4',
+							MINIMUM_PHP,
 							'5.0'
 						);
 						?>
@@ -89,7 +91,7 @@ the_post();
 							<li>
 								<?php
 								/* translators: PHP Version */
-								printf( esc_html__( 'PHP %s or greater', 'wporg' ), '7.2' );
+								printf( esc_html__( 'PHP %s or greater', 'wporg' ), RECOMMENDED_PHP );
 								?>
 							</li>
 							<li>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-roadmap.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-roadmap.php
index 6acc6bca0..339ab0feb 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-roadmap.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-roadmap.php
@@ -26,8 +26,6 @@ add_filter( 'jetpack_images_pre_get_images', function() {
 
 get_header( 'child-page' );
 the_post();
-
-$date_format = get_option( 'date_format' );
 ?>
 
 	<main id="main" class="site-main col-12" role="main">
@@ -41,11 +39,73 @@ $date_format = get_option( 'date_format' );
 				<section class="col-8">
 					<p>
 						<?php
-						/* translators: 1: Link to Ideas forum; 2: Link to Core Trac */
-						printf( wp_kses_post( __( 'After the 2.1 release, we decided to adopt a regular release schedule every 3-4 months with the features primarily driven by <a href="%1$s">ideas voted on by our users</a>. Here are the current planned releases, and links to their respective milestones in our <a href="%2$s">issue tracker</a>.', 'wporg' ) ), esc_url( 'https://wordpress.org/ideas/' ), esc_url( 'https://core.trac.wordpress.org/' ) );
+						printf(
+							/* translators: %s: Link to Gutenberg demo page */
+							wp_kses_post( __( 'WordPress is continually under development. Currently, work is underway on Phase 2 of the Gutenberg project. The Gutenberg project is a reimagination of the way we manage content on the web. Its goal is to broaden access to web presence, which is a foundation of successful modern businesses. Phase 1 was the new block editor, which was released in WordPress 5.0, you can <a href="%s">see that in action here</a>. In 2019 we’re focusing on Phase 2 which will provide a way for themes to visually register content areas, and expose these in Gutenberg.', 'wporg' ) ),
+							esc_url( home_url( '/gutenberg/' ) )
+						);
+						?>
+					</p>
+
+					<p>
+						<?php
+						printf(
+							/* translators: %s: Link to make/core blog post */
+							wp_kses_post( __( 'For 2019 the project also has the following 9 priorities, as outlined in <a href="%s">this post</a> by project lead Matt Mullenweg:', 'wporg' ) ),
+							'https://make.wordpress.org/core/2018/12/08/9-priorities-for-2019/'
+						);
+						?>
+					</p>
+
+					<ul>
+						<li><?php esc_html_e( 'Creating a block for navigation menus.', 'wporg' ); ?></li>
+						<li><?php esc_html_e( 'Port all existing widgets to blocks.', 'wporg' ); ?></li>
+						<li><?php esc_html_e( 'Upgrade the widgets-editing areas and the Customizer to support blocks.', 'wporg' ); ?></li>
+						<li><?php esc_html_e( 'Provide a way for themes to visually register content areas, and expose them in Gutenberg.', 'wporg' ); ?></li>
+						<li>
+							<?php
+							printf(
+								/* translators: %s: Link to Health Check plugin */
+								wp_kses_post( __( 'Merge <a href="%s">the site health check plugin</a> into Core, to assist with debugging and encourage good software hygiene.', 'wporg' ) ),
+								esc_url( home_url( '/plugins/health-check/' ) )
+							);
+							?>
+						</li>
+						<li><?php esc_html_e( 'Provide a way for users to opt-in to automatic plugin and theme updates.', 'wporg' ); ?></li>
+						<li><?php esc_html_e( 'Provide a way for users to opt-in to automatic updates of major Core releases.', 'wporg' ); ?></li>
+						<li><?php esc_html_e( 'Build a WordPress.org directory for discovering blocks, and a way to seamlessly install them.', 'wporg' ); ?></li>
+						<li>
+							<?php
+							printf(
+								/* translators: %s: Link to open tickets in Core Trac */
+								wp_kses_post( __( 'Form a Triage team to tackle our <a href="%s">6,500 open issues on Trac</a>.', 'wporg' ) ),
+								'https://core.trac.wordpress.org/query?status=!closed'
+							);
+							?>
+						</li>
+					</ul>
+
+					<p>
+						<?php
+						printf(
+							/* translators: %s: https://make.wordpress.org/ */
+							wp_kses_post( __( 'Want to get involved? Head on over to <a href="%s">Make WordPress</a>! We can always use more people to help translate, design, document, develop and market WordPress.', 'wporg' ) ),
+							'https://make.wordpress.org/'
+						);
+						?>
+					</p>
+
+					<h3><?php esc_html_e( 'Currently planned releases', 'wporg' ); ?></h3>
+
+					<p>
+						<?php
+						printf(
+							/* translators: %s: Link to Core Trac */
+							wp_kses_post( __( 'Here are the current planned releases, and links to their respective milestones in our <a href="%s">issue tracker</a>. Any projected dates are for discussion and planning purposes, and will be firmed up as we get closer to release.', 'wporg' ) ),
+							'https://core.trac.wordpress.org/'
+						);
 						?>
 					</p>
-					<p><?php esc_html_e( 'Any projected dates are for discussion and planning purposes, and will be firmed up as we get closer to release.', 'wporg' ); ?></p>
 					<table>
 						<thead>
 						<tr>
@@ -56,206 +116,29 @@ $date_format = get_option( 'date_format' );
 						<tbody>
 						<tr>
 							<th>
-								<a href="https://make.wordpress.org/core/5-1/">5.1</a>
+								<a href="https://make.wordpress.org/core/5-2/">5.2</a>
 								<a href="https://core.trac.wordpress.org/tickets/major">(Trac)</a>
 							</th>
-							<td>2019</td>
+							<td><?php echo date_i18n( 'F j, Y', strtotime( 'April 30, 2019' ) ); ?></td>
 						</tr>
 						</tbody>
 					</table>
 
 					<p><?php esc_html_e( 'The month prior to a release new features are frozen and the focus is entirely on ensuring the quality of the release by eliminating bugs and profiling the code for any performance issues.', 'wporg' ); ?></p>
 
-					<h3><?php esc_html_e( 'Jazzers and Release Dates', 'wporg' ); ?></h3>
-
 					<p>
 						<?php
-						/* translators: 1: Link to playlist */
-						printf( wp_kses_post( __( 'WordPress core developers share a love of jazz music, and all our major releases are named in honor of jazz musicians we personally admire. Here&#8217;s a list of releases and the musicians they were named for. <a href="%s">You can listen to a Last.fm station of all the musicians we named a release for</a>.', 'wporg' ) ), esc_url( 'http://www.last.fm/tag/wordpress-release-jazz' ) );
+						printf(
+							/* translators: %s: Link to History page */
+							wp_kses_post( __( 'You can see an overview of previous releases on our <a href="%s">history page</a>.', 'wporg' ) ),
+							esc_url( home_url( '/about/history/' ) )
+						);
 						?>
 					</p>
 
-					<table>
-						<thead>
-							<tr>
-								<th><?php esc_html_e( 'Version', 'wporg' ); ?></th>
-								<th><?php esc_html_e( 'Musician', 'wporg' ); ?></th>
-								<th><?php esc_html_e( 'Date', 'wporg' ); ?></th>
-							</tr>
-						</thead>
-						<tbody>
-						<tr>
-							<th><a href="https://wordpress.org/news/2003/05/wordpress-now-available/">.70</a></th>
-							<td><?php esc_html_e( 'No musician chosen.', 'wporg' ); ?></td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'May 27, 2003' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2004/01/wordpress-10/">1.0</a></th>
-							<td>Miles Davis</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'January 3, 2004' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2004/05/heres-the-beef/">1.2</a></th>
-							<td>Charles Mingus</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'May 22, 2004' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2005/02/strayhorn/">1.5</a></th>
-							<td>Billy Strayhorn</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'February 17, 2005' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2005/12/wp2/">2.0</a></th>
-							<td>Duke Ellington</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 31, 2005' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2007/01/ella-21/">2.1</a></th>
-							<td>Ella Fitzgerald</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'January 22, 2007' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2007/05/wordpress-22/">2.2</a></th>
-							<td>Stan Getz</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'May 16, 2007' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2007/09/wordpress-23/">2.3</a></th>
-							<td>Dexter Gordon</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'September 24, 2007' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2008/03/wordpress-25-brecker/">2.5</a></th>
-							<td>Michael Brecker</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'March 29, 2008' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2008/07/wordpress-26-tyner/">2.6</a></th>
-							<td>McCoy Tyner</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'July 15, 2008' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2008/12/coltrane/">2.7</a></th>
-							<td>John Coltrane</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 10, 2008' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2009/06/wordpress-28/">2.8</a></th>
-							<td>Chet Baker</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 11, 2009' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2009/12/wordpress-2-9/">2.9</a></th>
-							<td>Carmen McRae</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 18, 2009' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2010/06/thelonious/">3.0</a></th>
-							<td>Thelonious Monk</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 17, 2010' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2011/02/threeone/">3.1</a></th>
-							<td>Django Reinhardt</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'February 23, 2011' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2011/07/gershwin/">3.2</a></th>
-							<td>George Gershwin</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'July 4, 2011' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2011/12/sonny/">3.3</a></th>
-							<td>Sonny Stitt</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 12, 2011' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2012/06/green/">3.4</a></th>
-							<td>Grant Green</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 13, 2012' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2012/12/elvin/">3.5</a></th>
-							<td>Elvin Jones</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 11, 2012' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2013/08/oscar/">3.6</a></th>
-							<td>Oscar Peterson</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'August 1, 2013' ) ) ); ?></td>
-						</tr>
-						<tr class="alt">
-							<th><a href="https://wordpress.org/news/2013/10/basie/">3.7</a></th>
-							<td>Count Basie</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'October 24, 2013' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2013/12/parker/">3.8</a></th>
-							<td>Charlie Parker</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 12, 2013' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2014/04/smith/">3.9</a></th>
-							<td>Jimmy Smith</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'April 16, 2014' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2014/09/benny/">4.0</a></th>
-							<td>Benny Goodman</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'September 4, 2014' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2014/12/dinah/">4.1</a></th>
-							<td>Dinah Washington</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 18, 2014' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2015/04/powell/">4.2</a></th>
-							<td>Bud Powell</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'April 23, 2015' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2015/08/billie/">4.3</a></th>
-							<td>Billie Holiday</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'August 18, 2015' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2015/12/clifford/">4.4</a></th>
-							<td>Clifford Brown</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 8, 2015' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2016/04/coleman/">4.5</a></th>
-							<td>Coleman Hawkins</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'April 12, 2016' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2016/08/pepper/">4.6</a></th>
-							<td>Pepper Adams</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'August 16, 2016' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2016/12/vaughan/">4.7</a></th>
-							<td>Sarah Vaughan</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 6, 2016' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2017/06/evans/">4.8</a></th>
-							<td>Bill Evans</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'June 8, 2017' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2017/11/tipton/">4.9</a></th>
-							<td>Billy Tipton</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'November 15, 2017' ) ) ); ?></td>
-						</tr>
-						<tr>
-							<th><a href="https://wordpress.org/news/2018/12/bebo/">5.0</a></th>
-							<td>Bebo Valdés</td>
-							<td><?php echo esc_html( date_i18n( $date_format, strtotime( 'December 6, 2018' ) ) ); ?></td>
-						</tr>
-						</tbody>
-					</table>
+					<h3><?php esc_html_e( 'Long term roadmap', 'wporg' ); ?></h3>
+
+					<p><?php esc_html_e( 'While we expect to need most or all of 2019 to finish phase 2 of Gutenberg, there are already plans for Phase 3 and 4. Phase 3 will focus on collaboration and multi-user editing. Phase 4 will contain support for multilingual sites.', 'wporg' ); ?></p>
 				</section>
 			</div><!-- .entry-content -->
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-swag.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-swag.php
index 4c791aea2..97d024e6b 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-swag.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-swag.php
@@ -43,7 +43,7 @@ the_post();
 						</a>
 						<?php
 						/* translators: Link to swag store */
-						printf( wp_kses_post( __( 'Whether you&#8217;re a seasoned WordPress fanatic or just getting warmed up, wear your WordPress love with pride. The official <a href="%s">WordPress Swag Store</a> sells shirts and hoodies in a variety of designs and colors, printed on stock from socially responsible companies.', 'wporg' ) ), esc_url( 'https://mercantile.wordpress.org' ) );
+						printf( wp_kses_post( __( 'Whether you&#8217;re a seasoned WordPress fanatic or just getting warmed up, wear your WordPress love with pride. The official <a href="%s">WordPress Swag Store</a> sells shirts and hoodies in a variety of designs and colors, printed on stock from socially responsible companies.', 'wporg' ) ), 'https://mercantile.wordpress.org' );
 						?>
 					</p>
 					<p><?php esc_html_e( 'The swag store also rotates other products through the lineup on a regular basis.', 'wporg' ); ?></p>
@@ -51,7 +51,7 @@ the_post();
 					<p>
 						<?php
 						/* translators: Link to swag store */
-						printf( wp_kses_post( __( 'So show the love and spread the word &mdash; get your <a href="%s">WordPress swag</a> today.', 'wporg' ) ), esc_url( 'https://mercantile.wordpress.org' ) );
+						printf( wp_kses_post( __( 'So show the love and spread the word &mdash; get your <a href="%s">WordPress swag</a> today.', 'wporg' ) ), 'https://mercantile.wordpress.org' );
 						?>
 					</p>
 				</section>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-testimonials.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-testimonials.php
index d88d7d1b8..167dbb41a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-testimonials.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-testimonials.php
@@ -64,7 +64,7 @@ twttr.ready( function( twttr ) {
 		embed_holder_masonry;
 
 	embed_holder_masonry = embed_holder_jq.masonry({
-		itemSelector: 'iframe, twitterwidget',
+		itemSelector: 'iframe, twitter-widget',
 		columnWidth: 372,
 		gutter: 10,
 		initLayout: false
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-counter.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-counter.php
index 904e20f06..b625a51bd 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-counter.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-counter.php
@@ -11,12 +11,16 @@
 
 $branch = WP_CORE_STABLE_BRANCH;
 
+$canonical_url = get_permalink();
+
 if (
 	isset( $_GET['branch'] )
 	&& preg_match( '/^[0-9]\.[0-9]$/', wp_unslash( $_GET['branch'] ), $matches ) // phpcs:ignore WordPress.VIP
 	&& version_compare( WP_CORE_STABLE_BRANCH, $matches[0], '>' )
 ) {
 	$branch = $matches[0];
+
+	$canonical_url = add_query_arg( 'branch', $branch, $canonical_url );
 }
 
 // phpcs:ignore WordPress.VIP.DirectDatabaseQuery
@@ -43,10 +47,25 @@ if ( ! empty( $_GET['json'] ) ) {
 if ( WP_CORE_STABLE_BRANCH === $branch ) {
 	/* translators: 1: version number; 2: download count; */
 	$text = __( 'WordPress %1$s has been&nbsp;downloaded %2$s times', 'wporg' );
+
+	/* translators: 1: date; 2: version number; 3: download count; */
+	$meta_desc_text = __( 'As of %1$s, WordPress %2$s has been downloaded over %3$s times - watch that number increase in real time!', 'wporg' );
 } else {
 	/* translators: 1: version number; 2: download count; */
 	$text = __( 'WordPress %1$s was&nbsp;downloaded %2$s times', 'wporg' );
+
+	/* translators: 1: date; 2: version number; 3: download count; */
+	$meta_desc_text = __( 'As of %1$s, WordPress %2$s was downloaded over %3$s times.', 'wporg' );
 }
+
+// Page meta description
+$meta_desc_text = sprintf(
+	$meta_desc_text,
+	date_i18n( 'F jS Y' ),
+	$branch,
+	number_format_i18n( $num )
+);
+
 ?>
 <!DOCTYPE html>
 <html>
@@ -55,6 +74,14 @@ if ( WP_CORE_STABLE_BRANCH === $branch ) {
 	<title><?php echo esc_html( wp_get_document_title() ); ?></title>
 	<link href="//fonts.googleapis.com/css?family=Open+Sans:300" rel="stylesheet" type="text/css">
 	<meta name="viewport" content="width=device-width,initial-scale=1.0">
+	<link rel="canonical" href="<?php echo esc_url( $canonical_url ); ?>">
+	<link rel="dns-prefetch" href="//www.googletagmanager.com">
+	<meta name="description" content="<?php echo esc_attr( $meta_desc_text ); ?>">
+	<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+})(window,document,'script','dataLayer','GTM-P24PF4B');</script>
 	<style type="text/css">
 		html,
 		body {
@@ -190,6 +217,7 @@ if ( WP_CORE_STABLE_BRANCH === $branch ) {
 </head>
 
 <body>
+	<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P24PF4B" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
 	<div class="something-semantic">
 		<div class="something-else-semantic">
 			<div class="counter-inner">
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-releases.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-releases.php
index ed9e834ba..9b417e2dc 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-releases.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-releases.php
@@ -54,9 +54,9 @@ get_header( 'child-page' );
 					<p>
 						<?php
 						printf(
-							/* translators: Roadmap URL */
-							wp_kses_post( __( 'Curious about which jazzers we highlighted for each release? <a href="%s">It’s on the roadmap</a>.', 'wporg' ) ),
-							esc_url( home_url( '/about/roadmap/' ) )
+							/* translators: History page URL */
+							wp_kses_post( __( 'Curious about which jazzers we highlighted for each release? <a href="%s">It’s on the History page</a>.', 'wporg' ) ),
+							esc_url( home_url( '/about/history/' ) )
 						);
 						?>
 					</p>
@@ -67,11 +67,7 @@ get_header( 'child-page' );
 							?>
 							<h3 id="latest"><?php esc_html_e( 'Latest release', 'wporg' ); ?></h3>
 							<table class="releases latest">
-								<col width="15%" />
-								<col width="25%" />
-								<col width="15%" />
-								<col width="15%" />
-								<col width="15%" />
+								<?php release_cols(); ?>
 								<?php release_row( $releases['latest'] ); ?>
 							</table>
 							<?php
@@ -92,11 +88,7 @@ get_header( 'child-page' );
 									?>
 								</h3>
 								<table class="releases">
-									<col width="15%" />
-									<col width="25%" />
-									<col width="15%" />
-									<col width="15%" />
-									<col width="15%" />
+									<?php release_cols(); ?>
 									<?php
 									foreach ( $branch_release as $release ) :
 										release_row( $release );
@@ -112,11 +104,7 @@ get_header( 'child-page' );
 							<h3 id="betas"><?php esc_html_e( 'Beta &amp; RC releases', 'wporg' ); ?></h3>
 							<p><?php esc_html_e( 'These were testing releases and are only available here for archival purposes.', 'wporg' ); ?></p>
 							<table id="beta" class="releases">
-								<col width="15%" />
-								<col width="25%" />
-								<col width="15%" />
-								<col width="15%" />
-								<col width="15%" />
+								<?php release_cols(); ?>
 								<?php
 								foreach ( $releases['betas'] as $release ) :
 									release_row( $release );
@@ -132,11 +120,7 @@ get_header( 'child-page' );
 							<h3 id="mu"><?php esc_html_e( 'MU releases', 'wporg' ); ?></h3>
 							<p><?php esc_html_e( 'WordPress MU releases made prior to MU being merged into WordPress 3.0', 'wporg' ); ?></p>
 							<table class="releases">
-								<col width="15%" />
-								<col width="30%" />
-								<col width="15%" />
-								<col width="15%" />
-								<col width="15%" />
+								<?php release_cols(); ?>
 								<?php
 								foreach ( $releases['mu'] as $release ) :
 									release_row( $release );
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-source.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-source.php
index 47f797a4c..17ba9fb36 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-source.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download-source.php
@@ -41,10 +41,10 @@ the_post();
 						printf(
 							/* translators: URLs to documentation */
 							wp_kses_post( __( 'If you&#8217;d like to browse the WordPress source and inline documentation, we have a <a href="%1$s">convenient developer reference</a> and a <a href="%2$s">code browser</a>. We also have guides for <a href="%3$s">contributing with Subversion</a> and <a href="%4$s">contributing with Git</a>.', 'wporg' ) ),
-							esc_url( 'https://developer.wordpress.org/reference/' ),
-							esc_url( 'https://core.trac.wordpress.org/browser/' ),
-							esc_url( 'https://make.wordpress.org/core/handbook/contribute/svn/' ),
-							esc_url( 'https://make.wordpress.org/core/handbook/contribute/git/' )
+							'https://developer.wordpress.org/reference/',
+							'https://core.trac.wordpress.org/browser/',
+							'https://make.wordpress.org/core/handbook/contribute/svn/',
+							'https://make.wordpress.org/core/handbook/contribute/git/'
 						);
 						?>
 					</p>
@@ -55,7 +55,7 @@ the_post();
 							/* translators: URLs to documentation */
 							wp_kses_post( __( 'The built WordPress source, <a href="%1$s">licensed</a> under the GNU General Public License version 2 (or later), can be <a href="%2$s">browsed online</a> or checked out locally with Subversion or Git:', 'wporg' ) ),
 							esc_url( home_url( '/about/license/' ) ),
-							esc_url( 'https://build.trac.wordpress.org/browser' )
+							'https://build.trac.wordpress.org/browser'
 						);
 						?>
 					</p>
@@ -86,8 +86,8 @@ the_post();
 						printf(
 							/* translators: URLs to documentation */
 							wp_kses_post( __( 'WordPress minifies core JavaScript files using UglifyJS and CSS using clean-css, all via the <a href="%1$s">Grunt</a> JavaScript-based task runner. The development source that includes un-minified versions of these files, along with the build scripts, can be <a href="%2$s">browsed online</a> or checked out locally with Subversion or Git:', 'wporg' ) ),
-							esc_url( 'http://gruntjs.com/' ),
-							esc_url( 'https://core.trac.wordpress.org/browser' )
+							'https://gruntjs.com/',
+							'https://core.trac.wordpress.org/browser'
 						);
 						?>
 					</p>
@@ -118,7 +118,7 @@ the_post();
 						printf(
 							/* translators: URLs to documentation */
 							wp_kses_post( __( 'The source code for any program binaries or minified external scripts that are included with WordPress can be freely obtained from our <a href="%s">sources repository</a>.', 'wporg' ) ),
-							esc_url( 'https://code.trac.wordpress.org/browser/wordpress-sources' )
+							'https://code.trac.wordpress.org/browser/wordpress-sources'
 						);
 						?>
 					</p>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download.php wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download.php
index 80060025d..3c46f43f1 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-download.php
@@ -8,6 +8,7 @@
  */
 
 namespace WordPressdotorg\MainTheme;
+use WordPressdotorg\API\Serve_Happy\RECOMMENDED_PHP;
 
 $hosts = [
 	'bluehost'      => [
@@ -51,9 +52,10 @@ $latest_release_targz_url = 'https://wordpress.org/latest.tar.gz';
 if ( defined( 'IS_ROSETTA_NETWORK' ) && IS_ROSETTA_NETWORK ) {
 	$rosetta_release = $GLOBALS['rosetta']->rosetta->get_latest_public_release();
 	if ( $rosetta_release ) {
+		$locale                   = get_locale();
 		$latest_release_version   = $rosetta_release['version'];
-		$latest_release_zip_url   = $rosetta_release['zip_url'];
-		$latest_release_targz_url = $rosetta_release['targz_url'];
+		$latest_release_zip_url   = home_url( "latest-{$locale}.zip" );
+		$latest_release_targz_url = home_url( "latest-{$locale}.tar.gz" );
 	}
 }
 
@@ -66,13 +68,6 @@ add_filter( 'jetpack_images_pre_get_images', function() {
 
 get_header();
 the_post();
-
-// https://meta.trac.wordpress.org/ticket/3865
-if ( !wp_is_mobile() && empty( $rosetta_release ) ) {
-	include_once( WP_PLUGIN_DIR . '/polldaddy/polldaddy.php' );
-	echo '<div class="popup-poll">' . do_shortcode( "[polldaddy poll=9992274 type='slider']" ) . '</div>';
-}
-
 ?>
 	<main id="main" class="site-main col-12" role="main">
 
@@ -122,7 +117,7 @@ if ( !wp_is_mobile() && empty( $rosetta_release ) ) {
 							printf(
 								/* translators: URL to installation guide */
 								wp_kses_post( __( 'With our famous 5-minute installation, setting up WordPress for the first time is simple. We’ve created a <a href="%1$s">handy guide</a> to see you through the installation process.', 'wporg' ) ),
-								esc_url( 'https://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Installation' )
+								'https://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Installation'
 							);
 							?>
 						</p>
@@ -135,7 +130,7 @@ if ( !wp_is_mobile() && empty( $rosetta_release ) ) {
 							printf(
 								/* translators: URL to WordPress mailing list */
 								wp_kses_post( __( 'Want to get notified about WordPress releases? Join the <a href="%1$s">WordPress Announcements mailing list</a> and we will send a friendly message whenever there is a new stable release.', 'wporg' ) ),
-								esc_url( 'https://wordpress.org/list/' )
+								'https://wordpress.org/list/'
 							);
 							?>
 						</p>
@@ -146,11 +141,14 @@ if ( !wp_is_mobile() && empty( $rosetta_release ) ) {
 						<p>
 							<?php
 							printf(
-								/* translators: 1: URL to PHP website; 2: URL to MySQL website; 3: URL to MariaDB website */
-								wp_kses_post( __( 'We recommend servers running version 7.2 or greater of <a href="%1$s">PHP</a> and <a href="%2$s">MySQL</a> version 5.6 <em>OR</em> <a href="%3$s">MariaDB</a> version 10.0 or greater.', 'wporg' ) ),
-								esc_url( 'http://www.php.net/' ),
-								esc_url( 'https://www.mysql.com/' ),
-								esc_url( 'https://mariadb.org/' )
+								/* translators: 1: PHP version; 2: URL to PHP website; 3: URL to MySQL website; 4: MySQL version; 5: URL to MariaDB website; 6: MariaDB version */
+								wp_kses_post( __( 'We recommend servers running version %1$s or greater of <a href="%2$s">PHP</a> and <a href="%3$s">MySQL</a> version %4$s <em>OR</em> <a href="%5$s">MariaDB</a> version %6$s or greater.', 'wporg' ) ),
+								RECOMMENDED_PHP,
+								'https://secure.php.net/',
+								'https://www.mysql.com/',
+								'5.6',
+								'https://mariadb.org/',
+								'10.0'
 							);
 							?>
 							<br>
@@ -158,8 +156,8 @@ if ( !wp_is_mobile() && empty( $rosetta_release ) ) {
 							printf(
 								/* translators: 1: URL to Apache website; 2: URL to Nginx website */
 								wp_kses_post( __( 'We also recommend either <a href="%1$s">Apache</a> or <a href="%2$s">Nginx</a> as the most robust options for running WordPress, but neither is required.', 'wporg' ) ),
-								esc_url( 'https://httpd.apache.org/' ),
-								esc_url( 'https://nginx.org/' )
+								'https://httpd.apache.org/',
+								'https://nginx.org/'
 							);
 							?>
 						</p>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/functions.php
index 914a29f56..7de7ab64b 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/functions.php
@@ -14,10 +14,30 @@ function make_setup_theme() {
 
 add_action( 'pre_get_posts', 'make_query_mods' );
 function make_query_mods( $query ) {
-	if ( ! is_admin() && $query->is_main_query() && $query->is_home() )
+	if ( ! is_admin() && $query->is_main_query() && $query->is_home() ) {
 		$query->set( 'posts_per_page', 1 );
+	}
+
+	// There's nothing worth searching for on this site.
+	if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
+		$query->set_404();
+	}
 }
 
+add_filter( 'the_posts', function( $posts, $query ) {
+	// Ensure all non-post routes 404, as this site isn't like most others.
+	if (
+		( ! is_admin() && $query->is_main_query() && ! $posts ) ||
+		( ! is_admin() && $query->is_main_query() && $query->is_post_type_archive( 'meeting' ) && $query->get('paged') > 1 ) // Pagination on the query is explicitly disabled, so this doens't 404
+	) {
+		$query->set_404();
+		status_header( 404 );
+		nocache_headers();
+	}
+
+	return $posts;
+}, 10, 2 );
+
 add_filter('post_class','make_home_site_classes', 10, 3);
 function make_home_site_classes($classes, $class, $id) {
 	$classes[] = sanitize_html_class( 'make-' . get_post( $id )->post_name );
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/style.css
index 2cc84f662..ba4628452 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-makehome/style.css
@@ -231,6 +231,7 @@ section.get-involved article.make-tv            h2:before { content: '\f235'; }
 section.get-involved article.make-marketing     h2:before { content: '\f130'; }
 section.get-involved article.make-cli           h2:before { content: '\f345'; }
 section.get-involved article.make-hosting       h2:before { content: '\f176'; }
+section.get-involved article.make-tide          h2:before { content: '\f10d'; }
 
 section.get-involved article.featured-group h2:after {
 	display: block;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/archive.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/archive.php
index 473e1c354..024fc95de 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/archive.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/archive.php
@@ -9,6 +9,12 @@
 
 namespace WordPressdotorg\Plugin_Directory\Theme;
 
+// If we don't have any posts to display for the archive, then send a 404 status. See #meta4151
+if ( ! have_posts() ) {
+	status_header( 404 );
+	nocache_headers();
+}
+
 get_header(); ?>
 
 	<div id="primary" class="content-area">
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/style.scss wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/style.scss
index 074d7ae0c..cf0ce66ec 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/style.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/plugin/style.scss
@@ -112,6 +112,10 @@
 			text-decoration: underline;
 		}
 
+		ul > li > p, ol > li > p {
+			margin: 0;
+		}
+
 		#admin {
 			display:block !important;
 		}
@@ -143,6 +147,7 @@
 	span#reviews:not(:target) ~ span#installation:not(:target) ~ span#developers:not(:target) ~ .entry-content #tab-description,
 	span#reviews:not(:target) ~ span#installation:not(:target) ~ span#developers:not(:target) ~ .entry-content #screenshots,
 	span#reviews:not(:target) ~ span#installation:not(:target) ~ span#developers:not(:target) ~ .entry-content #faq,
+	span#reviews:not(:target) ~ span#installation:not(:target) ~ span#developers:not(:target) ~ .entry-content #blocks,
 	span#reviews:not(:target) ~ span#installation:not(:target) ~ span#developers:not(:target) ~ .entry-content #tab-developers,
 	span#reviews:not(:target) ~ span#installation:not(:target) ~ span#developers:not(:target) ~ .entry-content #tab-developers ~ button,
 	span#reviews:target ~ .entry-content #tab-reviews,
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/widget-area/widgets/adopt-me/style.scss wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/widget-area/widgets/adopt-me/style.scss
new file mode 100644
index 000000000..a7debaad5
--- /dev/null
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/components/widget-area/widgets/adopt-me/style.scss
@@ -0,0 +1,12 @@
+.plugin-adopt-me {
+    background: #e6f4fa;
+    font-size: ms( -2 );
+    padding: 12px;
+    margin-top: 36px;
+    .widget-title {
+        margin-top: 0;
+    }
+    p {
+        margin-bottom: 0;
+    }
+}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/components/_components.scss wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/components/_components.scss
index b222e188f..7551b4678 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/components/_components.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/client/styles/components/_components.scss
@@ -47,6 +47,7 @@
 @import "../../components/site-header/style";
 @import "../../components/site-main/style";
 @import "../../components/widget-area/style";
+@import "../../components/widget-area/widgets/adopt-me/style";
 @import "../../components/widget-area/widgets/committers/style";
 @import "../../components/widget-area/widgets/contributors/style";
 @import "../../components/widget-area/widgets/meta/style";
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style-rtl.css wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style-rtl.css
index 4de687ba2..9d1c5c181 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style-rtl.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style-rtl.css
@@ -1 +1 @@
-[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;right:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{margin-bottom:25.6px;margin-bottom:1.6rem;padding:25.6px;padding:1.6rem}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em;word-wrap:normal}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{font-size:12.8px;font-size:.8rem;color:#0073aa;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-left:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px -4px 0 0}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.avatar{-webkit-border-radius:50%;border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:12.8px;font-size:.8rem;padding:8px;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{color:#111}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 0 0 4px;min-width:16px;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-left:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px -4px 0 0}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{width:6px;height:6px;margin:4px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll.neverending .site-footer,.infinite-scroll .posts-navigation{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:16px 0;margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 32px;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:right;padding:8px 0;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}}@media screen and (min-width:48em){.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-right:1em}.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;-webkit-transition:right .3s;transition:right .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin-right:auto;margin-left:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.archive .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.archive .page-header{margin:32px 0;margin:2rem 0}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 76.293px;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:48.828px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{position:relative}.plugin-section .section-title{font-size:25px;font-size:1.5625rem;font-weight:400;margin-bottom:48px;margin-bottom:3rem}.plugin-section .section-link{font-size:16px;font-size:1rem;position:absolute;left:0;top:11.2px;top:.7rem}.page .entry-header{margin-top:32px;margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:25px;font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:25px;font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:32px 0;padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-left:4%;width:48%}.plugin-card:nth-of-type(2n){margin-left:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:-webkit-calc(96% - 128px);width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:16px;font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{font-weight:400;word-wrap:break-word}.plugin-card .entry-excerpt{font-size:12.8px;font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{font-size:11.704px;font-size:.73152rem;display:inline-block;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:16px;font-size:1rem;margin-left:6.4px;margin-left:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{margin:0 2px -16px;margin:0 2px -1rem;color:#bbb;width:auto;height:auto;display:none}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{-webkit-background-size:cover;background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 0 0 4%;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:right;height:96px;margin-left:16px;margin-left:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{-webkit-background-size:contain!important;background-size:contain!important;height:96px!important;width:96px!important}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.plugin-rating{line-height:1;margin:0 0 8px 10px}.plugin-rating .wporg-ratings{display:inline-block;margin-left:5px}.plugin-rating .rating-count{color:#999;font-size:12.8px;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}@-webkit-keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@-webkit-keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}@keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#cbcdce;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-size:20px;font-size:1.25rem;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1;margin:0;outline:none;padding:0;-webkit-transition:all .2s ease;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{-webkit-animation:c .3s infinite alternate;animation:c .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{-webkit-animation:b .3s;animation:b .3s}.plugin-banner{background-position:50% 50%;-webkit-background-size:100% 100%;background-size:100%;background-repeat:no-repeat;display:inline-block;font-size:0;line-height:0;margin:0 auto 18.288px;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}.plugin-changelog{font-size:12.8px;font-size:.8rem}.plugin-changelog code{font-size:12.8px;font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:16px;font-size:1rem;margin-left:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-left:0}.plugin-faq h2:first-of-type{font-size:20px;font-size:1.25rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase;border:none;color:#32373c;padding:0;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:16px;font-size:1rem;font-weight:600;padding:16px 0;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:left;font-family:dashicons;margin:0 16px;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.plugin-faq dd{display:none;margin:0 0 16px;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:16px;margin-top:1rem}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:32px 0 16px;margin:2rem 0 1rem;padding-bottom:16px;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 8px;margin:0 0 .5rem}.plugin-reviews .review-title{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;margin:0 0 8px;margin:0 0 .5rem;text-transform:inherit}.plugin-reviews .review-author{line-height:1.25;margin-right:10px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-left:1rem}.plugin-reviews .review{width:-webkit-calc(100% - 60px - 1rem);width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author{line-height:1}}.reviews-link{display:inline-block;font-size:12.8px;font-size:.8rem;margin-top:8px;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f341";font-family:dashicons;vertical-align:text-top;padding-right:5px;float:left;position:relative;top:1px}.image-gallery{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{display:none;font-size:48.828px;font-size:3.0517578125rem;height:100%;position:absolute;top:0;z-index:4;border-color:#eee;-webkit-transition:background .1s ease,border .1s ease;transition:background .1s ease,border .1s ease}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;opacity:.8;border:1px solid #eee}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{position:relative;font-family:dashicons}.image-gallery-content .image-gallery-left-nav{right:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f345"}.image-gallery-content .image-gallery-left-nav:hover{margin-right:-1px}.image-gallery-content .image-gallery-right-nav{left:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f341"}.image-gallery-content .image-gallery-right-nav:hover{margin-left:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{line-height:0;overflow:hidden;position:relative;white-space:nowrap;border:1px solid #eee}.image-gallery-slide{right:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;line-height:1.5;padding:10px 20px;white-space:normal;font-size:12.8px;font-size:.8rem}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{display:table-cell;margin-left:5px;border:1px solid #eee;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{-webkit-box-shadow:0 1px 8px rgba(0,0,0,.3);box-shadow:0 1px 8px rgba(0,0,0,.3)}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:rgba(0,0,0,.4);bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;left:0;z-index:4}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-slides{max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:left}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}.section h1,.section h2,.section h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:18.288px 25px;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:left}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:25px;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{list-style:none;margin:0;border-bottom:2px solid #eee}.type-plugin .tabs li{display:inline-block;margin-bottom:-2px;border:2px solid transparent;font-size:12.8px;font-size:.8rem;color:#0073aa;-webkit-transition:background .2s ease;transition:background .2s ease}.type-plugin .tabs li a{border:0;display:block;padding:10.24px 20px;padding:.64rem 1.25rem;background:#fff;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{padding-bottom:0!important;border:2px solid #eee}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;border:none;border-bottom:1px solid #eee;margin-bottom:1px}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{padding:0 25px;padding:0 1.5625rem;max-width:768px;max-width:48rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:right;padding:0;width:65%}}.type-plugin .entry-content>div{display:none;border:0}.type-plugin .entry-content>div~button{display:none;border:0}.type-plugin .entry-content a:not(.button){text-decoration:underline}.type-plugin .entry-content #admin{display:block!important}.type-plugin .entry-meta{padding:0 25px;padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#developers:target~.tabs li#tablink-developers,.type-plugin span#installation:target~.tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.tabs li#tablink-description,.type-plugin span#reviews:target~.tabs li#tablink-reviews{border-top:2px solid #eee;border-right:2px solid #eee;border-left:2px solid #eee;border-bottom:0;padding-bottom:2px;background:#fff}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development{display:none}.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-right:0;padding-left:0}.type-plugin .entry-meta{float:left;width:30%}}.search-form{font-size:0;margin-bottom:32px;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;display:block;font-size:16px;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:8px;padding:.5rem;vertical-align:initial;width:363.797px;width:22.7373675443rem}.search-form .button-search{border-top:none;border-right:none;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;font-size:16px;font-size:1rem;margin:0;position:relative;left:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-left:1px solid #006799;-webkit-box-shadow:none;box-shadow:none}.search-form .button-search .dashicons{font-size:16px;font-size:1rem;vertical-align:text-bottom}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:transparent;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#32373c;display:block;height:45px;padding:8px 16px;padding:.5rem 1rem;position:absolute;left:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{-webkit-box-shadow:0 0 2px 1px #33b3db;box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:transparent;border:none;-webkit-transform:none;-ms-transform:none;transform:none}.site-header:not(.home) .search-form{margin:0;padding:16px 24px 16px 16px;padding:1rem 1.5rem 1rem 1rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;display:inline-block;font-size:16px;font-size:1rem;padding:5px 10px;position:relative;width:auto}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}.site-main .search-form .search-field{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);padding:8px;padding:.5rem;width:100%}.search .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:32px 0;margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;min-width:2em;padding:8px;display:inline-block;cursor:hand}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{width:auto;font-size:.9em;background:none}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{font-weight:700;background-color:#f7f7f7}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:right;right:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2)}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;padding:16px 24px 16px 16px;padding:1rem 1.5rem 1rem 1rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;left:16px;left:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:relative;width:auto;top:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem}.main-navigation ul li:last-of-type{margin-left:0}.main-navigation a{padding:0}}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-main{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:25px;font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:568.434px;max-width:35.527136788rem;padding:0 32px;padding:0 2rem}.widget-area{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}.committer-list,.support-rep-list{font-size:12.8px;font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:8px;padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:right;margin-left:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{content:"";display:block;width:20px;height:20px;position:absolute;left:-50%;top:50%;margin:-10px 0 0 -10px;background:url(/wp-admin/images/spinner.gif) no-repeat 50%;-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:16px;margin-bottom:1rem}.contributors-list .avatar{float:right;margin-left:10px}.plugin-meta{margin-top:32px;margin-top:2rem}.plugin-meta ul{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:8px 0;padding:.5rem 0;width:100%;position:relative}.plugin-meta li strong{float:left}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:left;text-align:left}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;-webkit-border-radius:2px;border-radius:2px;color:#000;display:inline-block;font-size:10.24px;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{display:none;position:absolute;width:100%;max-width:300px;right:0;z-index:100;padding:1em 1em 2em;margin-top:10px;background-color:#fff;border:1px solid #ccc;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.1);box-shadow:0 2px 10px rgba(0,0,0,.1)}.popover.is-top-right{right:auto;left:0}.popover.is-visible{display:block}.popover .popover-close{position:absolute;bottom:.5em;left:.6em;font-size:small;color:#0073aa}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{position:absolute;height:0;width:0;top:-10px;left:20px;z-index:-1;border:10px solid #ccc;border-top:none;border-right-color:transparent;border-left-color:transparent}.popover .popover-arrow:after{content:"";position:absolute;top:2px;right:-10px;border:10px solid #fff;border-top:none;border-right-color:transparent;border-left-color:transparent}.popover .popover-inner{text-align:right}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:12.8px;font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;left:0;top:0}.plugin-ratings .reviews-link:after{content:"\f341";font-family:dashicons;padding-right:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:25px;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:16px 0;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:16px;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:-webkit-calc(100% - 130px);width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-right:3px}.home .widget,.widget-area.home .widget{display:inline-block;font-size:12.8px;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-left:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-left:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0}.plugin-support{font-size:12.8px;font-size:.8rem}.plugin-support .counter-container{margin-bottom:16px;margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:10.24px;font-size:.64rem;right:8px;position:absolute;top:8px;width:100%;width:-webkit-calc(100% - 8px);width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}
\ No newline at end of file
+[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-right:-2%}@media (max-width:768px){.row.gutters>.row{margin-right:0}}.row.gutters>.row>[class*=col-]{margin-right:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-right:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-right:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-right:16.6666666667%}.col-3{width:25%}.offset-3{margin-right:25%}.col-4{width:33.3333333333%}.offset-4{margin-right:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-right:41.6666666667%}.col-6{width:50%}.offset-6{margin-right:50%}.col-7{width:58.3333333333%}.offset-7{margin-right:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-right:66.6666666667%}.col-9{width:75%}.offset-9{margin-right:75%}.col-10{width:83.3333333333%}.offset-10{margin-right:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-right:91.6666666667%}.col-12{width:100%}.offset-12{margin-right:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-right:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-right:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-right:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-right:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-right:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-right:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-right:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-right:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-right:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-right:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-right:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-right:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-right:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-right:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-left:auto}.gutters .column.push-right,.push-right{margin-right:auto}.gutters .column.push-center,.push-center{margin-right:auto;margin-left:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-right:0}.gutters .column.push-center-sm,.push-center-sm{margin-right:auto;margin-left:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:left}.float-left{float:right}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;right:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{margin-bottom:25.6px;margin-bottom:1.6rem;padding:25.6px;padding:1.6rem}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em;word-wrap:normal}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{font-size:12.8px;font-size:.8rem;color:#0073aa;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-left:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px -4px 0 0}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.avatar{-webkit-border-radius:50%;border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:12.8px;font-size:.8rem;padding:8px;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{color:#111}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 0 0 4px;min-width:16px;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-left:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px -4px 0 0}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{width:6px;height:6px;margin:4px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll.neverending .site-footer,.infinite-scroll .posts-navigation{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:16px 0;margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 32px;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:right;padding:8px 0;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}}@media screen and (min-width:48em){.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-right:1em}.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:left}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;-webkit-transition:right .3s;transition:right .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin-right:auto;margin-left:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.archive .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.archive .page-header{margin:32px 0;margin:2rem 0}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 76.293px;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:48.828px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{position:relative}.plugin-section .section-title{font-size:25px;font-size:1.5625rem;font-weight:400;margin-bottom:48px;margin-bottom:3rem}.plugin-section .section-link{font-size:16px;font-size:1rem;position:absolute;left:0;top:11.2px;top:.7rem}.page .entry-header{margin-top:32px;margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:25px;font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:25px;font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:32px 0;padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-left:4%;width:48%}.plugin-card:nth-of-type(2n){margin-left:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:-webkit-calc(96% - 128px);width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:16px;font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{font-weight:400;word-wrap:break-word}.plugin-card .entry-excerpt{font-size:12.8px;font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{font-size:11.704px;font-size:.73152rem;display:inline-block;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:16px;font-size:1rem;margin-left:6.4px;margin-left:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{margin:0 2px -16px;margin:0 2px -1rem;color:#bbb;width:auto;height:auto;display:none}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{-webkit-background-size:cover;background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 0 0 4%;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:right;height:96px;margin-left:16px;margin-left:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{-webkit-background-size:contain!important;background-size:contain!important;height:96px!important;width:96px!important}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.plugin-rating{line-height:1;margin:0 0 8px 10px}.plugin-rating .wporg-ratings{display:inline-block;margin-left:5px}.plugin-rating .rating-count{color:#999;font-size:12.8px;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}@-webkit-keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@-webkit-keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}@keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#cbcdce;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-size:20px;font-size:1.25rem;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1;margin:0;outline:none;padding:0;-webkit-transition:all .2s ease;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{-webkit-animation:c .3s infinite alternate;animation:c .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{-webkit-animation:b .3s;animation:b .3s}.plugin-banner{background-position:50% 50%;-webkit-background-size:100% 100%;background-size:100%;background-repeat:no-repeat;display:inline-block;font-size:0;line-height:0;margin:0 auto 18.288px;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}.plugin-changelog{font-size:12.8px;font-size:.8rem}.plugin-changelog code{font-size:12.8px;font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:16px;font-size:1rem;margin-left:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-left:0}.plugin-faq h2:first-of-type{font-size:20px;font-size:1.25rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase;border:none;color:#32373c;padding:0;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:16px;font-size:1rem;font-weight:600;padding:16px 0;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:left;font-family:dashicons;margin:0 16px;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.plugin-faq dd{display:none;margin:0 0 16px;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:16px;margin-top:1rem}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:32px 0 16px;margin:2rem 0 1rem;padding-bottom:16px;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 8px;margin:0 0 .5rem}.plugin-reviews .review-title{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;margin:0 0 8px;margin:0 0 .5rem;text-transform:inherit}.plugin-reviews .review-author{line-height:1.25;margin-right:10px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-left:1rem}.plugin-reviews .review{width:-webkit-calc(100% - 60px - 1rem);width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author{line-height:1}}.reviews-link{display:inline-block;font-size:12.8px;font-size:.8rem;margin-top:8px;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f341";font-family:dashicons;vertical-align:text-top;padding-right:5px;float:left;position:relative;top:1px}.image-gallery{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{display:none;font-size:48.828px;font-size:3.0517578125rem;height:100%;position:absolute;top:0;z-index:4;border-color:#eee;-webkit-transition:background .1s ease,border .1s ease;transition:background .1s ease,border .1s ease}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;opacity:.8;border:1px solid #eee}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{position:relative;font-family:dashicons}.image-gallery-content .image-gallery-left-nav{right:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f345"}.image-gallery-content .image-gallery-left-nav:hover{margin-right:-1px}.image-gallery-content .image-gallery-right-nav{left:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f341"}.image-gallery-content .image-gallery-right-nav:hover{margin-left:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{line-height:0;overflow:hidden;position:relative;white-space:nowrap;border:1px solid #eee}.image-gallery-slide{right:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;line-height:1.5;padding:10px 20px;white-space:normal;font-size:12.8px;font-size:.8rem}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{display:table-cell;margin-left:5px;border:1px solid #eee;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{-webkit-box-shadow:0 1px 8px rgba(0,0,0,.3);box-shadow:0 1px 8px rgba(0,0,0,.3)}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:rgba(0,0,0,.4);bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;left:0;z-index:4}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-slides{max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:left}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}.section h1,.section h2,.section h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:18.288px 25px;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:left}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:25px;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{list-style:none;margin:0;border-bottom:2px solid #eee}.type-plugin .tabs li{display:inline-block;margin-bottom:-2px;border:2px solid transparent;font-size:12.8px;font-size:.8rem;color:#0073aa;-webkit-transition:background .2s ease;transition:background .2s ease}.type-plugin .tabs li a{border:0;display:block;padding:10.24px 20px;padding:.64rem 1.25rem;background:#fff;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{padding-bottom:0!important;border:2px solid #eee}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;border:none;border-bottom:1px solid #eee;margin-bottom:1px}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{padding:0 25px;padding:0 1.5625rem;max-width:768px;max-width:48rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:right;padding:0;width:65%}}.type-plugin .entry-content>div{display:none;border:0}.type-plugin .entry-content>div~button{display:none;border:0}.type-plugin .entry-content a:not(.button){text-decoration:underline}.type-plugin .entry-content ol>li>p,.type-plugin .entry-content ul>li>p{margin:0}.type-plugin .entry-content #admin{display:block!important}.type-plugin .entry-meta{padding:0 25px;padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#developers:target~.tabs li#tablink-developers,.type-plugin span#installation:target~.tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.tabs li#tablink-description,.type-plugin span#reviews:target~.tabs li#tablink-reviews{border-top:2px solid #eee;border-right:2px solid #eee;border-left:2px solid #eee;border-bottom:0;padding-bottom:2px;background:#fff}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #blocks,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development{display:none}.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-right:0;padding-left:0}.type-plugin .entry-meta{float:left;width:30%}}.search-form{font-size:0;margin-bottom:32px;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;display:block;font-size:16px;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:8px;padding:.5rem;vertical-align:initial;width:363.797px;width:22.7373675443rem}.search-form .button-search{border-top:none;border-right:none;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;font-size:16px;font-size:1rem;margin:0;position:relative;left:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-left:1px solid #006799;-webkit-box-shadow:none;box-shadow:none}.search-form .button-search .dashicons{font-size:16px;font-size:1rem;vertical-align:text-bottom}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:transparent;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#32373c;display:block;height:45px;padding:8px 16px;padding:.5rem 1rem;position:absolute;left:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{-webkit-box-shadow:0 0 2px 1px #33b3db;box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:transparent;border:none;-webkit-transform:none;-ms-transform:none;transform:none}.site-header:not(.home) .search-form{margin:0;padding:16px 24px 16px 16px;padding:1rem 1.5rem 1rem 1rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;display:inline-block;font-size:16px;font-size:1rem;padding:5px 10px;position:relative;width:auto}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}.site-main .search-form .search-field{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);padding:8px;padding:.5rem;width:100%}.search .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:32px 0;margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;min-width:2em;padding:8px;display:inline-block;cursor:hand}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{width:auto;font-size:.9em;background:none}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{font-weight:700;background-color:#f7f7f7}.main-navigation{background:#0073aa;clear:both;right:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-right:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:right;right:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{right:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{right:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{right:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2)}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;padding:16px 24px 16px 16px;padding:1rem 1.5rem 1rem 1rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;left:16px;left:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:left;position:relative;width:auto;top:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-left:1rem}.main-navigation ul li:last-of-type{margin-left:0}.main-navigation a{padding:0}}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-main{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:25px;font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:568.434px;max-width:35.527136788rem;padding:0 32px;padding:0 2rem}.widget-area{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}.plugin-adopt-me{background:#e6f4fa;font-size:12.8px;font-size:.8rem;padding:12px;margin-top:36px}.plugin-adopt-me .widget-title{margin-top:0}.plugin-adopt-me p{margin-bottom:0}.committer-list,.support-rep-list{font-size:12.8px;font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:8px;padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:right;margin-left:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{content:"";display:block;width:20px;height:20px;position:absolute;left:-50%;top:50%;margin:-10px 0 0 -10px;background:url(/wp-admin/images/spinner.gif) no-repeat 50%;-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:16px;margin-bottom:1rem}.contributors-list .avatar{float:right;margin-left:10px}.plugin-meta{margin-top:32px;margin-top:2rem}.plugin-meta ul{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:8px 0;padding:.5rem 0;width:100%;position:relative}.plugin-meta li strong{float:left}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:left;text-align:left}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;-webkit-border-radius:2px;border-radius:2px;color:#000;display:inline-block;font-size:10.24px;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{display:none;position:absolute;width:100%;max-width:300px;right:0;z-index:100;padding:1em 1em 2em;margin-top:10px;background-color:#fff;border:1px solid #ccc;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.1);box-shadow:0 2px 10px rgba(0,0,0,.1)}.popover.is-top-right{right:auto;left:0}.popover.is-visible{display:block}.popover .popover-close{position:absolute;bottom:.5em;left:.6em;font-size:small;color:#0073aa}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{position:absolute;height:0;width:0;top:-10px;left:20px;z-index:-1;border:10px solid #ccc;border-top:none;border-right-color:transparent;border-left-color:transparent}.popover .popover-arrow:after{content:"";position:absolute;top:2px;right:-10px;border:10px solid #fff;border-top:none;border-right-color:transparent;border-left-color:transparent}.popover .popover-inner{text-align:right}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:12.8px;font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;left:0;top:0}.plugin-ratings .reviews-link:after{content:"\f341";font-family:dashicons;padding-right:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:25px;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:16px 0;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:16px;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:-webkit-calc(100% - 130px);width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-right:3px}.home .widget,.widget-area.home .widget{display:inline-block;font-size:12.8px;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-left:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-left:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0}.plugin-support{font-size:12.8px;font-size:.8rem}.plugin-support .counter-container{margin-bottom:16px;margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:10.24px;font-size:.64rem;right:8px;position:absolute;top:8px;width:100%;width:-webkit-calc(100% - 8px);width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style.css
index df7796e12..8502aa3d4 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/css/style.css
@@ -1 +1,2 @@
-[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;left:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{margin-bottom:25.6px;margin-bottom:1.6rem;padding:25.6px;padding:1.6rem}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em;word-wrap:normal}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{font-size:12.8px;font-size:.8rem;color:#0073aa;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-right:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px 0 0 -4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.avatar{-webkit-border-radius:50%;border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:12.8px;font-size:.8rem;padding:8px;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{color:#111}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 4px 0 0;min-width:16px;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-right:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px 0 0 -4px}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{width:6px;height:6px;margin:4px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll.neverending .site-footer,.infinite-scroll .posts-navigation{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:16px 0;margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 32px;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:left;padding:8px 0;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}}@media screen and (min-width:48em){.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-left:1em}.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;-webkit-transition:left .3s;transition:left .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.archive .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.archive .page-header{margin:32px 0;margin:2rem 0}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 76.293px;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:48.828px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{position:relative}.plugin-section .section-title{font-size:25px;font-size:1.5625rem;font-weight:400;margin-bottom:48px;margin-bottom:3rem}.plugin-section .section-link{font-size:16px;font-size:1rem;position:absolute;right:0;top:11.2px;top:.7rem}.page .entry-header{margin-top:32px;margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:25px;font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:25px;font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:32px 0;padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-right:4%;width:48%}.plugin-card:nth-of-type(2n){margin-right:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:-webkit-calc(96% - 128px);width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:16px;font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{font-weight:400;word-wrap:break-word}.plugin-card .entry-excerpt{font-size:12.8px;font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{font-size:11.704px;font-size:.73152rem;display:inline-block;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:16px;font-size:1rem;margin-right:6.4px;margin-right:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{margin:0 2px -16px;margin:0 2px -1rem;color:#bbb;width:auto;height:auto;display:none}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{-webkit-background-size:cover;background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 4% 0 0;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:left;height:96px;margin-right:16px;margin-right:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{-webkit-background-size:contain!important;background-size:contain!important;height:96px!important;width:96px!important}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.plugin-rating{line-height:1;margin:0 10px 8px 0}.plugin-rating .wporg-ratings{display:inline-block;margin-right:5px}.plugin-rating .rating-count{color:#999;font-size:12.8px;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}@-webkit-keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@-webkit-keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}@keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#cbcdce;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-size:20px;font-size:1.25rem;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1;margin:0;outline:none;padding:0;-webkit-transition:all .2s ease;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{-webkit-animation:c .3s infinite alternate;animation:c .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{-webkit-animation:b .3s;animation:b .3s}.plugin-banner{background-position:50% 50%;-webkit-background-size:100% 100%;background-size:100%;background-repeat:no-repeat;display:inline-block;font-size:0;line-height:0;margin:0 auto 18.288px;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}.plugin-changelog{font-size:12.8px;font-size:.8rem}.plugin-changelog code{font-size:12.8px;font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:16px;font-size:1rem;margin-right:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-right:0}.plugin-faq h2:first-of-type{font-size:20px;font-size:1.25rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase;border:none;color:#32373c;padding:0;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:16px;font-size:1rem;font-weight:600;padding:16px 0;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:right;font-family:dashicons;margin:0 16px;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.plugin-faq dd{display:none;margin:0 0 16px;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:16px;margin-top:1rem}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:32px 0 16px;margin:2rem 0 1rem;padding-bottom:16px;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 8px;margin:0 0 .5rem}.plugin-reviews .review-title{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;margin:0 0 8px;margin:0 0 .5rem;text-transform:inherit}.plugin-reviews .review-author{line-height:1.25;margin-left:10px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-right:1rem}.plugin-reviews .review{width:-webkit-calc(100% - 60px - 1rem);width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author{line-height:1}}.reviews-link{display:inline-block;font-size:12.8px;font-size:.8rem;margin-top:8px;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f345";font-family:dashicons;vertical-align:text-top;padding-left:5px;float:right;position:relative;top:1px}.image-gallery{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{display:none;font-size:48.828px;font-size:3.0517578125rem;height:100%;position:absolute;top:0;z-index:4;border-color:#eee;-webkit-transition:background .1s ease,border .1s ease;transition:background .1s ease,border .1s ease}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;opacity:.8;border:1px solid #eee}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{position:relative;font-family:dashicons}.image-gallery-content .image-gallery-left-nav{left:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f341"}.image-gallery-content .image-gallery-left-nav:hover{margin-left:-1px}.image-gallery-content .image-gallery-right-nav{right:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f345"}.image-gallery-content .image-gallery-right-nav:hover{margin-right:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{line-height:0;overflow:hidden;position:relative;white-space:nowrap;border:1px solid #eee}.image-gallery-slide{left:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;line-height:1.5;padding:10px 20px;white-space:normal;font-size:12.8px;font-size:.8rem}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{display:table-cell;margin-right:5px;border:1px solid #eee;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{-webkit-box-shadow:0 1px 8px rgba(0,0,0,.3);box-shadow:0 1px 8px rgba(0,0,0,.3)}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:rgba(0,0,0,.4);bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;right:0;z-index:4}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-slides{max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:right}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}.section h1,.section h2,.section h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:18.288px 25px;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:right}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:25px;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{list-style:none;margin:0;border-bottom:2px solid #eee}.type-plugin .tabs li{display:inline-block;margin-bottom:-2px;border:2px solid transparent;font-size:12.8px;font-size:.8rem;color:#0073aa;-webkit-transition:background .2s ease;transition:background .2s ease}.type-plugin .tabs li a{border:0;display:block;padding:10.24px 20px;padding:.64rem 1.25rem;background:#fff;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{padding-bottom:0!important;border:2px solid #eee}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;border:none;border-bottom:1px solid #eee;margin-bottom:1px}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{padding:0 25px;padding:0 1.5625rem;max-width:768px;max-width:48rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:left;padding:0;width:65%}}.type-plugin .entry-content>div{display:none;border:0}.type-plugin .entry-content>div~button{display:none;border:0}.type-plugin .entry-content a:not(.button){text-decoration:underline}.type-plugin .entry-content #admin{display:block!important}.type-plugin .entry-meta{padding:0 25px;padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#developers:target~.tabs li#tablink-developers,.type-plugin span#installation:target~.tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.tabs li#tablink-description,.type-plugin span#reviews:target~.tabs li#tablink-reviews{border-top:2px solid #eee;border-left:2px solid #eee;border-right:2px solid #eee;border-bottom:0;padding-bottom:2px;background:#fff}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development{display:none}.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-left:0;padding-right:0}.type-plugin .entry-meta{float:right;width:30%}}.search-form{font-size:0;margin-bottom:32px;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;display:block;font-size:16px;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:8px;padding:.5rem;vertical-align:initial;width:363.797px;width:22.7373675443rem}.search-form .button-search{border-top:none;border-left:none;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;font-size:16px;font-size:1rem;margin:0;position:relative;right:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-right:1px solid #006799;-webkit-box-shadow:none;box-shadow:none}.search-form .button-search .dashicons{font-size:16px;font-size:1rem;vertical-align:text-bottom}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:transparent;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#32373c;display:block;height:45px;padding:8px 16px;padding:.5rem 1rem;position:absolute;right:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{-webkit-box-shadow:0 0 2px 1px #33b3db;box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:transparent;border:none;-webkit-transform:none;-ms-transform:none;transform:none}.site-header:not(.home) .search-form{margin:0;padding:16px 16px 16px 24px;padding:1rem 1rem 1rem 1.5rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;display:inline-block;font-size:16px;font-size:1rem;padding:5px 10px;position:relative;width:auto}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}.site-main .search-form .search-field{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);padding:8px;padding:.5rem;width:100%}.search .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:32px 0;margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;min-width:2em;padding:8px;display:inline-block;cursor:hand}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{width:auto;font-size:.9em;background:none}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{font-weight:700;background-color:#f7f7f7}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;left:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2)}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;padding:16px 16px 16px 24px;padding:1rem 1rem 1rem 1.5rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;right:16px;right:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:relative;width:auto;top:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem}.main-navigation ul li:last-of-type{margin-right:0}.main-navigation a{padding:0}}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-main{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:25px;font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:568.434px;max-width:35.527136788rem;padding:0 32px;padding:0 2rem}.widget-area{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}.committer-list,.support-rep-list{font-size:12.8px;font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:8px;padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:left;margin-right:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{content:"";display:block;width:20px;height:20px;position:absolute;right:-50%;top:50%;margin:-10px -10px 0 0;background:url(/wp-admin/images/spinner.gif) no-repeat 50%;-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:16px;margin-bottom:1rem}.contributors-list .avatar{float:left;margin-right:10px}.plugin-meta{margin-top:32px;margin-top:2rem}.plugin-meta ul{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:8px 0;padding:.5rem 0;width:100%;position:relative}.plugin-meta li strong{float:right}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:right;text-align:right}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;-webkit-border-radius:2px;border-radius:2px;color:#000;display:inline-block;font-size:10.24px;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{display:none;position:absolute;width:100%;max-width:300px;left:0;z-index:100;padding:1em 1em 2em;margin-top:10px;background-color:#fff;border:1px solid #ccc;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.1);box-shadow:0 2px 10px rgba(0,0,0,.1)}.popover.is-top-right{left:auto;right:0}.popover.is-visible{display:block}.popover .popover-close{position:absolute;bottom:.5em;right:.6em;font-size:small;color:#0073aa}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{position:absolute;height:0;width:0;top:-10px;right:20px;z-index:-1;border:10px solid #ccc;border-top:none;border-left-color:transparent;border-right-color:transparent}.popover .popover-arrow:after{content:"";position:absolute;top:2px;left:-10px;border:10px solid #fff;border-top:none;border-left-color:transparent;border-right-color:transparent}.popover .popover-inner{text-align:left}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:12.8px;font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;right:0;top:0}.plugin-ratings .reviews-link:after{content:"\f345";font-family:dashicons;padding-left:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:25px;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:16px 0;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:16px;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:-webkit-calc(100% - 130px);width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-left:3px}.home .widget,.widget-area.home .widget{display:inline-block;font-size:12.8px;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-right:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-right:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0}.plugin-support{font-size:12.8px;font-size:.8rem}.plugin-support .counter-container{margin-bottom:16px;margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:10.24px;font-size:.64rem;left:8px;position:absolute;top:8px;width:100%;width:-webkit-calc(100% - 8px);width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}
\ No newline at end of file
+[class*=col-]{margin:inherit}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:768px){.row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.row.gutters>.row{margin-left:-2%}@media (max-width:768px){.row.gutters>.row{margin-left:0}}.row.gutters>.row>[class*=col-]{margin-left:2%}@media (max-width:768px){.row.gutters>.row>[class*=col-]{margin-left:0}}.row.around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.row.between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row.auto .col{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.col-12{width:100%}.offset-12{margin-left:100%}.gutters>.col-1{width:6.33333%}.gutters>.col-1:nth-child(n+13){margin-top:2%}.gutters>.offset-1{margin-left:10.33333%!important}.gutters>.col-2{width:14.66667%}.gutters>.col-2:nth-child(n+7){margin-top:2%}.gutters>.offset-2{margin-left:18.66667%!important}.gutters>.col-3{width:23%}.gutters>.col-3:nth-child(n+5){margin-top:2%}.gutters>.offset-3{margin-left:27%!important}.gutters>.col-4{width:31.33333%}.gutters>.col-4:nth-child(n+4){margin-top:2%}.gutters>.offset-4{margin-left:35.33333%!important}.gutters>.col-5{width:39.66667%}.gutters>.offset-5{margin-left:43.66667%!important}.gutters>.col-6{width:48%}.gutters>.col-6:nth-child(n+3){margin-top:2%}.gutters>.offset-6{margin-left:52%!important}.gutters>.col-7{width:56.33333%}.gutters>.offset-7{margin-left:60.33333%!important}.gutters>.col-8{width:64.66667%}.gutters>.offset-8{margin-left:68.66667%!important}.gutters>.col-9{width:73%}.gutters>.offset-9{margin-left:77%!important}.gutters>.col-10{width:81.33333%}.gutters>.offset-10{margin-left:85.33333%!important}.gutters>.col-11{width:89.66667%}.gutters>.offset-11{margin-left:93.66667%!important}.gutters>.col-12{width:98%}.gutters>.offset-12{margin-left:102%!important}@media (max-width:768px){[class*=" offset-"],[class^=offset-]{margin-left:0}}.first{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (max-width:768px){.row [class*=col-]{margin-left:0;width:100%}.row.gutters [class*=col-]{margin-bottom:16px}.first-sm{-webkit-box-ordinal-group:0;-webkit-order:-1;-moz-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-webkit-order:1;-moz-box-ordinal-group:2;-ms-flex-order:1;order:1}}.gutters .column.push-left,.push-left{margin-right:auto}.gutters .column.push-right,.push-right{margin-left:auto}.gutters .column.push-center,.push-center{margin-left:auto;margin-right:auto}.gutters .column.push-middle,.push-middle{margin-top:auto;margin-bottom:auto}.push-bottom{margin-top:auto}@media (max-width:768px){.gutters .column.push-left-sm,.push-left-sm{margin-left:0}.gutters .column.push-center-sm,.push-center-sm{margin-left:auto;margin-right:auto}.push-top-sm{margin-top:0}}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:768px){.align-left-sm{-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.float-right{float:right}.float-left{float:left}@media (max-width:768px){.float-right{float:none}.float-left{float:none}}.fixed{position:fixed;top:0;left:0;z-index:100;width:100%}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{margin-bottom:25.6px;margin-bottom:1.6rem;padding:25.6px;padding:1.6rem}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}cite,dfn,em,i{font-style:italic}blockquote{margin:0 1.5em}address{margin:0 0 1.5em}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em;word-wrap:normal}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}h1.title{font-size:12.8px;font-size:.8rem;color:#0073aa;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-right:-1px;z-index:10}.button-group>.button-primary{z-index:100}.button-group>.button:hover{z-index:20}.button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.committer-list li:after,.committer-list li:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.plugin-meta:after,.plugin-meta:before,.plugin-upload-form .category-checklist:after,.plugin-upload-form .category-checklist:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before,.support-rep-list li:after,.support-rep-list li:before,.type-plugin .plugin-header:after,.type-plugin .plugin-header:before,.type-plugin:after,.type-plugin:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.committer-list li:after,.entry-content:after,.home-below:after,.plugin-meta:after,.plugin-upload-form .category-checklist:after,.site-content:after,.site-footer:after,.site-header:after,.support-rep-list li:after,.type-plugin .plugin-header:after,.type-plugin:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=number]{height:28px}input[type=checkbox],input[type=radio]{height:16px;outline:0;width:16px}input[type=checkbox]:checked:before{margin:-3px 0 0 -4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{height:6px;margin:4px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input,select,textarea{font-size:14px;padding:3px 5px}textarea.code{line-height:1.4;padding:4px 6px 1px}label{vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.avatar{-webkit-border-radius:50%;border-radius:50%;vertical-align:middle}.locale-banner{background:#c7e8ca;font-size:12.8px;font-size:.8rem;padding:8px;padding:.5rem;text-align:center}@media (min-width:67rem){.locale-banner{margin:1rem auto;max-width:960px}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{color:#111}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{padding:6px 10px}input[type=number]{height:40px;line-height:inherit}input[type=checkbox],input[type=radio]{-webkit-appearance:none;background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:25px;line-height:0;margin:-4px 4px 0 0;min-width:16px;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:25px}input[type=checkbox]{padding:10px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-right:4px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";font:normal 30px/1 dashicons;margin:-3px -5px}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:9px;line-height:16px;margin:7px;text-indent:-9999px;vertical-align:middle;width:9px}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:16px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}input[type=file]{padding:3px 0}label{cursor:pointer}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}fieldset label,label{vertical-align:middle}@media screen and (min-width:737px){input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{padding:3px 5px}input[type=number]{height:28px}input[type=checkbox]{padding:0}input[type=checkbox]:checked:before{font:normal 21px/1 dashicons;margin:-3px 0 0 -4px}input[type=checkbox],input[type=radio]{height:16px;width:16px}input[type=radio]:checked:before{width:6px;height:6px;margin:4px}input,select,textarea{font-size:14px;padding:3px 5px}}.infinite-scroll.neverending .site-footer,.infinite-scroll .posts-navigation{display:none}.infinity-end.neverending .site-footer{display:block}.notice{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.plugin-upload-form fieldset{border:none;margin:0;padding:0}.plugin-upload-form legend{margin:16px 0;margin:1rem 0}.plugin-upload-form .category-checklist{list-style-type:none;margin:0 0 32px;margin:0 0 2rem}.plugin-upload-form .category-checklist li{float:left;padding:8px 0;padding:.5rem 0;width:50%}@media screen and (min-width:48em){.plugin-upload-form .category-checklist li{padding:0}.plugin-upload-form .category-checklist label{font-size:.8rem}}@media screen and (min-width:48em){.plugin-upload-form label.button{line-height:1.8}}.plugin-upload-form .plugin-file{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-left:1em}.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.post-navigation{margin:5em auto;padding:0}.post-navigation a{border-bottom:1px solid #eaeaea;color:#444;display:block;font-weight:600;padding:11px 0 12px;text-transform:none;width:100%}.post-navigation a:hover{color:#21759b}.post-navigation .nav-links{border-top:1px solid #eaeaea;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.post-navigation .meta-nav{color:#777;display:block;font-size:13px;line-height:2;text-transform:uppercase}.post-navigation .nav-next{text-align:right}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.widget-area{font-size:12.8px;font-size:.8rem}@media screen and (min-width:480px) and (max-width:768px){.widget-area{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.widget-area .widget{width:48%}}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;-webkit-transition:left .3s;transition:left .3s;z-index:100000}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:99999}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}.comment-content .wp-smiley,.entry-content .wp-smiley,.page-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}.wp-caption .wp-caption-text{margin:.8075em 0}.wp-caption-text{text-align:center}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.archive .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.archive .page-header{margin:32px 0;margin:2rem 0}.plugin-section{border-bottom:2px solid #eee;margin:0 auto 76.293px;margin:0 auto 4.768371582rem;max-width:960px;padding-bottom:48.828px;padding-bottom:3.0517578125rem}.plugin-section:last-of-type{margin-bottom:0}.plugin-section .section-header{position:relative}.plugin-section .section-title{font-size:25px;font-size:1.5625rem;font-weight:400;margin-bottom:48px;margin-bottom:3rem}.plugin-section .section-link{font-size:16px;font-size:1rem;position:absolute;right:0;top:11.2px;top:.7rem}.page .entry-header{margin-top:32px;margin-top:2rem}@media screen and (min-width:737px){.page .entry-header{padding:0 2rem}}.page .entry-header .entry-title{font-size:25px;font-size:1.5625rem;font-weight:400}@media screen and (min-width:737px){.page .entry-content{padding:0 2rem}}.page .entry-content h2{font-size:25px;font-size:1.5625rem;font-weight:400}.page .entry-content h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.page .entry-content section{padding:32px 0;padding:2rem 0}.page .entry-content section:first-of-type{padding-top:0}.page .entry-content section+section{border-top:2px solid #eee}.plugin-card{background-color:#f9f9f9;margin-bottom:4%;padding:15px 15px 8px;vertical-align:top}@media screen and (min-width:737px){.plugin-card{display:inline-block;margin-right:4%;width:48%}.plugin-card:nth-of-type(2n){margin-right:0}}.plugin-card .entry{display:inline-block;margin:auto;vertical-align:top}@media screen and (min-width:21em){.plugin-card .entry{width:-webkit-calc(96% - 128px);width:calc(96% - 128px)}}.plugin-card .entry-title{font-size:16px;font-size:1rem;line-height:1.3;margin:0 0 8px}.plugin-card .entry-title a{font-weight:400;word-wrap:break-word}.plugin-card .entry-excerpt{font-size:12.8px;font-size:.8rem}.plugin-card .entry-excerpt p{margin:0}.plugin-card hr{background-color:#fff;margin:15px -15px 8px}.plugin-card footer span{font-size:11.704px;font-size:.73152rem;display:inline-block;overflow:hidden;white-space:nowrap}.plugin-card footer span i{display:inline-block;font-size:16px;font-size:1rem;margin-right:6.4px;margin-right:.4rem}.plugin-card footer span.last-updated{display:none}.plugin-card footer span.plugin-author{width:100%}.plugin-card footer span.active-installs{min-width:48%}.plugin-card footer .dashicons{margin:0 2px -16px;margin:0 2px -1rem;color:#bbb;width:auto;height:auto;display:none}@media (min-width:414px){.plugin-card footer .dashicons{display:inline-block}}.entry-thumbnail{display:none;max-width:128px}.entry-thumbnail .plugin-icon{-webkit-background-size:cover;background-size:cover;height:128px;width:128px}@media screen and (min-width:21em){.entry-thumbnail{display:inline-block;margin:0 4% 0 0;vertical-align:top}.entry-thumbnail a{display:block}}.single .entry-thumbnail{display:none;float:left;height:96px;margin-right:16px;margin-right:1rem;width:96px}@media screen and (min-width:26em){.single .entry-thumbnail{display:block}}.single .entry-thumbnail .plugin-icon{-webkit-background-size:contain!important;background-size:contain!important;height:96px!important;width:96px!important}[class*=dashicons-star-]{color:#ffb900}.rtl .dashicons-star-half{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.plugin-rating{line-height:1;margin:0 10px 8px 0}.plugin-rating .wporg-ratings{display:inline-block;margin-right:5px}.plugin-rating .rating-count{color:#999;font-size:12.8px;font-size:.8rem}.site-main.single .plugin-rating .rating-count{display:none}.plugin-rating .rating-count a{color:inherit;cursor:hand;text-decoration:none}@-webkit-keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@keyframes b{0%{opacity:1;font-size:1rem;-webkit-text-stroke-color:transparent}25%{opacity:.6;color:#fff;font-size:.8rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}75%{opacity:.6;color:#fff;font-size:1.42875rem;-webkit-text-stroke-width:1px;-webkit-text-stroke-color:#dc3232}to{opacity:1;font-size:1.25rem;-webkit-text-stroke-color:transparent}}@-webkit-keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}@keyframes c{0%{font-size:1.42875rem}80%{font-size:1.25rem}}.plugin-favorite{height:36px;text-align:center;vertical-align:top;width:36px}.plugin-favorite .plugin-favorite-heart{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#cbcdce;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-size:20px;font-size:1.25rem;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1;margin:0;outline:none;padding:0;-webkit-transition:all .2s ease;transition:all .2s ease}.plugin-favorite .plugin-favorite-heart.favorited{color:#dc3232}.plugin-favorite .plugin-favorite-heart:hover{-webkit-animation:c .3s infinite alternate;animation:c .3s infinite alternate}.plugin-favorite .plugin-favorite-heart:focus{outline:thin dotted}.plugin-favorite .plugin-favorite-heart:focus,.plugin-favorite .plugin-favorite-heart:hover{text-decoration:none}.plugin-favorite .plugin-favorite-heart:after{content:"\f487";font-family:dashicons;vertical-align:top}.plugin-favorite .plugin-favorite-heart.is-animating{-webkit-animation:b .3s;animation:b .3s}.plugin-banner{background-position:50% 50%;-webkit-background-size:100% 100%;background-size:100%;background-repeat:no-repeat;display:inline-block;font-size:0;line-height:0;margin:0 auto 18.288px;margin:0 auto 1.143rem;padding-top:32.38342%;vertical-align:middle;width:100%}@media screen and (min-width:60em){.plugin-banner{margin-top:1.5625rem}}.plugin-changelog{font-size:12.8px;font-size:.8rem}.plugin-changelog code{font-size:12.8px;font-size:.8rem}.plugin-changelog h4{margin-top:0}.plugin-developers .contributors-list{font-size:0}.plugin-developers .contributors-list li{display:inline-block;font-size:16px;font-size:1rem;margin-right:4%;vertical-align:top;width:48%}.plugin-developers .contributors-list li:nth-of-type(2n){margin-right:0}.plugin-faq h2:first-of-type{font-size:20px;font-size:1.25rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase;border:none;color:#32373c;padding:0;text-transform:inherit}.plugin-faq dl{border-bottom:1px solid #eee}.plugin-faq dt{border-top:1px solid #eee;cursor:pointer;font-size:16px;font-size:1rem;font-weight:600;padding:16px 0;padding:1rem 0}.plugin-faq dt:before{content:"\f347";float:right;font-family:dashicons;margin:0 16px;margin:0 1rem}.plugin-faq dt.open:before{content:"\f343"}.plugin-faq dt .button-link{display:inherit;text-align:inherit}.plugin-faq dt .button-link.no-focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.plugin-faq dd{display:none;margin:0 0 16px;margin:0 0 1rem}.no-js .plugin-faq dd{display:block}.plugin-faq dd p{margin:0}.plugin-faq dd p+p{margin-top:16px;margin-top:1rem}.plugin-reviews{list-style-type:none;margin:0;padding:0}.plugin-reviews .plugin-review{border-bottom:2px solid #eee;margin:32px 0 16px;margin:2rem 0 1rem;padding-bottom:16px;padding-bottom:1rem}.plugin-reviews .plugin-review:first-child{margin-top:0}.plugin-reviews .review-avatar{display:none}.plugin-reviews .review,.plugin-reviews .review-author,.plugin-reviews .wporg-ratings{display:inline-block;vertical-align:top}.plugin-reviews .review-header{margin:0 0 8px;margin:0 0 .5rem}.plugin-reviews .review-title{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;margin:0 0 8px;margin:0 0 .5rem;text-transform:inherit}.plugin-reviews .review-author{line-height:1.25;margin-left:10px}@media screen and (min-width:737px){.plugin-reviews .review-avatar{display:inline-block;vertical-align:top}.plugin-reviews .review-avatar .avatar{margin-right:1rem}.plugin-reviews .review{width:-webkit-calc(100% - 60px - 1rem);width:calc(100% - 60px - 1rem)}.plugin-reviews .review-header{margin:0}.plugin-reviews .review-author{line-height:1}}.reviews-link{display:inline-block;font-size:12.8px;font-size:.8rem;margin-top:8px;margin-top:.5rem;text-decoration:none}.reviews-link:after{content:"\f345";font-family:dashicons;vertical-align:text-top;padding-left:5px;float:right;position:relative;top:1px}.image-gallery{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.image-gallery-content{position:relative}.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{display:none;font-size:48.828px;font-size:3.0517578125rem;height:100%;position:absolute;top:0;z-index:4;border-color:#eee;-webkit-transition:background .1s ease,border .1s ease;transition:background .1s ease,border .1s ease}@media (max-width:768px){.image-gallery-content .image-gallery-left-nav,.image-gallery-content .image-gallery-right-nav{font-size:3.4em}}@media (min-width:768px){.image-gallery-content .image-gallery-left-nav:hover,.image-gallery-content .image-gallery-right-nav:hover{background:#fff;opacity:.8;border:1px solid #eee}}.image-gallery-content .image-gallery-left-nav:before,.image-gallery-content .image-gallery-right-nav:before{position:relative;font-family:dashicons}.image-gallery-content .image-gallery-left-nav{left:0}.image-gallery-content .image-gallery-left-nav:before{content:"\f341"}.image-gallery-content .image-gallery-left-nav:hover{margin-left:-1px}.image-gallery-content .image-gallery-right-nav{right:0}.image-gallery-content .image-gallery-right-nav:before{content:"\f345"}.image-gallery-content .image-gallery-right-nav:hover{margin-right:-1px}.image-gallery-content:hover .image-gallery-left-nav,.image-gallery-content:hover .image-gallery-right-nav{display:block}.image-gallery-slides{line-height:0;overflow:hidden;position:relative;white-space:nowrap;border:1px solid #eee}.image-gallery-slide{left:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{margin:0}.image-gallery-slide img{display:block;margin:0 auto}.image-gallery-slide .image-gallery-description{background:#f5f5f5;color:#32373c;line-height:1.5;padding:10px 20px;white-space:normal;font-size:12.8px;font-size:.8rem}@media (max-width:768px){.image-gallery-slide .image-gallery-description{font-size:.8rem;padding:8px 15px}}.image-gallery-thumbnails{background:#fff;margin-top:5px}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{display:table-cell;margin-right:5px;border:1px solid #eee;max-height:100px;overflow:hidden}.image-gallery-thumbnail .image-gallery-image{margin:0}.image-gallery-thumbnail img{vertical-align:middle;width:100px}@media (max-width:768px){.image-gallery-thumbnail img{width:75px}}.image-gallery-thumbnail:hover{-webkit-box-shadow:0 1px 8px rgba(0,0,0,.3);box-shadow:0 1px 8px rgba(0,0,0,.3)}.image-gallery-thumbnail.active{border:1px solid #337ab7}.image-gallery-thumbnail-label{color:#222;font-size:1em}@media (max-width:768px){.image-gallery-thumbnail-label{font-size:.8em}}.image-gallery-index{background:rgba(0,0,0,.4);bottom:0;color:#fff;line-height:1;padding:10px 20px;position:absolute;right:0;z-index:4}.plugin-screenshots{list-style-type:none;margin:0;padding:0}.plugin-screenshots h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.plugin-screenshots .image-gallery-slides{max-height:600px}.plugin-screenshots .image-gallery-image img{max-height:550px}.plugin-screenshots .image-gallery-thumbnail{vertical-align:top}.plugin-screenshots .image-gallery-thumbnail img{max-height:100px}.plugin-screenshots .image-gallery-thumbnails{overflow:hidden}.download-history-stats td{text-align:right}.previous-versions{max-width:60%}@media screen and (min-width:737px){.previous-versions{height:30px;vertical-align:top}}.section h1,.section h2,.section h3{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}.section h1:nth-child(2),.section h2:nth-child(2),.section h3:nth-child(2){margin-top:0}.section h4,.section h5,.section h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;letter-spacing:.05rem;text-transform:uppercase}.section h4:nth-child(2),.section h5:nth-child(2),.section h6:nth-child(2){margin-top:0}.section h2:first-of-type{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0;text-transform:inherit}.type-plugin .plugin-notice{margin-top:0}.type-plugin .plugin-header{border-bottom:0;padding:18.288px 25px;padding:1.143rem 1.5625rem}.type-plugin .plugin-header .plugin-actions{float:right}.type-plugin .plugin-header .plugin-actions div{display:inline-block;text-align:center}.type-plugin .plugin-header .plugin-title{clear:none;font-size:25px;font-size:1.5625rem;font-weight:400;margin:0}.type-plugin .plugin-header .plugin-title a{color:inherit;text-decoration:none}.type-plugin .plugin-header .byline{color:#78848f}.type-plugin .plugin-banner+.plugin-header{padding-top:0}.type-plugin .tabs{list-style:none;margin:0;border-bottom:2px solid #eee}.type-plugin .tabs li{display:inline-block;margin-bottom:-2px;border:2px solid transparent;font-size:12.8px;font-size:.8rem;color:#0073aa;-webkit-transition:background .2s ease;transition:background .2s ease}.type-plugin .tabs li a{border:0;display:block;padding:10.24px 20px;padding:.64rem 1.25rem;background:#fff;text-decoration:none}.type-plugin .tabs li a.active,.type-plugin .tabs li a:hover{background:#eee}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{padding-bottom:0!important;border:2px solid #eee}@media screen and (max-width:34em){.type-plugin .tabs{border-top:2px solid #eee}.type-plugin .tabs li{display:block;border:none;border-bottom:1px solid #eee;margin-bottom:1px}.type-plugin .tabs li.active,.type-plugin .tabs li:hover{border:none;border-bottom:1px solid #eee}}.type-plugin .entry-content{padding:0 25px;padding:0 1.5625rem;max-width:768px;max-width:48rem}@media screen and (min-width:737px){.type-plugin .entry-content{float:left;padding:0;width:65%}}.type-plugin .entry-content>div{display:none;border:0}.type-plugin .entry-content>div~button{display:none;border:0}.type-plugin .entry-content a:not(.button){text-decoration:underline}.type-plugin .entry-content ol>li>p,.type-plugin .entry-content ul>li>p{margin:0}.type-plugin .entry-content #admin{display:block!important}.type-plugin .entry-meta{padding:0 25px;padding:0 1.5625rem}.type-plugin span#description,.type-plugin span#developers,.type-plugin span#installation,.type-plugin span#reviews{position:fixed}.type-plugin span#developers:target~.tabs li#tablink-developers,.type-plugin span#installation:target~.tabs li#tablink-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.tabs li#tablink-description,.type-plugin span#reviews:target~.tabs li#tablink-reviews{border-top:2px solid #eee;border-left:2px solid #eee;border-right:2px solid #eee;border-bottom:0;padding-bottom:2px;background:#fff}.type-plugin span#developers:target~.entry-content #tab-changelog,.type-plugin span#developers:target~.entry-content #tab-developers,.type-plugin span#developers:target~.entry-content #tab-developers .plugin-development,.type-plugin span#developers:target~.entry-content #tab-developers~button,.type-plugin span#installation:target~.entry-content #tab-installation,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #blocks,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #faq,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #screenshots,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-description,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers~button,.type-plugin span#reviews:target~.entry-content #tab-reviews{display:block}.type-plugin span#developers:target~.entry-content #tab-developers .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-content #tab-developers .plugin-development{display:none}.type-plugin span#installation:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:not(:target)~span#installation:not(:target)~span#developers:not(:target)~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-contributors,.type-plugin span#reviews:target~.entry-meta .plugin-donate,.type-plugin span#reviews:target~.entry-meta .plugin-meta,.type-plugin span#reviews:target~.entry-meta .plugin-support{display:none}@media screen and (min-width:737px){.type-plugin .entry-content,.type-plugin .entry-meta,.type-plugin .plugin-header{padding-left:0;padding-right:0}.type-plugin .entry-meta{float:right;width:30%}}.search-form{font-size:0;margin-bottom:32px;margin-bottom:2rem;max-width:100%;position:relative}.search-form .search-field{-webkit-appearance:none;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;display:block;font-size:16px;font-size:1rem;line-height:1.5;margin:0 auto;max-width:100%;padding:8px;padding:.5rem;vertical-align:initial;width:363.797px;width:22.7373675443rem}.search-form .button-search{border-top:none;border-left:none;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;font-size:16px;font-size:1rem;margin:0;position:relative;right:auto;top:auto;vertical-align:top}.search-form .button-search:active{background:#006799;border-right:1px solid #006799;-webkit-box-shadow:none;box-shadow:none}.search-form .button-search .dashicons{font-size:16px;font-size:1rem;vertical-align:text-bottom}.site-header .search-form{display:inline-block}.site-header.home .search-form .button-search,.site-main .search-form .button-search{background:transparent;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#32373c;display:block;height:45px;padding:8px 16px;padding:.5rem 1rem;position:absolute;right:0;text-shadow:none;top:0}.site-header.home .search-form .button-search:focus,.site-main .search-form .button-search:focus{-webkit-box-shadow:0 0 2px 1px #33b3db;box-shadow:0 0 2px 1px #33b3db}.site-header.home .search-form .button-search:active,.site-main .search-form .button-search:active{background:transparent;border:none;-webkit-transform:none;-ms-transform:none;transform:none}.site-header:not(.home) .search-form{margin:0;padding:16px 16px 16px 24px;padding:1rem 1rem 1rem 1.5rem}@media screen and (min-width:737px){.site-header:not(.home) .search-form{padding:0}}.site-header:not(.home) .search-form .search-field{border:0;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;display:inline-block;font-size:16px;font-size:1rem;padding:5px 10px;position:relative;width:auto}@media screen and (min-width:737px){.site-header:not(.home) .search-form .search-field{font-size:.64rem;width:7rem}.site-header:not(.home) .search-form .search-field+.button-search{display:inline-block;margin-bottom:0}}@media screen and (min-width:60em){.site-header:not(.home) .search-form .search-field{width:10rem}}.site-main .search-form .search-field{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);padding:8px;padding:.5rem;width:100%}.search .site-main{margin-top:32px;margin-top:2rem;padding-top:0}.search.search-results .page-header{margin:32px 0;margin:2rem 0}.site-content{max-width:none;padding:0}nav .nav-links{text-align:center}nav .nav-links .page-numbers{background-color:#f9f9f9;min-width:2em;padding:8px;display:inline-block;cursor:hand}nav .nav-links .page-numbers.dots,nav .nav-links .page-numbers.next,nav .nav-links .page-numbers.prev{width:auto;font-size:.9em;background:none}nav .nav-links .page-numbers.dots{cursor:inherit}nav .nav-links span.page-numbers{font-weight:700;background-color:#f7f7f7}.main-navigation{background:#0073aa;clear:both;left:0;position:absolute;top:60px;width:100%;z-index:1}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation ul ul{-webkit-box-shadow:0 3px 3px rgba(0,0,0,.2);box-shadow:0 3px 3px rgba(0,0,0,.2);float:left;left:-999em;position:absolute;top:1.5em;z-index:99999}.main-navigation ul ul ul{left:-999em;top:0}.main-navigation ul ul li.focus>ul,.main-navigation ul ul li:hover>ul{left:100%}.main-navigation ul ul a{width:200px}.main-navigation ul li.focus>ul,.main-navigation ul li:hover>ul{left:auto}.main-navigation li{border-top:1px solid hsla(0,0%,100%,.2)}.main-navigation a{color:hsla(0,0%,100%,.8);display:block;font-size:12.8px;font-size:.8rem;padding:16px 16px 16px 24px;padding:1rem 1rem 1rem 1.5rem;text-decoration:none}.main-navigation a.active,.main-navigation a:hover{color:#fff}@media screen and (min-width:737px){.main-navigation a.active{border-bottom:1px solid}}.main-navigation.toggled ul{display:block}.menu-toggle{background:transparent;border:none;color:#fff;font-size:25px;font-size:1.5625rem;height:56px;height:3.5rem;overflow:hidden;position:absolute;right:16px;right:1rem;top:-58px;width:56px;width:3.5rem;-webkit-appearance:none}.toggled .menu-toggle:before{content:"\f343"}@media screen and (min-width:737px){.menu-toggle{display:none}.main-navigation{float:right;position:relative;width:auto;top:auto}.main-navigation.toggled{padding:1px 0}.main-navigation ul{display:inline-block;font-size:0}.main-navigation ul li{border:0;display:inline-block;font-size:1rem;margin-right:1rem}.main-navigation ul li:last-of-type{margin-right:0}.main-navigation a{padding:0}}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300;text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-main{margin:0 auto;max-width:960px;padding:48.828px 25px;padding:3.0517578125rem 1.5625rem}@media screen and (min-width:737px){.site-main{padding:3.0517578125rem 10px}}.single .site-main,.site-main.single{padding:0}@media screen and (min-width:737px){.single .site-main,.site-main.single{padding:0 10px 3.0517578125rem}}.page .site-main,.site-main.page{padding-top:0}.site-main .page-title{font-size:25px;font-size:1.5625rem;font-weight:400}.site-main .no-results{margin:0 auto;max-width:568.434px;max-width:35.527136788rem;padding:0 32px;padding:0 2rem}.widget-area{margin:0 auto;max-width:960px;padding:0 25px 48.828px;padding:0 1.5625rem 3.0517578125rem}@media screen and (min-width:737px){.widget-area{padding:0 10px 3.0517578125rem}}.plugin-adopt-me{background:#e6f4fa;font-size:12.8px;font-size:.8rem;padding:12px;margin-top:36px}.plugin-adopt-me .widget-title{margin-top:0}.plugin-adopt-me p{margin-bottom:0}.committer-list,.support-rep-list{font-size:12.8px;font-size:.8rem;list-style:none;margin:0}.committer-list li,.support-rep-list li{padding-bottom:8px;padding-bottom:.5rem}.committer-list li .remove,.support-rep-list li .remove{color:red;visibility:hidden}.committer-list li:hover .remove,.support-rep-list li:hover .remove{visibility:visible}.committer-list .avatar,.support-rep-list .avatar{float:left;margin-right:10px}.committer-list .spinner,.support-rep-list .spinner{position:relative}.committer-list .spinner:after,.support-rep-list .spinner:after{content:"";display:block;width:20px;height:20px;position:absolute;right:-50%;top:50%;margin:-10px -10px 0 0;background:url(/wp-admin/images/spinner.gif) no-repeat 50%;-webkit-background-size:20px 20px;background-size:20px 20px;-webkit-transform:translateZ(0);transform:translateZ(0)}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi),print{.committer-list .spinner:after,.support-rep-list .spinner:after{background-image:url(/wp-admin/images/spinner-2x.gif)}}.plugin-contributors.read-more{border-bottom:2px solid #eee;max-height:200px;overflow:hidden;padding-bottom:1px}.plugin-contributors.read-more.toggled{max-height:none}.no-js .plugin-contributors.read-more{max-height:none;overflow:auto}.contributors-list{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0}.contributors-list li{margin-bottom:16px;margin-bottom:1rem}.contributors-list .avatar{float:left;margin-right:10px}.plugin-meta{margin-top:32px;margin-top:2rem}.plugin-meta ul{font-size:12.8px;font-size:.8rem;list-style-type:none;margin:0;padding:0}.plugin-meta li{border-top:1px solid #eee;display:inline-block;padding:8px 0;padding:.5rem 0;width:100%;position:relative}.plugin-meta li strong{float:right}.plugin-meta li:first-child{border-top:0}.plugin-meta .languages,.plugin-meta .tags{float:right;text-align:right}.plugin-meta .tags{width:60%}.plugin-meta .languages .popover{margin-top:8px}.plugin-meta .languages .popover-trigger{color:#0073aa;font-weight:600}.plugin-meta .languages .popover-trigger:hover{text-decoration:underline}.plugin-meta [rel=tag]{background:#eee;-webkit-border-radius:2px;border-radius:2px;color:#000;display:inline-block;font-size:10.24px;font-size:.64rem;margin:2px;max-width:95%;overflow:hidden;padding:3px 6px;position:relative;text-overflow:ellipsis;white-space:nowrap;width:auto}.plugin-meta [rel=tag]:hover{background:#f3f3f3}.plugin-meta [rel=tag]:active{background:#dfdfdf}.popover{display:none;position:absolute;width:100%;max-width:300px;left:0;z-index:100;padding:1em 1em 2em;margin-top:10px;background-color:#fff;border:1px solid #ccc;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.1);box-shadow:0 2px 10px rgba(0,0,0,.1)}.popover.is-top-right{left:auto;right:0}.popover.is-visible{display:block}.popover .popover-close{position:absolute;bottom:.5em;right:.6em;font-size:small;color:#0073aa}.popover .popover-close:active,.popover .popover-close:focus,.popover .popover-close:hover{text-decoration:underline}.popover .popover-arrow{position:absolute;height:0;width:0;top:-10px;right:20px;z-index:-1;border:10px solid #ccc;border-top:none;border-left-color:transparent;border-right-color:transparent}.popover .popover-arrow:after{content:"";position:absolute;top:2px;left:-10px;border:10px solid #fff;border-top:none;border-left-color:transparent;border-right-color:transparent}.popover .popover-inner{text-align:left}.popover .popover-inner p:first-child{margin-top:0}.popover .popover-inner p:last-child{margin-bottom:0}.plugin-ratings{font-size:12.8px;font-size:.8rem;position:relative}.plugin-ratings .reviews-link{position:absolute;right:0;top:0}.plugin-ratings .reviews-link:after{content:"\f345";font-family:dashicons;padding-left:5px;vertical-align:top}.plugin-ratings [class*=dashicons-star-]{color:#ffb900;display:inline-block;font-size:25px;font-size:1.5625rem;height:auto;margin:0;width:auto}.plugin-ratings .ratings-list{list-style-type:none;margin:16px 0;margin:1rem 0;padding:0}.plugin-ratings .ratings-list .counter-container,.plugin-ratings .ratings-list .counter-container a{text-decoration:none;width:100%}.plugin-ratings .ratings-list .counter-label{display:inline-block;min-width:65px}.plugin-ratings .ratings-list .counter-back,.plugin-ratings .ratings-list .counter-bar{display:inline-block;height:16px;height:1rem;vertical-align:middle}.plugin-ratings .ratings-list .counter-back{background-color:#ececec;width:58%;width:-webkit-calc(100% - 130px);width:calc(100% - 130px)}.plugin-ratings .ratings-list .counter-bar{background-color:#ffc733;display:block}.plugin-ratings .ratings-list .counter-count{margin-left:3px}.home .widget,.widget-area.home .widget{display:inline-block;font-size:12.8px;font-size:.8rem;margin:0;vertical-align:top}@media screen and (min-width:737px){.home .widget,.widget-area.home .widget{margin-right:5%;width:30%}.home .widget:last-child,.widget-area.home .widget:last-child{margin-right:0}}.home .widget select,.widget-area.home .widget select{max-width:100%}.entry-meta .widget-title{font-size:20px;font-size:1.25rem;border:none;color:#32373c;font-weight:600;padding:0}.plugin-support{font-size:12.8px;font-size:.8rem}.plugin-support .counter-container{margin-bottom:16px;margin-bottom:1rem;position:relative}.plugin-support .counter-back,.plugin-support .counter-bar{display:inline-block;height:30px;vertical-align:middle}.plugin-support .counter-back{background-color:#ececec;width:100%}.plugin-support .counter-bar{background-color:#c7e8ca;display:block}.plugin-support .counter-count{font-size:10.24px;font-size:.64rem;left:8px;position:absolute;top:8px;width:100%;width:-webkit-calc(100% - 8px);width:calc(100% - 8px)}@media screen and (min-width:737px){.plugin-support .counter-count{top:5px}}
+/*# sourceMappingURL=style.css.map */
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php
index abe93f591..3d18e8fa8 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/functions.php
@@ -43,6 +43,17 @@ function setup() {
 }
 add_action( 'after_setup_theme', __NAMESPACE__ . '\setup' );
 
+/**
+ * Handle the root-level redirect to trailing-slash'd uri which redirect_canonical() usually does.
+ */
+function enforce_trailing_slash() {
+	if ( '/plugins' === $_SERVER['REQUEST_URI'] ) {
+		wp_safe_redirect( '/plugins/' );
+		die();
+	}
+}
+add_action( 'template_redirect', __NAMESPACE__ . '\enforce_trailing_slash' );
+
 /**
  * Set the content width in pixels, based on the theme's design and stylesheet.
  *
@@ -59,7 +70,7 @@ add_action( 'after_setup_theme', __NAMESPACE__ . '\content_width', 0 );
  * Enqueue scripts and styles.
  */
 function scripts() {
-	wp_enqueue_style( 'wporg-style', get_theme_file_uri( '/css/style.css' ), [ 'dashicons', 'open-sans' ], '20180824' );
+	wp_enqueue_style( 'wporg-style', get_theme_file_uri( '/css/style.css' ), [ 'dashicons', 'open-sans' ], '20190416' );
 	wp_style_add_data( 'wporg-style', 'rtl', 'replace' );
 
 	// Make jQuery a footer script.
@@ -227,10 +238,29 @@ add_filter( 'body_class', __NAMESPACE__ . '\custom_body_class' );
  * @return array Filtered title parts.
  */
 function document_title( $title ) {
+	global $wp_query;
+
 	if ( is_front_page() ) {
 		$title['title']   = __( 'WordPress Plugins', 'wporg-plugins' );
 		$title['tagline'] = __( 'WordPress.org', 'wporg-plugins' );
 	} else {
+		if ( is_singular( 'plugin' ) ) {
+			$title['title'] .= ' - ' . __( 'WordPress plugin', 'wporg-plugins' );
+		}
+		elseif ( is_tax() ) {
+			$title['title'] = sprintf( _( 'Plugins categorized as %s', 'wporg-plugins' ), strtolower( $title['title'] ) );
+		}
+
+		// If results are paged and the max number of pages is known.
+		if ( is_paged() && $wp_query->max_num_pages ) {
+			// translators: 1: current page number, 2: total number of pages
+			$title['page'] = sprintf(
+				__( 'Page %1$s of %2$s', 'wporg-plugins' ),
+				get_query_var( 'paged' ),
+				$wp_query->max_num_pages
+			);
+		}
+
 		$title['site'] = __( 'WordPress.org', 'wporg-plugins' );
 	}
 
@@ -291,11 +321,6 @@ function social_meta_data() {
 		return;
 	}
 
-	// Prevent duplicate search engine results.
-	if ( get_query_var( 'plugin_advanced' ) || is_search() ) {
-		echo '<meta name="robots" content="noindex, follow" />' . "\n";
-	}
-
 	if ( ! is_singular( 'plugin' ) ) {
 		return;
 	}
@@ -343,36 +368,6 @@ add_action( 'wp_head', function() {
 	add_filter( 'get_the_date', __NAMESPACE__ . '\strong_archive_title' );
 } );
 
-/**
- * Get current major WP version to check against "Tested up to" value.
- *
- * @global string $wp_version WordPress version.
- *
- * @return float Current major WP version.
- */
-function get_current_major_wp_version() {
-	$current_version = '';
-
-	// Assume the value stored in a constant (which is set on WP.org), if defined.
-	if ( defined( 'WP_CORE_LATEST_RELEASE' ) && WP_CORE_LATEST_RELEASE ) {
-		$current_version = substr( WP_CORE_LATEST_RELEASE, 0, 3 );
-	}
-
-	// Otherwise, use the version of the running WP instance.
-	if ( empty( $current_version ) ) {
-		global $wp_version;
-
-		$current_version = substr( $wp_version, 0, 3 );
-
-		// However, if the running WP instance appears to not be a release version, assume the latest stable version.
-		if ( false !== strpos( $wp_version, '-' ) ) {
-			$current_version = (float) $current_version - 0.1;
-		}
-	}
-
-	return (float) $current_version;
-}
-
 /**
  * Custom template tags for this theme.
  */
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/header.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/header.php
index 4205b2044..fc04e3c69 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/header.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/header.php
@@ -18,11 +18,13 @@ $menu_items = array(
 );
 
 $GLOBALS['pagetitle'] = wp_get_document_title();
+global $wporg_global_header_options;
+if ( !isset( $wporg_global_header_options['in_wrapper'] ) )
+	$wporg_global_header_options['in_wrapper'] = '';
+$wporg_global_header_options['in_wrapper'] .= '<a class="skip-link screen-reader-text" href="#main">' . esc_html__( 'Skip to content', 'wporg-plugins' ) . '</a>';
 require WPORGPATH . 'header.php';
 ?>
 <div id="page" class="site">
-	<a class="skip-link screen-reader-text" href="#main"><?php esc_html_e( 'Skip to content', 'wporg-plugins' ); ?></a>
-
 	<div id="content" class="site-content">
 		<header id="masthead" class="site-header <?php echo is_home() ? 'home' : ''; ?>" role="banner">
 			<div class="site-branding">
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/inc/template-tags.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/inc/template-tags.php
index 89b02cad4..1e52a2d8f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/inc/template-tags.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/inc/template-tags.php
@@ -178,9 +178,7 @@ function get_plugin_status_notice( $post = null ) {
 
 	switch ( $post_status ) {
 		case 'publish':
-			$tested_up_to             = (string) get_post_meta( get_post( $post )->ID, 'tested', true );
-			$version_to_check_against = (string) ( get_current_major_wp_version() - 0.2 );
-			if ( version_compare( $version_to_check_against, $tested_up_to, '>' ) ) {
+			if ( Template::is_plugin_outdated( $post ) ) {
 				$message = sprintf(
 					$warning_notice,
 					__( 'This plugin <strong>hasn&#146;t been tested with the latest 3 major releases of WordPress</strong>. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.', 'wporg-plugins' )
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/js/theme.js wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/js/theme.js
index fb6d0ce4b..2ea3b9049 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/js/theme.js
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/js/theme.js
@@ -3,8 +3,8 @@
 	(c) Sindre Sorhus
 	@license MIT
 	*/
-"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,s,u=n(e),l=1;l<arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&&(u[c]=r[c]);if(o){s=o(r);for(var p=0;p<s.length;p++)a.call(r,s[p])&&(u[s[p]]=r[s[p]])}}return u}},function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=l,this.updater=n||u}function o(e,t,n){this.props=e,this.context=t,this.refs=l,this.updater=n||u}function i(){}var a=n(6),s=n(4),u=n(7),l=(n(10),n(11));n(12),n(13);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e?a("85"):void 0,this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")};i.prototype=r.prototype,o.prototype=new i,o.prototype.constructor=o,s(o.prototype,r.prototype),o.prototype.isPureReactComponent=!0,e.exports={Component:r,PureComponent:o}},function(e,t){"use strict";function n(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}e.exports=n},function(e,t,n){"use strict";function r(e,t){}var o=(n(8),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){r(e,"forceUpdate")},enqueueReplaceState:function(e,t){r(e,"replaceState")},enqueueSetState:function(e,t){r(e,"setState")}});e.exports=o},function(e,t,n){"use strict";var r=n(9),o=r;e.exports=o},function(e,t){"use strict";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t,n){"use strict";var r=!1;e.exports=r},function(e,t,n){"use strict";var r={};e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=r},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t,n){"use strict";function r(e){return(""+e).replace(b,"$&/")}function o(e,t){this.func=e,this.context=t,this.count=0}function i(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);g(e,i,r),o.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var o=e.result,i=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?l(u,o,n,m.thatReturnsArgument):null!=u&&(v.isValidElement(u)&&(u=v.cloneAndReplaceKey(u,i+(!u.key||t&&t.key===u.key?"":r(u.key)+"/")+n)),o.push(u))}function l(e,t,n,o,i){var a="";null!=n&&(a=r(n)+"/");var l=s.getPooled(t,a,o,i);g(e,u,l),s.release(l)}function c(e,t,n){if(null==e)return e;var r=[];return l(e,r,null,t,n),r}function p(e,t,n){return null}function d(e,t){return g(e,p,null)}function f(e){var t=[];return l(e,t,null,m.thatReturnsArgument),t}var h=n(15),v=n(16),m=n(9),g=n(19),y=h.twoArgumentPooler,_=h.fourArgumentPooler,b=/\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,y),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(s,_);var C={forEach:a,map:c,mapIntoWithKeyPrefixInternal:l,count:d,toArray:f};e.exports=C},[295,6],function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var i=n(4),a=n(17),s=(n(8),n(10),Object.prototype.hasOwnProperty),u=n(18),l={key:!0,ref:!0,__self:!0,__source:!0},c=function(e,t,n,r,o,i,a){var s={$$typeof:u,type:e,key:t,ref:n,props:a,_owner:i};return s};c.createElement=function(e,t,n){var i,u={},p=null,d=null,f=null,h=null;if(null!=t){r(t)&&(d=t.ref),o(t)&&(p=""+t.key),f=void 0===t.__self?null:t.__self,h=void 0===t.__source?null:t.__source;for(i in t)s.call(t,i)&&!l.hasOwnProperty(i)&&(u[i]=t[i])}var v=arguments.length-2;if(1===v)u.children=n;else if(v>1){for(var m=Array(v),g=0;g<v;g++)m[g]=arguments[g+2];u.children=m}if(e&&e.defaultProps){var y=e.defaultProps;for(i in y)void 0===u[i]&&(u[i]=y[i])}return c(e,p,d,f,h,a.current,u)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){var n=c(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n},c.cloneElement=function(e,t,n){var u,p=i({},e.props),d=e.key,f=e.ref,h=e._self,v=e._source,m=e._owner;if(null!=t){r(t)&&(f=t.ref,m=a.current),o(t)&&(d=""+t.key);var g;e.type&&e.type.defaultProps&&(g=e.type.defaultProps);for(u in t)s.call(t,u)&&!l.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==g?p[u]=g[u]:p[u]=t[u])}var y=arguments.length-2;if(1===y)p.children=n;else if(y>1){for(var _=Array(y),b=0;b<y;b++)_[b]=arguments[b+2];p.children=_}return c(e.type,d,f,h,v,m,p)},c.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===u},e.exports=c},function(e,t){"use strict";var n={current:null};e.exports=n},function(e,t){"use strict";var n="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n},function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,v=0,m=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g<e.length;g++)f=e[g],h=m+r(f,g),v+=o(f,h,n,i);else{var y=u(e);if(y){var _,b=y.call(e);if(y!==e.entries)for(var C=0;!(_=b.next()).done;)f=_.value,h=m+r(f,C++),v+=o(f,h,n,i);else for(;!(_=b.next()).done;){var x=_.value;x&&(f=x[1],h=m+l.escape(x[0])+p+r(f,0),v+=o(f,h,n,i))}}else if("object"===d){var E="",w=String(e);a("31","[object Object]"===w?"object with keys {"+Object.keys(e).join(", ")+"}":w,E)}}return v}function i(e,t,n){return null==e?0:o(e,"",t,n)}var a=n(6),s=(n(17),n(18)),u=n(20),l=(n(12),n(21)),c=(n(8),"."),p=":";e.exports=i},function(e,t){"use strict";function n(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=n},function(e,t){"use strict";function n(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+e).replace(t,function(e){return n[e]});return"$"+r}function r(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1);return(""+r).replace(t,function(e){return n[e]})}var o={escape:n,unescape:r};e.exports=o},function(e,t,n){"use strict";var r=n(16),o=r.createFactory,i={a:o("a"),abbr:o("abbr"),address:o("address"),area:o("area"),article:o("article"),aside:o("aside"),audio:o("audio"),b:o("b"),base:o("base"),bdi:o("bdi"),bdo:o("bdo"),big:o("big"),blockquote:o("blockquote"),body:o("body"),br:o("br"),button:o("button"),canvas:o("canvas"),caption:o("caption"),cite:o("cite"),code:o("code"),col:o("col"),colgroup:o("colgroup"),data:o("data"),datalist:o("datalist"),dd:o("dd"),del:o("del"),details:o("details"),dfn:o("dfn"),dialog:o("dialog"),div:o("div"),dl:o("dl"),dt:o("dt"),em:o("em"),embed:o("embed"),fieldset:o("fieldset"),figcaption:o("figcaption"),figure:o("figure"),footer:o("footer"),form:o("form"),h1:o("h1"),h2:o("h2"),h3:o("h3"),h4:o("h4"),h5:o("h5"),h6:o("h6"),head:o("head"),header:o("header"),hgroup:o("hgroup"),hr:o("hr"),html:o("html"),i:o("i"),iframe:o("iframe"),img:o("img"),input:o("input"),ins:o("ins"),kbd:o("kbd"),keygen:o("keygen"),label:o("label"),legend:o("legend"),li:o("li"),link:o("link"),main:o("main"),map:o("map"),mark:o("mark"),menu:o("menu"),menuitem:o("menuitem"),meta:o("meta"),meter:o("meter"),nav:o("nav"),noscript:o("noscript"),object:o("object"),ol:o("ol"),optgroup:o("optgroup"),option:o("option"),output:o("output"),p:o("p"),param:o("param"),picture:o("picture"),pre:o("pre"),progress:o("progress"),q:o("q"),rp:o("rp"),rt:o("rt"),ruby:o("ruby"),s:o("s"),samp:o("samp"),script:o("script"),section:o("section"),select:o("select"),small:o("small"),source:o("source"),span:o("span"),strong:o("strong"),style:o("style"),sub:o("sub"),summary:o("summary"),sup:o("sup"),table:o("table"),tbody:o("tbody"),td:o("td"),textarea:o("textarea"),tfoot:o("tfoot"),th:o("th"),thead:o("thead"),time:o("time"),title:o("title"),tr:o("tr"),track:o("track"),u:o("u"),ul:o("ul"),var:o("var"),video:o("video"),wbr:o("wbr"),circle:o("circle"),clipPath:o("clipPath"),defs:o("defs"),ellipse:o("ellipse"),g:o("g"),image:o("image"),line:o("line"),linearGradient:o("linearGradient"),mask:o("mask"),path:o("path"),pattern:o("pattern"),polygon:o("polygon"),polyline:o("polyline"),radialGradient:o("radialGradient"),rect:o("rect"),stop:o("stop"),svg:o("svg"),text:o("text"),tspan:o("tspan")};e.exports=i},function(e,t,n){"use strict";var r=n(16),o=r.isValidElement,i=n(24);e.exports=i(o)},function(e,t,n){"use strict";var r=n(25);e.exports=function(e){var t=!1;return r(e,t)}},function(e,t,n){"use strict";var r=n(9),o=n(12),i=n(8),a=n(26),s=n(27);e.exports=function(e,t){function n(e){var t=e&&(P&&e[P]||e[S]);if("function"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function l(e){this.message=e,this.stack=""}function c(e){function n(n,r,i,s,u,c,p){if(s=s||I,c=c||i,p!==a)if(t)o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else;return null==r[i]?n?new l(null===r[i]?"The "+u+" `"+c+"` is marked as required "+("in `"+s+"`, but its value is `null`."):"The "+u+" `"+c+"` is marked as required in "+("`"+s+"`, but its value is `undefined`.")):null:e(r,i,s,u,c)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function p(e){function t(t,n,r,o,i,a){var s=t[n],u=E(s);if(u!==e){var c=w(s);return new l("Invalid "+o+" `"+i+"` of type "+("`"+c+"` supplied to `"+r+"`, expected ")+("`"+e+"`."))}return null}return c(t)}function d(){return c(r.thatReturnsNull)}function f(e){function t(t,n,r,o,i){if("function"!=typeof e)return new l("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=t[n];if(!Array.isArray(s)){var u=E(s);return new l("Invalid "+o+" `"+i+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an array."))}for(var c=0;c<s.length;c++){var p=e(s,c,r,o,i+"["+c+"]",a);if(p instanceof Error)return p}return null}return c(t)}function h(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){var s=E(a);return new l("Invalid "+o+" `"+i+"` of type "+("`"+s+"` supplied to `"+r+"`, expected a single ReactElement."))}return null}return c(t)}function v(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||I,s=k(t[n]);return new l("Invalid "+o+" `"+i+"` of type "+("`"+s+"` supplied to `"+r+"`, expected ")+("instance of `"+a+"`."))}return null}return c(t)}function m(e){function t(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(u(a,e[s]))return null;var c=JSON.stringify(e);return new l("Invalid "+o+" `"+i+"` of value `"+a+"` "+("supplied to `"+r+"`, expected one of "+c+"."))}return Array.isArray(e)?c(t):r.thatReturnsNull}function g(e){function t(t,n,r,o,i){if("function"!=typeof e)return new l("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var s=t[n],u=E(s);if("object"!==u)return new l("Invalid "+o+" `"+i+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an object."));for(var c in s)if(s.hasOwnProperty(c)){var p=e(s,c,r,o,i+"."+c,a);if(p instanceof Error)return p}return null}return c(t)}function y(e){function t(t,n,r,o,i){for(var s=0;s<e.length;s++){var u=e[s];if(null==u(t,n,r,o,i,a))return null}return new l("Invalid "+o+" `"+i+"` supplied to "+("`"+r+"`."))}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var o=e[n];if("function"!=typeof o)return i(!1,"Invalid argument supplid to oneOfType. Expected an array of check functions, but received %s at index %s.",T(o),n),r.thatReturnsNull}return c(t)}function _(){function e(e,t,n,r,o){return C(e[t])?null:new l("Invalid "+r+" `"+o+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return c(e)}function b(e){function t(t,n,r,o,i){var s=t[n],u=E(s);if("object"!==u)return new l("Invalid "+o+" `"+i+"` of type `"+u+"` "+("supplied to `"+r+"`, expected `object`."));for(var c in e){var p=e[c];if(p){var d=p(s,c,r,o,i+"."+c,a);if(d)return d}}return null}return c(t)}function C(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(C);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!C(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!C(a[1]))return!1}return!0;default:return!1}}function x(e,t){return"symbol"===e||("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function E(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":x(t,e)?"symbol":t}function w(e){if("undefined"==typeof e||null===e)return""+e;var t=E(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function T(e){var t=w(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function k(e){return e.constructor&&e.constructor.name?e.constructor.name:I}var P="function"==typeof Symbol&&Symbol.iterator,S="@@iterator",I="<<anonymous>>",N={array:p("array"),bool:p("boolean"),func:p("function"),number:p("number"),object:p("object"),string:p("string"),symbol:p("symbol"),any:d(),arrayOf:f,element:h(),instanceOf:v,node:_(),objectOf:g,oneOf:m,oneOfType:y,shape:b};return l.prototype=Error.prototype,N.checkPropTypes=s,N.PropTypes=N,N}},function(e,t){"use strict";var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=n},function(e,t,n){"use strict";function r(e,t,n,r,o){}e.exports=r},function(e,t){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(5),o=r.Component,i=n(16),a=i.isValidElement,s=n(7),u=n(30);e.exports=u(o,a,s)},function(e,t,n){"use strict";function r(e){return e}function o(e,t,n){function o(e,t){var n=y.hasOwnProperty(t)?y[t]:null;x.hasOwnProperty(t)&&u("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&u("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function i(e,n){if(n){u("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),u(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,i=r.__reactAutoBindPairs;n.hasOwnProperty(l)&&_.mixins(e,n.mixins);for(var a in n)if(n.hasOwnProperty(a)&&a!==l){var s=n[a],c=r.hasOwnProperty(a);if(o(c,a),_.hasOwnProperty(a))_[a](e,s);else{var p=y.hasOwnProperty(a),h="function"==typeof s,v=h&&!p&&!c&&n.autobind!==!1;if(v)i.push(a,s),r[a]=s;else if(c){var m=y[a];u(p&&("DEFINE_MANY_MERGED"===m||"DEFINE_MANY"===m),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",m,a),"DEFINE_MANY_MERGED"===m?r[a]=d(r[a],s):"DEFINE_MANY"===m&&(r[a]=f(r[a],s))}else r[a]=s}}}else;}function c(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in _;u(!o,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var i=n in e;u(!i,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=r}}}function p(e,t){u(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var n in t)t.hasOwnProperty(n)&&(u(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function d(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return p(o,n),p(o,r),o}}function f(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function h(e,t){var n=t.bind(e);return n}function v(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=h(e,o)}}function m(e){var t=r(function(e,r,o){this.__reactAutoBindPairs.length&&v(this),this.props=e,this.context=r,this.refs=s,this.updater=o||n,this.state=null;var i=this.getInitialState?this.getInitialState():null;u("object"==typeof i&&!Array.isArray(i),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=i});t.prototype=new E,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],g.forEach(i.bind(null,t)),i(t,b),i(t,e),i(t,C),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),u(t.prototype.render,"createClass(...): Class specification must implement a `render` method.");for(var o in y)t.prototype[o]||(t.prototype[o]=null);return t}var g=[],y={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},_={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=a({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=a({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=d(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=a({},e.propTypes,t)},statics:function(e,t){c(e,t)},autobind:function(){}},b={componentDidMount:function(){this.__isMounted=!0}},C={componentWillUnmount:function(){this.__isMounted=!1}},x={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},E=function(){};return a(E.prototype,e.prototype,x),m}var i,a=n(4),s=n(11),u=n(12),l="mixins";i={},e.exports=o},function(e,t,n){"use strict";function r(e){return i.isValidElement(e)?void 0:o("143"),e}var o=n(6),i=n(16);n(12);e.exports=r},function(e,t,n){"use strict";e.exports=n(33)},function(e,t,n){"use strict";var r=n(34),o=n(38),i=n(162),a=n(59),s=n(56),u=n(167),l=n(168),c=n(169),p=n(170);n(8);o.inject();var d={findDOMNode:l,render:i.render,unmountComponentAtNode:i.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:p};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a});e.exports=d},function(e,t,n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(h)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function o(e){for(var t;t=e._renderedComponent;)e=t;return e}function i(e,t){var n=o(e);n._hostNode=t,t[m]=n}function a(e){var t=e._hostNode;t&&(delete t[m],e._hostNode=null)}function s(e,t){if(!(e._flags&v.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=o(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){i(u,a);continue e}p("32",l)}}e._flags|=v.hasCachedChildNodes}}function u(e){if(e[m])return e[m];for(var t=[];!e[m];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[m]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode?p("33"):void 0,e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent?void 0:p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=n(35),d=n(36),f=n(37),h=(n(12),d.ID_ATTRIBUTE_NAME),v=f,m="__reactInternalInstance$"+Math.random().toString(36).slice(2),g={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:i,uncacheNode:a};e.exports=g},6,function(e,t,n){"use strict";function r(e,t){return(e&t)===t}var o=n(35),i=(n(12),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in n){s.properties.hasOwnProperty(p)?o("48",p):void 0;var d=p.toLowerCase(),f=n[p],h={attributeName:d,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:r(f,t.MUST_USE_PROPERTY),hasBooleanValue:r(f,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(f,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(f,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(f,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1?void 0:o("50",p),u.hasOwnProperty(p)){var v=u[p];h.attributeName=v}a.hasOwnProperty(p)&&(h.attributeNamespace=a[p]),l.hasOwnProperty(p)&&(h.propertyName=l[p]),c.hasOwnProperty(p)&&(h.mutationMethod=c[p]),s.properties[p]=h}}}),a=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){var n=s._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},injection:i};e.exports=s},function(e,t){"use strict";var n={hasCachedChildNodes:1};e.exports=n},function(e,t,n){"use strict";function r(){E||(E=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:x,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:C,BeforeInputEventPlugin:i}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(v),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(b),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(m),y.Component.injectEnvironment(c))}var o=n(39),i=n(40),a=n(55),s=n(68),u=n(69),l=n(74),c=n(75),p=n(88),d=n(34),f=n(133),h=n(134),v=n(135),m=n(136),g=n(137),y=n(140),_=n(141),b=n(149),C=n(150),x=n(151),E=!1;e.exports={inject:r}},function(e,t){"use strict";var n={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}};e.exports=n},function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case"topCompositionStart":return k.compositionStart;case"topCompositionEnd":return k.compositionEnd;case"topCompositionUpdate":return k.compositionUpdate}}function a(e,t){return"topKeyDown"===e&&t.keyCode===_}function s(e,t){switch(e){case"topKeyUp":return y.indexOf(t.keyCode)!==-1;case"topKeyDown":return t.keyCode!==_;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function u(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function l(e,t,n,r){var o,l;if(b?o=i(e):S?s(e,n)&&(o=k.compositionEnd):a(e,n)&&(o=k.compositionStart),!o)return null;E&&(S||o!==k.compositionStart?o===k.compositionEnd&&S&&(l=S.getData()):S=v.getPooled(r));var c=m.getPooled(o,t,n,r);if(l)c.data=l;else{var p=u(n);null!==p&&(c.data=p)}return f.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case"topCompositionEnd":return u(t);case"topKeyPress":var n=t.which;return n!==w?null:(P=!0,T);case"topTextInput":var r=t.data;return r===T&&P?null:r;default:return null}}function p(e,t){if(S){if("topCompositionEnd"===e||!b&&s(e,t)){var n=S.getData();return v.release(S),S=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!o(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return E?null:t.data;default:return null}}function d(e,t,n,r){var o;if(o=x?c(e,n):p(e,n),!o)return null;var i=g.getPooled(k.beforeInput,t,n,r);return i.data=o,f.accumulateTwoPhaseDispatches(i),i}var f=n(41),h=n(48),v=n(49),m=n(52),g=n(54),y=[9,13,27,32],_=229,b=h.canUseDOM&&"CompositionEvent"in window,C=null;h.canUseDOM&&"documentMode"in document&&(C=document.documentMode);var x=h.canUseDOM&&"TextEvent"in window&&!C&&!r(),E=h.canUseDOM&&(!b||C&&C>8&&C<=11),w=32,T=String.fromCharCode(w),k={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},P=!1,S=null,I={eventTypes:k,extractEvents:function(e,t,n,r){return[l(e,t,n,r),d(e,t,n,r)]}};e.exports=I},function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return g(e,r)}function o(e,t,n){var o=r(e,n,t);o&&(n._dispatchListeners=v(n._dispatchListeners,o),n._dispatchInstances=v(n._dispatchInstances,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.traverseTwoPhase(e._targetInst,o,e)}function a(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?h.getParentInstance(t):null;h.traverseTwoPhase(n,o,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=g(e,r);o&&(n._dispatchListeners=v(n._dispatchListeners,o),n._dispatchInstances=v(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function l(e){m(e,i)}function c(e){m(e,a)}function p(e,t,n,r){h.traverseEnterLeave(n,r,s,e,t)}function d(e){m(e,u)}var f=n(42),h=n(44),v=n(46),m=n(47),g=(n(8),f.getListener),y={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:d,accumulateEnterLeaveDispatches:p};e.exports=y},function(e,t,n){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function o(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var i=n(35),a=n(43),s=n(44),u=n(45),l=n(46),c=n(47),p=(n(12),{}),d=null,f=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return f(e,!0)},v=function(e){return f(e,!1)},m=function(e){return"."+e._rootNodeID},g={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n?i("94",t,typeof n):void 0;var r=m(e),o=p[t]||(p[t]={});o[r]=n;var s=a.registrationNameModules[t];s&&s.didPutListener&&s.didPutListener(e,t,n)},getListener:function(e,t){var n=p[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=m(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=p[t];if(r){var o=m(e);delete r[o]}},deleteAllListeners:function(e){var t=m(e);for(var n in p)if(p.hasOwnProperty(n)&&p[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete p[n][t]}},extractEvents:function(e,t,n,r){for(var o,i=a.plugins,s=0;s<i.length;s++){var u=i[s];if(u){var c=u.extractEvents(e,t,n,r);c&&(o=l(o,c))}}return o},enqueueEvents:function(e){e&&(d=l(d,e))},processEventQueue:function(e){var t=d;d=null,e?c(t,h):c(t,v),d?i("95"):void 0,u.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};e.exports=g},function(e,t,n){"use strict";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1?void 0:a("96",e),!l.plugins[n]){t.extractEvents?void 0:a("97",e),
-l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a("98",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?a("99",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]?a("100",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=n(35),s=(n(12),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?a("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?a("102",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=l},function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?v.invokeGuardedCallbackWithCatch(o,n,e):v.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)a(e,t,n[o],r[o]);else n&&a(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function c(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)?h("103"):void 0,e.currentTarget=t?g.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function p(e){return!!e._dispatchListeners}var d,f,h=n(35),v=n(45),m=(n(12),n(8),{injectComponentTree:function(e){d=e},injectTreeTraversal:function(e){f=e}}),g={isEndish:r,isMoveish:o,isStartish:i,executeDirectDispatch:c,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:l,hasDispatches:p,getInstanceFromNode:function(e){return d.getInstanceFromNode(e)},getNodeFromInstance:function(e){return d.getNodeFromInstance(e)},isAncestor:function(e,t){return f.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return f.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return f.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return f.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return f.traverseEnterLeave(e,t,n,r,o)},injection:m};e.exports=g},function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};e.exports=i},function(e,t,n){"use strict";function r(e,t){return null==t?o("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=n(35);n(12);e.exports=r},function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=n(4),i=n(50),a=n(51);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),e.exports=r},[295,35],function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=n(48),i=null;e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var i in o)if(o.hasOwnProperty(i)){var s=o[i];s?this[i]=s(n):"target"===i?this.target=r:this[i]=n[i]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return u?this.isDefaultPrevented=a.thatReturnsTrue:this.isDefaultPrevented=a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var o=n(4),i=n(50),a=n(9),s=(n(8),"function"==typeof Proxy,["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),u={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;o(a,e.prototype),e.prototype=a,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,i.addPoolingTo(e,i.fourArgumentPooler)},i.addPoolingTo(r,i.fourArgumentPooler),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n){var r=k.getPooled(M.change,e,t,n);return r.type="change",x.accumulateTwoPhaseDispatches(r),r}function o(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function i(e){var t=r(A,e,S(e));T.batchedUpdates(a,t)}function a(e){C.enqueueEvents(e),C.processEventQueue(!1)}function s(e,t){O=e,A=t,O.attachEvent("onchange",i)}function u(){O&&(O.detachEvent("onchange",i),O=null,A=null)}function l(e,t){var n=P.updateValueIfChanged(e),r=t.simulated===!0&&L._allowSimulatedPassThrough;if(n||r)return e}function c(e,t){if("topChange"===e)return t}function p(e,t,n){"topFocus"===e?(u(),s(t,n)):"topBlur"===e&&u()}function d(e,t){O=e,A=t,O.attachEvent("onpropertychange",h)}function f(){O&&(O.detachEvent("onpropertychange",h),O=null,A=null)}function h(e){"value"===e.propertyName&&l(A,e)&&i(e)}function v(e,t,n){"topFocus"===e?(f(),d(t,n)):"topBlur"===e&&f()}function m(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return l(A,n)}function g(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t,n){if("topClick"===e)return l(t,n)}function _(e,t,n){if("topInput"===e||"topChange"===e)return l(t,n)}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var r=""+t.value;t.getAttribute("value")!==r&&t.setAttribute("value",r)}}}var C=n(42),x=n(41),E=n(48),w=n(34),T=n(56),k=n(53),P=n(64),S=n(65),I=n(66),N=n(67),M={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},O=null,A=null,R=!1;E.canUseDOM&&(R=I("change")&&(!document.documentMode||document.documentMode>8));var D=!1;E.canUseDOM&&(D=I("input")&&(!document.documentMode||document.documentMode>9));var L={eventTypes:M,_allowSimulatedPassThrough:!0,_isInputEventSupported:D,extractEvents:function(e,t,n,i){var a,s,u=t?w.getNodeFromInstance(t):window;if(o(u)?R?a=c:s=p:N(u)?D?a=_:(a=m,s=v):g(u)&&(a=y),a){var l=a(e,t,n);if(l){var d=r(l,n,i);return d}}s&&s(e,u,t),"topBlur"===e&&b(t,u)}};e.exports=L},function(e,t,n){"use strict";function r(){S.ReactReconcileTransaction&&x?void 0:c("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=d.getPooled(),this.reconcileTransaction=S.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),x.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==y.length?c("124",t,y.length):void 0,y.sort(a),_++;for(var n=0;n<t;n++){var r=y[n],o=r._pendingCallbacks;r._pendingCallbacks=null;var i;if(h.logTopLevelRenders){var s=r;r._currentElement.type.isReactTopLevelWrapper&&(s=r._renderedComponent),i="React update: "+s.getName(),console.time(i)}if(v.performUpdateIfNecessary(r,e.reconcileTransaction,_),i&&console.timeEnd(i),o)for(var u=0;u<o.length;u++)e.callbackQueue.enqueue(o[u],r.getPublicInstance())}}function u(e){return r(),x.isBatchingUpdates?(y.push(e),void(null==e._updateBatchNumber&&(e._updateBatchNumber=_+1))):void x.batchedUpdates(u,e)}function l(e,t){g(x.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),b.enqueue(e,t),C=!0}var c=n(35),p=n(4),d=n(57),f=n(50),h=n(58),v=n(59),m=n(63),g=n(12),y=[],_=0,b=d.getPooled(),C=!1,x=null,E={initialize:function(){this.dirtyComponentsLength=y.length},close:function(){this.dirtyComponentsLength!==y.length?(y.splice(0,this.dirtyComponentsLength),k()):y.length=0}},w={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},T=[E,w];p(o.prototype,m,{getTransactionWrappers:function(){return T},destructor:function(){this.dirtyComponentsLength=null,d.release(this.callbackQueue),this.callbackQueue=null,S.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return m.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),f.addPoolingTo(o);var k=function(){for(;y.length||C;){if(y.length){var e=o.getPooled();e.perform(s,null,e),o.release(e)}if(C){C=!1;var t=b;b=d.getPooled(),t.notifyAll(),d.release(t)}}},P={injectReconcileTransaction:function(e){e?void 0:c("126"),S.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:c("127"),"function"!=typeof e.batchedUpdates?c("128"):void 0,"boolean"!=typeof e.isBatchingUpdates?c("129"):void 0,x=e}},S={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:u,flushBatchedUpdates:k,injection:P,asap:l};e.exports=S},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=n(35),i=n(50),a=(n(12),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o("24"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());e.exports=i.addPoolingTo(a)},function(e,t){"use strict";var n={logTopLevelRenders:!1};e.exports=n},function(e,t,n){"use strict";function r(){o.attachRefs(this,this._currentElement)}var o=n(60),i=(n(62),n(8),{mountComponent:function(e,t,n,o,i,a){var s=e.mountComponent(t,n,o,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){o.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){var s=o.shouldUpdateRefs(a,t);s&&o.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});e.exports=i},function(e,t,n){"use strict";function r(e,t,n){"function"==typeof e?e(t.getPublicInstance()):i.addComponentAsRefTo(t,e,n)}function o(e,t,n){"function"==typeof e?e(null):i.removeComponentAsRefFrom(t,e,n)}var i=n(61),a={};a.attachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},a.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&"object"==typeof t&&(o=t.ref,i=t._owner),n!==o||"string"==typeof o&&i!==r},a.detachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&o(n,e,t._owner)}},e.exports=a},function(e,t,n){"use strict";function r(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)}var o=n(35),i=(n(12),{addComponentAsRefTo:function(e,t,n){r(n)?void 0:o("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)?void 0:o("120");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});e.exports=i},function(e,t,n){"use strict";var r=null;e.exports={debugTool:r}},function(e,t,n){"use strict";var r=n(35),o=(n(12),{}),i={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,s,u){this.isInTransaction()?r("27"):void 0;var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,s,u),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()?void 0:r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=i},function(e,t,n){"use strict";function r(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function o(e){return e._wrapperState.valueTracker}function i(e,t){e._wrapperState.valueTracker=t}function a(e){e._wrapperState.valueTracker=null}function s(e){var t;return e&&(t=r(e)?""+e.checked:e.value),t}var u=n(34),l={_getTrackerFromNode:function(e){return o(u.getInstanceFromNode(e))},track:function(e){if(!o(e)){var t=u.getNodeFromInstance(e),n=r(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),l=""+t[n];t.hasOwnProperty(n)||"function"!=typeof s.get||"function"!=typeof s.set||(Object.defineProperty(t,n,{enumerable:s.enumerable,configurable:!0,get:function(){return s.get.call(this)},set:function(e){l=""+e,s.set.call(this,e)}}),i(e,{getValue:function(){return l},setValue:function(e){l=""+e},stopTracking:function(){a(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=o(e);if(!t)return l.track(e),!0;var n=t.getValue(),r=s(u.getNodeFromInstance(e));return r!==n&&(t.setValue(r),!0)},stopTracking:function(e){var t=o(e);t&&t.stopTracking()}};e.exports=l},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){"use strict";/**
+"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,s,u=n(e),l=1;l<arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&&(u[c]=r[c]);if(o){s=o(r);for(var p=0;p<s.length;p++)a.call(r,s[p])&&(u[s[p]]=r[s[p]])}}return u}},function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=l,this.updater=n||u}function o(e,t,n){this.props=e,this.context=t,this.refs=l,this.updater=n||u}function i(){}var a=n(6),s=n(4),u=n(7),l=(n(10),n(11));n(12),n(13);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e?a("85"):void 0,this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")};i.prototype=r.prototype,o.prototype=new i,o.prototype.constructor=o,s(o.prototype,r.prototype),o.prototype.isPureReactComponent=!0,e.exports={Component:r,PureComponent:o}},function(e,t){"use strict";function n(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}e.exports=n},function(e,t,n){"use strict";function r(e,t){}var o=(n(8),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){r(e,"forceUpdate")},enqueueReplaceState:function(e,t){r(e,"replaceState")},enqueueSetState:function(e,t){r(e,"setState")}});e.exports=o},function(e,t,n){"use strict";var r=n(9),o=r;e.exports=o},function(e,t){"use strict";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t,n){"use strict";var r=!1;e.exports=r},function(e,t,n){"use strict";var r={};e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=r},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t,n){"use strict";function r(e){return(""+e).replace(b,"$&/")}function o(e,t){this.func=e,this.context=t,this.count=0}function i(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);g(e,i,r),o.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var o=e.result,i=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?l(u,o,n,m.thatReturnsArgument):null!=u&&(v.isValidElement(u)&&(u=v.cloneAndReplaceKey(u,i+(!u.key||t&&t.key===u.key?"":r(u.key)+"/")+n)),o.push(u))}function l(e,t,n,o,i){var a="";null!=n&&(a=r(n)+"/");var l=s.getPooled(t,a,o,i);g(e,u,l),s.release(l)}function c(e,t,n){if(null==e)return e;var r=[];return l(e,r,null,t,n),r}function p(e,t,n){return null}function d(e,t){return g(e,p,null)}function f(e){var t=[];return l(e,t,null,m.thatReturnsArgument),t}var h=n(15),v=n(16),m=n(9),g=n(19),y=h.twoArgumentPooler,_=h.fourArgumentPooler,b=/\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,y),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(s,_);var C={forEach:a,map:c,mapIntoWithKeyPrefixInternal:l,count:d,toArray:f};e.exports=C},[295,6],function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var i=n(4),a=n(17),s=(n(8),n(10),Object.prototype.hasOwnProperty),u=n(18),l={key:!0,ref:!0,__self:!0,__source:!0},c=function(e,t,n,r,o,i,a){var s={$$typeof:u,type:e,key:t,ref:n,props:a,_owner:i};return s};c.createElement=function(e,t,n){var i,u={},p=null,d=null,f=null,h=null;if(null!=t){r(t)&&(d=t.ref),o(t)&&(p=""+t.key),f=void 0===t.__self?null:t.__self,h=void 0===t.__source?null:t.__source;for(i in t)s.call(t,i)&&!l.hasOwnProperty(i)&&(u[i]=t[i])}var v=arguments.length-2;if(1===v)u.children=n;else if(v>1){for(var m=Array(v),g=0;g<v;g++)m[g]=arguments[g+2];u.children=m}if(e&&e.defaultProps){var y=e.defaultProps;for(i in y)void 0===u[i]&&(u[i]=y[i])}return c(e,p,d,f,h,a.current,u)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){var n=c(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n},c.cloneElement=function(e,t,n){var u,p=i({},e.props),d=e.key,f=e.ref,h=e._self,v=e._source,m=e._owner;if(null!=t){r(t)&&(f=t.ref,m=a.current),o(t)&&(d=""+t.key);var g;e.type&&e.type.defaultProps&&(g=e.type.defaultProps);for(u in t)s.call(t,u)&&!l.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==g?p[u]=g[u]:p[u]=t[u])}var y=arguments.length-2;if(1===y)p.children=n;else if(y>1){for(var _=Array(y),b=0;b<y;b++)_[b]=arguments[b+2];p.children=_}return c(e.type,d,f,h,v,m,p)},c.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===u},e.exports=c},function(e,t){"use strict";var n={current:null};e.exports=n},function(e,t){"use strict";var n="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n},function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,v=0,m=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g<e.length;g++)f=e[g],h=m+r(f,g),v+=o(f,h,n,i);else{var y=u(e);if(y){var _,b=y.call(e);if(y!==e.entries)for(var C=0;!(_=b.next()).done;)f=_.value,h=m+r(f,C++),v+=o(f,h,n,i);else for(;!(_=b.next()).done;){var x=_.value;x&&(f=x[1],h=m+l.escape(x[0])+p+r(f,0),v+=o(f,h,n,i))}}else if("object"===d){var E="",w=String(e);a("31","[object Object]"===w?"object with keys {"+Object.keys(e).join(", ")+"}":w,E)}}return v}function i(e,t,n){return null==e?0:o(e,"",t,n)}var a=n(6),s=(n(17),n(18)),u=n(20),l=(n(12),n(21)),c=(n(8),"."),p=":";e.exports=i},function(e,t){"use strict";function n(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=n},function(e,t){"use strict";function n(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+e).replace(t,function(e){return n[e]});return"$"+r}function r(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1);return(""+r).replace(t,function(e){return n[e]})}var o={escape:n,unescape:r};e.exports=o},function(e,t,n){"use strict";var r=n(16),o=r.createFactory,i={a:o("a"),abbr:o("abbr"),address:o("address"),area:o("area"),article:o("article"),aside:o("aside"),audio:o("audio"),b:o("b"),base:o("base"),bdi:o("bdi"),bdo:o("bdo"),big:o("big"),blockquote:o("blockquote"),body:o("body"),br:o("br"),button:o("button"),canvas:o("canvas"),caption:o("caption"),cite:o("cite"),code:o("code"),col:o("col"),colgroup:o("colgroup"),data:o("data"),datalist:o("datalist"),dd:o("dd"),del:o("del"),details:o("details"),dfn:o("dfn"),dialog:o("dialog"),div:o("div"),dl:o("dl"),dt:o("dt"),em:o("em"),embed:o("embed"),fieldset:o("fieldset"),figcaption:o("figcaption"),figure:o("figure"),footer:o("footer"),form:o("form"),h1:o("h1"),h2:o("h2"),h3:o("h3"),h4:o("h4"),h5:o("h5"),h6:o("h6"),head:o("head"),header:o("header"),hgroup:o("hgroup"),hr:o("hr"),html:o("html"),i:o("i"),iframe:o("iframe"),img:o("img"),input:o("input"),ins:o("ins"),kbd:o("kbd"),keygen:o("keygen"),label:o("label"),legend:o("legend"),li:o("li"),link:o("link"),main:o("main"),map:o("map"),mark:o("mark"),menu:o("menu"),menuitem:o("menuitem"),meta:o("meta"),meter:o("meter"),nav:o("nav"),noscript:o("noscript"),object:o("object"),ol:o("ol"),optgroup:o("optgroup"),option:o("option"),output:o("output"),p:o("p"),param:o("param"),picture:o("picture"),pre:o("pre"),progress:o("progress"),q:o("q"),rp:o("rp"),rt:o("rt"),ruby:o("ruby"),s:o("s"),samp:o("samp"),script:o("script"),section:o("section"),select:o("select"),small:o("small"),source:o("source"),span:o("span"),strong:o("strong"),style:o("style"),sub:o("sub"),summary:o("summary"),sup:o("sup"),table:o("table"),tbody:o("tbody"),td:o("td"),textarea:o("textarea"),tfoot:o("tfoot"),th:o("th"),thead:o("thead"),time:o("time"),title:o("title"),tr:o("tr"),track:o("track"),u:o("u"),ul:o("ul"),var:o("var"),video:o("video"),wbr:o("wbr"),circle:o("circle"),clipPath:o("clipPath"),defs:o("defs"),ellipse:o("ellipse"),g:o("g"),image:o("image"),line:o("line"),linearGradient:o("linearGradient"),mask:o("mask"),path:o("path"),pattern:o("pattern"),polygon:o("polygon"),polyline:o("polyline"),radialGradient:o("radialGradient"),rect:o("rect"),stop:o("stop"),svg:o("svg"),text:o("text"),tspan:o("tspan")};e.exports=i},function(e,t,n){"use strict";var r=n(16),o=r.isValidElement,i=n(24);e.exports=i(o)},function(e,t,n){"use strict";var r=n(25);e.exports=function(e){var t=!1;return r(e,t)}},function(e,t,n){"use strict";var r=n(9),o=n(12),i=n(8),a=n(4),s=n(26),u=n(27);e.exports=function(e,t){function n(e){var t=e&&(I&&e[I]||e[N]);if("function"==typeof t)return t}function l(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function c(e){this.message=e,this.stack=""}function p(e){function n(n,r,i,a,u,l,p){if(a=a||M,l=l||i,p!==s)if(t)o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else;return null==r[i]?n?new c(null===r[i]?"The "+u+" `"+l+"` is marked as required "+("in `"+a+"`, but its value is `null`."):"The "+u+" `"+l+"` is marked as required in "+("`"+a+"`, but its value is `undefined`.")):null:e(r,i,a,u,l)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function d(e){function t(t,n,r,o,i,a){var s=t[n],u=T(s);if(u!==e){var l=k(s);return new c("Invalid "+o+" `"+i+"` of type "+("`"+l+"` supplied to `"+r+"`, expected ")+("`"+e+"`."))}return null}return p(t)}function f(){return p(r.thatReturnsNull)}function h(e){function t(t,n,r,o,i){if("function"!=typeof e)return new c("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a)){var u=T(a);return new c("Invalid "+o+" `"+i+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an array."))}for(var l=0;l<a.length;l++){var p=e(a,l,r,o,i+"["+l+"]",s);if(p instanceof Error)return p}return null}return p(t)}function v(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){var s=T(a);return new c("Invalid "+o+" `"+i+"` of type "+("`"+s+"` supplied to `"+r+"`, expected a single ReactElement."))}return null}return p(t)}function m(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||M,s=S(t[n]);return new c("Invalid "+o+" `"+i+"` of type "+("`"+s+"` supplied to `"+r+"`, expected ")+("instance of `"+a+"`."))}return null}return p(t)}function g(e){function t(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(l(a,e[s]))return null;var u=JSON.stringify(e);return new c("Invalid "+o+" `"+i+"` of value `"+a+"` "+("supplied to `"+r+"`, expected one of "+u+"."))}return Array.isArray(e)?p(t):r.thatReturnsNull}function y(e){function t(t,n,r,o,i){if("function"!=typeof e)return new c("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=t[n],u=T(a);if("object"!==u)return new c("Invalid "+o+" `"+i+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an object."));for(var l in a)if(a.hasOwnProperty(l)){var p=e(a,l,r,o,i+"."+l,s);if(p instanceof Error)return p}return null}return p(t)}function _(e){function t(t,n,r,o,i){for(var a=0;a<e.length;a++){var u=e[a];if(null==u(t,n,r,o,i,s))return null}return new c("Invalid "+o+" `"+i+"` supplied to "+("`"+r+"`."))}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var o=e[n];if("function"!=typeof o)return i(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",P(o),n),r.thatReturnsNull}return p(t)}function b(){function e(e,t,n,r,o){return E(e[t])?null:new c("Invalid "+r+" `"+o+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return p(e)}function C(e){function t(t,n,r,o,i){var a=t[n],u=T(a);if("object"!==u)return new c("Invalid "+o+" `"+i+"` of type `"+u+"` "+("supplied to `"+r+"`, expected `object`."));for(var l in e){var p=e[l];if(p){var d=p(a,l,r,o,i+"."+l,s);if(d)return d}}return null}return p(t)}function x(e){function t(t,n,r,o,i){var u=t[n],l=T(u);if("object"!==l)return new c("Invalid "+o+" `"+i+"` of type `"+l+"` "+("supplied to `"+r+"`, expected `object`."));var p=a({},t[n],e);for(var d in p){var f=e[d];if(!f)return new c("Invalid "+o+" `"+i+"` key `"+d+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null,"  ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null,"  "));var h=f(u,d,r,o,i+"."+d,s);if(h)return h}return null}return p(t)}function E(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(E);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!E(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!E(a[1]))return!1}return!0;default:return!1}}function w(e,t){return"symbol"===e||("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function T(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":w(t,e)?"symbol":t}function k(e){if("undefined"==typeof e||null===e)return""+e;var t=T(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function P(e){var t=k(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function S(e){return e.constructor&&e.constructor.name?e.constructor.name:M}var I="function"==typeof Symbol&&Symbol.iterator,N="@@iterator",M="<<anonymous>>",O={array:d("array"),bool:d("boolean"),func:d("function"),number:d("number"),object:d("object"),string:d("string"),symbol:d("symbol"),any:f(),arrayOf:h,element:v(),instanceOf:m,node:b(),objectOf:y,oneOf:g,oneOfType:_,shape:C,exact:x};return c.prototype=Error.prototype,O.checkPropTypes=u,O.PropTypes=O,O}},function(e,t){"use strict";var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=n},function(e,t,n){"use strict";function r(e,t,n,r,o){}e.exports=r},function(e,t){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(5),o=r.Component,i=n(16),a=i.isValidElement,s=n(7),u=n(30);e.exports=u(o,a,s)},function(e,t,n){"use strict";function r(e){return e}function o(e,t,n){function o(e,t){var n=y.hasOwnProperty(t)?y[t]:null;E.hasOwnProperty(t)&&u("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&u("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function i(e,n){if(n){u("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),u(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,i=r.__reactAutoBindPairs;n.hasOwnProperty(l)&&b.mixins(e,n.mixins);for(var a in n)if(n.hasOwnProperty(a)&&a!==l){var s=n[a],c=r.hasOwnProperty(a);if(o(c,a),b.hasOwnProperty(a))b[a](e,s);else{var p=y.hasOwnProperty(a),h="function"==typeof s,v=h&&!p&&!c&&n.autobind!==!1;if(v)i.push(a,s),r[a]=s;else if(c){var m=y[a];u(p&&("DEFINE_MANY_MERGED"===m||"DEFINE_MANY"===m),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",m,a),"DEFINE_MANY_MERGED"===m?r[a]=d(r[a],s):"DEFINE_MANY"===m&&(r[a]=f(r[a],s))}else r[a]=s}}}else;}function c(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in b;u(!o,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var i=n in e;if(i){var a=_.hasOwnProperty(n)?_[n]:null;return u("DEFINE_MANY_MERGED"===a,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),void(e[n]=d(e[n],r))}e[n]=r}}}function p(e,t){u(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var n in t)t.hasOwnProperty(n)&&(u(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function d(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return p(o,n),p(o,r),o}}function f(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function h(e,t){var n=t.bind(e);return n}function v(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=h(e,o)}}function m(e){var t=r(function(e,r,o){this.__reactAutoBindPairs.length&&v(this),this.props=e,this.context=r,this.refs=s,this.updater=o||n,this.state=null;var i=this.getInitialState?this.getInitialState():null;u("object"==typeof i&&!Array.isArray(i),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=i});t.prototype=new w,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],g.forEach(i.bind(null,t)),i(t,C),i(t,e),i(t,x),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),u(t.prototype.render,"createClass(...): Class specification must implement a `render` method.");for(var o in y)t.prototype[o]||(t.prototype[o]=null);return t}var g=[],y={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},_={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},b={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=a({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=a({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=d(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=a({},e.propTypes,t)},statics:function(e,t){c(e,t)},autobind:function(){}},C={componentDidMount:function(){this.__isMounted=!0}},x={componentWillUnmount:function(){this.__isMounted=!1}},E={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},w=function(){};return a(w.prototype,e.prototype,E),m}var i,a=n(4),s=n(11),u=n(12),l="mixins";i={},e.exports=o},function(e,t,n){"use strict";function r(e){return i.isValidElement(e)?void 0:o("143"),e}var o=n(6),i=n(16);n(12);e.exports=r},function(e,t,n){"use strict";e.exports=n(33)},function(e,t,n){"use strict";var r=n(34),o=n(38),i=n(162),a=n(59),s=n(56),u=n(167),l=n(168),c=n(169),p=n(170);n(8);o.inject();var d={findDOMNode:l,render:i.render,unmountComponentAtNode:i.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:p};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a});e.exports=d},function(e,t,n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(h)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function o(e){for(var t;t=e._renderedComponent;)e=t;return e}function i(e,t){var n=o(e);n._hostNode=t,t[m]=n}function a(e){var t=e._hostNode;t&&(delete t[m],e._hostNode=null)}function s(e,t){if(!(e._flags&v.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=o(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){i(u,a);continue e}p("32",l)}}e._flags|=v.hasCachedChildNodes}}function u(e){if(e[m])return e[m];for(var t=[];!e[m];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[m]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode?p("33"):void 0,e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent?void 0:p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=n(35),d=n(36),f=n(37),h=(n(12),d.ID_ATTRIBUTE_NAME),v=f,m="__reactInternalInstance$"+Math.random().toString(36).slice(2),g={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:i,uncacheNode:a};e.exports=g},6,function(e,t,n){"use strict";function r(e,t){return(e&t)===t}var o=n(35),i=(n(12),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in n){s.properties.hasOwnProperty(p)?o("48",p):void 0;var d=p.toLowerCase(),f=n[p],h={attributeName:d,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:r(f,t.MUST_USE_PROPERTY),hasBooleanValue:r(f,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(f,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(f,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(f,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1?void 0:o("50",p),u.hasOwnProperty(p)){var v=u[p];h.attributeName=v}a.hasOwnProperty(p)&&(h.attributeNamespace=a[p]),l.hasOwnProperty(p)&&(h.propertyName=l[p]),c.hasOwnProperty(p)&&(h.mutationMethod=c[p]),s.properties[p]=h}}}),a=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){var n=s._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},injection:i};e.exports=s},function(e,t){"use strict";var n={hasCachedChildNodes:1};e.exports=n},function(e,t,n){"use strict";function r(){E||(E=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:x,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:C,BeforeInputEventPlugin:i}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(v),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(b),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(m),y.Component.injectEnvironment(c))}var o=n(39),i=n(40),a=n(55),s=n(68),u=n(69),l=n(74),c=n(75),p=n(88),d=n(34),f=n(133),h=n(134),v=n(135),m=n(136),g=n(137),y=n(140),_=n(141),b=n(149),C=n(150),x=n(151),E=!1;e.exports={inject:r}},function(e,t){"use strict";var n={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}};e.exports=n},function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case"topCompositionStart":return k.compositionStart;case"topCompositionEnd":return k.compositionEnd;case"topCompositionUpdate":return k.compositionUpdate}}function a(e,t){return"topKeyDown"===e&&t.keyCode===_}function s(e,t){switch(e){case"topKeyUp":return y.indexOf(t.keyCode)!==-1;case"topKeyDown":return t.keyCode!==_;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function u(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function l(e,t,n,r){var o,l;if(b?o=i(e):S?s(e,n)&&(o=k.compositionEnd):a(e,n)&&(o=k.compositionStart),!o)return null;E&&(S||o!==k.compositionStart?o===k.compositionEnd&&S&&(l=S.getData()):S=v.getPooled(r));var c=m.getPooled(o,t,n,r);if(l)c.data=l;else{var p=u(n);null!==p&&(c.data=p)}return f.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case"topCompositionEnd":return u(t);case"topKeyPress":var n=t.which;return n!==w?null:(P=!0,T);case"topTextInput":var r=t.data;return r===T&&P?null:r;default:return null}}function p(e,t){if(S){if("topCompositionEnd"===e||!b&&s(e,t)){var n=S.getData();return v.release(S),S=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!o(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return E?null:t.data;default:return null}}function d(e,t,n,r){var o;if(o=x?c(e,n):p(e,n),!o)return null;var i=g.getPooled(k.beforeInput,t,n,r);return i.data=o,f.accumulateTwoPhaseDispatches(i),i}var f=n(41),h=n(48),v=n(49),m=n(52),g=n(54),y=[9,13,27,32],_=229,b=h.canUseDOM&&"CompositionEvent"in window,C=null;h.canUseDOM&&"documentMode"in document&&(C=document.documentMode);var x=h.canUseDOM&&"TextEvent"in window&&!C&&!r(),E=h.canUseDOM&&(!b||C&&C>8&&C<=11),w=32,T=String.fromCharCode(w),k={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},P=!1,S=null,I={eventTypes:k,extractEvents:function(e,t,n,r){return[l(e,t,n,r),d(e,t,n,r)]}};e.exports=I},function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return g(e,r)}function o(e,t,n){var o=r(e,n,t);o&&(n._dispatchListeners=v(n._dispatchListeners,o),n._dispatchInstances=v(n._dispatchInstances,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.traverseTwoPhase(e._targetInst,o,e)}function a(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?h.getParentInstance(t):null;h.traverseTwoPhase(n,o,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=g(e,r);o&&(n._dispatchListeners=v(n._dispatchListeners,o),n._dispatchInstances=v(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function l(e){m(e,i)}function c(e){m(e,a)}function p(e,t,n,r){h.traverseEnterLeave(n,r,s,e,t)}function d(e){m(e,u)}var f=n(42),h=n(44),v=n(46),m=n(47),g=(n(8),f.getListener),y={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:d,accumulateEnterLeaveDispatches:p};e.exports=y},function(e,t,n){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function o(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var i=n(35),a=n(43),s=n(44),u=n(45),l=n(46),c=n(47),p=(n(12),{}),d=null,f=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return f(e,!0)},v=function(e){return f(e,!1)},m=function(e){return"."+e._rootNodeID},g={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n?i("94",t,typeof n):void 0;var r=m(e),o=p[t]||(p[t]={});o[r]=n;var s=a.registrationNameModules[t];s&&s.didPutListener&&s.didPutListener(e,t,n)},getListener:function(e,t){var n=p[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=m(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=p[t];if(r){
+var o=m(e);delete r[o]}},deleteAllListeners:function(e){var t=m(e);for(var n in p)if(p.hasOwnProperty(n)&&p[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete p[n][t]}},extractEvents:function(e,t,n,r){for(var o,i=a.plugins,s=0;s<i.length;s++){var u=i[s];if(u){var c=u.extractEvents(e,t,n,r);c&&(o=l(o,c))}}return o},enqueueEvents:function(e){e&&(d=l(d,e))},processEventQueue:function(e){var t=d;d=null,e?c(t,h):c(t,v),d?i("95"):void 0,u.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};e.exports=g},function(e,t,n){"use strict";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1?void 0:a("96",e),!l.plugins[n]){t.extractEvents?void 0:a("97",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a("98",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?a("99",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]?a("100",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=n(35),s=(n(12),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?a("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?a("102",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=l},function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?v.invokeGuardedCallbackWithCatch(o,n,e):v.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)a(e,t,n[o],r[o]);else n&&a(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function c(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)?h("103"):void 0,e.currentTarget=t?g.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function p(e){return!!e._dispatchListeners}var d,f,h=n(35),v=n(45),m=(n(12),n(8),{injectComponentTree:function(e){d=e},injectTreeTraversal:function(e){f=e}}),g={isEndish:r,isMoveish:o,isStartish:i,executeDirectDispatch:c,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:l,hasDispatches:p,getInstanceFromNode:function(e){return d.getInstanceFromNode(e)},getNodeFromInstance:function(e){return d.getNodeFromInstance(e)},isAncestor:function(e,t){return f.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return f.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return f.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return f.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return f.traverseEnterLeave(e,t,n,r,o)},injection:m};e.exports=g},function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};e.exports=i},function(e,t,n){"use strict";function r(e,t){return null==t?o("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=n(35);n(12);e.exports=r},function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=n(4),i=n(50),a=n(51);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),e.exports=r},[295,35],function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=n(48),i=null;e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var i in o)if(o.hasOwnProperty(i)){var s=o[i];s?this[i]=s(n):"target"===i?this.target=r:this[i]=n[i]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return u?this.isDefaultPrevented=a.thatReturnsTrue:this.isDefaultPrevented=a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var o=n(4),i=n(50),a=n(9),s=(n(8),"function"==typeof Proxy,["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),u={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;o(a,e.prototype),e.prototype=a,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,i.addPoolingTo(e,i.fourArgumentPooler)},i.addPoolingTo(r,i.fourArgumentPooler),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n){var r=k.getPooled(M.change,e,t,n);return r.type="change",x.accumulateTwoPhaseDispatches(r),r}function o(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function i(e){var t=r(A,e,S(e));T.batchedUpdates(a,t)}function a(e){C.enqueueEvents(e),C.processEventQueue(!1)}function s(e,t){O=e,A=t,O.attachEvent("onchange",i)}function u(){O&&(O.detachEvent("onchange",i),O=null,A=null)}function l(e,t){var n=P.updateValueIfChanged(e),r=t.simulated===!0&&L._allowSimulatedPassThrough;if(n||r)return e}function c(e,t){if("topChange"===e)return t}function p(e,t,n){"topFocus"===e?(u(),s(t,n)):"topBlur"===e&&u()}function d(e,t){O=e,A=t,O.attachEvent("onpropertychange",h)}function f(){O&&(O.detachEvent("onpropertychange",h),O=null,A=null)}function h(e){"value"===e.propertyName&&l(A,e)&&i(e)}function v(e,t,n){"topFocus"===e?(f(),d(t,n)):"topBlur"===e&&f()}function m(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return l(A,n)}function g(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t,n){if("topClick"===e)return l(t,n)}function _(e,t,n){if("topInput"===e||"topChange"===e)return l(t,n)}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var r=""+t.value;t.getAttribute("value")!==r&&t.setAttribute("value",r)}}}var C=n(42),x=n(41),E=n(48),w=n(34),T=n(56),k=n(53),P=n(64),S=n(65),I=n(66),N=n(67),M={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},O=null,A=null,R=!1;E.canUseDOM&&(R=I("change")&&(!document.documentMode||document.documentMode>8));var D=!1;E.canUseDOM&&(D=I("input")&&(!document.documentMode||document.documentMode>9));var L={eventTypes:M,_allowSimulatedPassThrough:!0,_isInputEventSupported:D,extractEvents:function(e,t,n,i){var a,s,u=t?w.getNodeFromInstance(t):window;if(o(u)?R?a=c:s=p:N(u)?D?a=_:(a=m,s=v):g(u)&&(a=y),a){var l=a(e,t,n);if(l){var d=r(l,n,i);return d}}s&&s(e,u,t),"topBlur"===e&&b(t,u)}};e.exports=L},function(e,t,n){"use strict";function r(){S.ReactReconcileTransaction&&x?void 0:c("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=d.getPooled(),this.reconcileTransaction=S.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),x.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==y.length?c("124",t,y.length):void 0,y.sort(a),_++;for(var n=0;n<t;n++){var r=y[n],o=r._pendingCallbacks;r._pendingCallbacks=null;var i;if(h.logTopLevelRenders){var s=r;r._currentElement.type.isReactTopLevelWrapper&&(s=r._renderedComponent),i="React update: "+s.getName(),console.time(i)}if(v.performUpdateIfNecessary(r,e.reconcileTransaction,_),i&&console.timeEnd(i),o)for(var u=0;u<o.length;u++)e.callbackQueue.enqueue(o[u],r.getPublicInstance())}}function u(e){return r(),x.isBatchingUpdates?(y.push(e),void(null==e._updateBatchNumber&&(e._updateBatchNumber=_+1))):void x.batchedUpdates(u,e)}function l(e,t){g(x.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),b.enqueue(e,t),C=!0}var c=n(35),p=n(4),d=n(57),f=n(50),h=n(58),v=n(59),m=n(63),g=n(12),y=[],_=0,b=d.getPooled(),C=!1,x=null,E={initialize:function(){this.dirtyComponentsLength=y.length},close:function(){this.dirtyComponentsLength!==y.length?(y.splice(0,this.dirtyComponentsLength),k()):y.length=0}},w={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},T=[E,w];p(o.prototype,m,{getTransactionWrappers:function(){return T},destructor:function(){this.dirtyComponentsLength=null,d.release(this.callbackQueue),this.callbackQueue=null,S.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return m.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),f.addPoolingTo(o);var k=function(){for(;y.length||C;){if(y.length){var e=o.getPooled();e.perform(s,null,e),o.release(e)}if(C){C=!1;var t=b;b=d.getPooled(),t.notifyAll(),d.release(t)}}},P={injectReconcileTransaction:function(e){e?void 0:c("126"),S.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:c("127"),"function"!=typeof e.batchedUpdates?c("128"):void 0,"boolean"!=typeof e.isBatchingUpdates?c("129"):void 0,x=e}},S={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:u,flushBatchedUpdates:k,injection:P,asap:l};e.exports=S},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=n(35),i=n(50),a=(n(12),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o("24"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());e.exports=i.addPoolingTo(a)},function(e,t){"use strict";var n={logTopLevelRenders:!1};e.exports=n},function(e,t,n){"use strict";function r(){o.attachRefs(this,this._currentElement)}var o=n(60),i=(n(62),n(8),{mountComponent:function(e,t,n,o,i,a){var s=e.mountComponent(t,n,o,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){o.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){var s=o.shouldUpdateRefs(a,t);s&&o.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});e.exports=i},function(e,t,n){"use strict";function r(e,t,n){"function"==typeof e?e(t.getPublicInstance()):i.addComponentAsRefTo(t,e,n)}function o(e,t,n){"function"==typeof e?e(null):i.removeComponentAsRefFrom(t,e,n)}var i=n(61),a={};a.attachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},a.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&"object"==typeof t&&(o=t.ref,i=t._owner),n!==o||"string"==typeof o&&i!==r},a.detachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&o(n,e,t._owner)}},e.exports=a},function(e,t,n){"use strict";function r(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)}var o=n(35),i=(n(12),{addComponentAsRefTo:function(e,t,n){r(n)?void 0:o("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)?void 0:o("120");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});e.exports=i},function(e,t,n){"use strict";var r=null;e.exports={debugTool:r}},function(e,t,n){"use strict";var r=n(35),o=(n(12),{}),i={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,s,u){this.isInTransaction()?r("27"):void 0;var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,s,u),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()?void 0:r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=i},function(e,t,n){"use strict";function r(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function o(e){return e._wrapperState.valueTracker}function i(e,t){e._wrapperState.valueTracker=t}function a(e){e._wrapperState.valueTracker=null}function s(e){var t;return e&&(t=r(e)?""+e.checked:e.value),t}var u=n(34),l={_getTrackerFromNode:function(e){return o(u.getInstanceFromNode(e))},track:function(e){if(!o(e)){var t=u.getNodeFromInstance(e),n=r(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),l=""+t[n];t.hasOwnProperty(n)||"function"!=typeof s.get||"function"!=typeof s.set||(Object.defineProperty(t,n,{enumerable:s.enumerable,configurable:!0,get:function(){return s.get.call(this)},set:function(e){l=""+e,s.set.call(this,e)}}),i(e,{getValue:function(){return l},setValue:function(e){l=""+e},stopTracking:function(){a(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=o(e);if(!t)return l.track(e),!0;var n=t.getValue(),r=s(u.getNodeFromInstance(e));return r!==n&&(t.setValue(r),!0)},stopTracking:function(e){var t=o(e);t&&t.stopTracking()}};e.exports=l},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){"use strict";/**
 	 * Checks if an event is supported in the current execution environment.
 	 *
 	 * NOTE: This will not work correctly for non-generic events such as `change`,
@@ -21,4 +21,4 @@ l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a("98",i,e)}
 function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=n(48);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=r},function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t){"use strict";var n=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];e.exports=n},function(e,t,n){"use strict";var r=n(41),o=n(34),i=n(70),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u;if(s.window===s)u=s;else{var l=s.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var c,p;if("topMouseOut"===e){c=t;var d=n.relatedTarget||n.toElement;p=d?o.getClosestInstanceFromNode(d):null}else c=null,p=t;if(c===p)return null;var f=null==c?u:o.getNodeFromInstance(c),h=null==p?u:o.getNodeFromInstance(p),v=i.getPooled(a.mouseLeave,c,n,s);v.type="mouseleave",v.target=f,v.relatedTarget=h;var m=i.getPooled(a.mouseEnter,p,n,s);return m.type="mouseenter",m.target=h,m.relatedTarget=f,r.accumulateEnterLeaveDispatches(v,m,c,p),[v,m]}};e.exports=s},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(71),i=n(72),a=n(73),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+i.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+i.currentScrollTop}};o.augmentClass(r,s),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i=n(65),a={view:function(e){if(e.view)return e.view;var t=i(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};o.augmentClass(r,a),e.exports=r},function(e,t){"use strict";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return!!r&&!!n[r]}function r(e){return n}var o={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=r},function(e,t,n){"use strict";var r=n(36),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute("value"):void("number"!==e.type||e.hasAttribute("value")===!1?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t))}}};e.exports=l},function(e,t,n){"use strict";var r=n(76),o=n(87),i={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=i},function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){c.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):v(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(v(e,o,r),o===n)break;o=i}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&v(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var c=n(77),p=n(83),d=(n(34),n(62),n(80)),f=n(79),h=n(81),v=d(function(e,t,n){e.insertBefore(t,n)}),m=p.dangerouslyReplaceNodeWithMarkup,g={dangerouslyReplaceNodeWithMarkup:m,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n<t.length;n++){var s=t[n];switch(s.type){case"INSERT_MARKUP":o(e,s.content,r(e,s.afterNode));break;case"MOVE_EXISTING":i(e,s.fromNode,r(e,s.afterNode));break;case"SET_MARKUP":f(e,s.content);break;case"TEXT_CONTENT":h(e,s.content);break;case"REMOVE_NODE":a(e,s.fromNode)}}}};e.exports=g},function(e,t,n){"use strict";function r(e){if(m){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)g(t,n[r],null);else null!=e.html?p(t,e.html):null!=e.text&&f(t,e.text)}}function o(e,t){e.parentNode.replaceChild(t.node,e),r(t)}function i(e,t){m?e.children.push(t):e.node.appendChild(t.node)}function a(e,t){m?e.html=t:p(e.node,t)}function s(e,t){m?e.text=t:f(e.node,t)}function u(){return this.node.nodeName}function l(e){return{node:e,children:[],html:null,text:null,toString:u}}var c=n(78),p=n(79),d=n(80),f=n(81),h=1,v=11,m="undefined"!=typeof document&&"number"==typeof document.documentMode||"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent&&/\bEdge\/\d/.test(navigator.userAgent),g=d(function(e,t,n){t.node.nodeType===v||t.node.nodeType===h&&"object"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===c.html)?(r(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),r(t))});l.insertTreeBefore=g,l.replaceChildWithTree=o,l.queueChild=i,l.queueHTML=a,l.queueText=s,e.exports=l},function(e,t){"use strict";var n={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};e.exports=n},function(e,t,n){"use strict";var r,o=n(48),i=n(78),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(80),l=u(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML="<svg>"+t+"</svg>";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=l},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};e.exports=n},function(e,t,n){"use strict";var r=n(48),o=n(82),i=n(79),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void i(e,o(t))})),e.exports=a},function(e,t){"use strict";function n(e){var t=""+e,n=o.exec(t);if(!n)return t;var r,i="",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r="&quot;";break;case 38:r="&amp;";break;case 39:r="&#x27;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}s!==a&&(i+=t.substring(s,a)),s=a+1,i+=r}return s!==a?i+t.substring(s,a):i}function r(e){return"boolean"==typeof e||"number"==typeof e?""+e:n(e)}var o=/["'&<>]/;e.exports=r},function(e,t,n){"use strict";var r=n(35),o=n(77),i=n(48),a=n(84),s=n(9),u=(n(12),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM?void 0:r("56"),t?void 0:r("57"),"HTML"===e.nodeName?r("58"):void 0,"string"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},function(e,t,n){"use strict";function r(e){var t=e.match(c);return t&&t[1].toLowerCase()}function o(e,t){var n=l;l?void 0:u(!1);var o=r(e),i=o&&s(o);if(i){n.innerHTML=i[1]+e+i[2];for(var c=i[0];c--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(t?void 0:u(!1),a(p).forEach(t));for(var d=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return d}var i=n(48),a=n(85),s=n(86),u=n(12),l=i.canUseDOM?document.createElement("div"):null,c=/^\s*<(\w+)/;e.exports=o},function(e,t,n){"use strict";function r(e){var t=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?a(!1):void 0,"number"!=typeof t?a(!1):void 0,0===t||t-1 in e?void 0:a(!1),"function"==typeof e.callee?a(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}function o(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function i(e){return o(e)?Array.isArray(e)?e.slice():r(e):[e]}var a=n(12);e.exports=i},function(e,t,n){"use strict";function r(e){return a?void 0:i(!1),d.hasOwnProperty(e)||(e="*"),s.hasOwnProperty(e)||("*"===e?a.innerHTML="<link />":a.innerHTML="<"+e+"></"+e+">",s[e]=!a.firstChild),s[e]?d[e]:null}var o=n(48),i=n(12),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'<select multiple="true">',"</select>"],l=[1,"<table>","</table>"],c=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],d={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){d[e]=p,s[e]=!0}),e.exports=r},function(e,t,n){"use strict";var r=n(76),o=n(34),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=i},function(e,t,n){"use strict";function r(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" This DOM node was rendered by `"+n+"`."}}return""}function o(e,t){t&&($[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML?m("137",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""):void 0),null!=t.dangerouslySetInnerHTML&&(null!=t.children?m("60"):void 0,"object"==typeof t.dangerouslySetInnerHTML&&q in t.dangerouslySetInnerHTML?void 0:m("61")),null!=t.style&&"object"!=typeof t.style?m("62",r(e)):void 0)}function i(e,t,n,r){if(!(r instanceof R)){var o=e._hostContainerInfo,i=o._node&&o._node.nodeType===K,s=i?o._node:o._ownerDocument;V(t,s),r.getReactMountReady().enqueue(a,{inst:e,registrationName:t,listener:n})}}function a(){var e=this;w.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;I.postMountWrapper(e)}function u(){var e=this;O.postMountWrapper(e)}function l(){var e=this;N.postMountWrapper(e)}function c(){L.track(this)}function p(){var e=this;e._rootNodeID?void 0:m("63");var t=F(e);switch(t?void 0:m("64"),e._tag){case"iframe":case"object":e._wrapperState.listeners=[k.trapBubbledEvent("topLoad","load",t)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var n in Y)Y.hasOwnProperty(n)&&e._wrapperState.listeners.push(k.trapBubbledEvent(n,Y[n],t));break;case"source":e._wrapperState.listeners=[k.trapBubbledEvent("topError","error",t)];break;case"img":e._wrapperState.listeners=[k.trapBubbledEvent("topError","error",t),k.trapBubbledEvent("topLoad","load",t)];break;case"form":e._wrapperState.listeners=[k.trapBubbledEvent("topReset","reset",t),k.trapBubbledEvent("topSubmit","submit",t)];break;case"input":case"select":case"textarea":e._wrapperState.listeners=[k.trapBubbledEvent("topInvalid","invalid",t)]}}function d(){M.postUpdateWrapper(this)}function f(e){J.call(Z,e)||(Q.test(e)?void 0:m("65",e),Z[e]=!0)}function h(e,t){return e.indexOf("-")>=0||null!=t.is}function v(e){var t=e.type;f(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=n(35),g=n(4),y=n(89),_=n(91),b=n(77),C=n(78),x=n(36),E=n(99),w=n(42),T=n(43),k=n(101),P=n(37),S=n(34),I=n(104),N=n(107),M=n(108),O=n(109),A=(n(62),n(110)),R=n(129),D=(n(9),n(82)),L=(n(12),n(66),n(118),n(64)),j=(n(132),n(8),P),U=w.deleteListener,F=S.getNodeFromInstance,V=k.listenTo,B=T.registrationNameModules,W={string:!0,number:!0},H="style",q="__html",z={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},K=11,Y={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},X={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},G={listing:!0,pre:!0,textarea:!0},$=g({menuitem:!0},X),Q=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Z={},J={}.hasOwnProperty,ee=1;v.displayName="ReactDOMComponent",v.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=ee++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(p,this);break;case"input":I.mountWrapper(this,i,t),i=I.getHostProps(this,i),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this);break;case"option":N.mountWrapper(this,i,t),i=N.getHostProps(this,i);break;case"select":M.mountWrapper(this,i,t),i=M.getHostProps(this,i),e.getReactMountReady().enqueue(p,this);break;case"textarea":O.mountWrapper(this,i,t),i=O.getHostProps(this,i),e.getReactMountReady().enqueue(c,this),e.getReactMountReady().enqueue(p,this)}o(this,i);var a,d;null!=t?(a=t._namespaceURI,d=t._tag):n._tag&&(a=n._namespaceURI,d=n._tag),(null==a||a===C.svg&&"foreignobject"===d)&&(a=C.html),a===C.html&&("svg"===this._tag?a=C.svg:"math"===this._tag&&(a=C.mathml)),this._namespaceURI=a;var f;if(e.useCreateElement){var h,v=n._ownerDocument;if(a===C.html)if("script"===this._tag){var m=v.createElement("div"),g=this._currentElement.type;m.innerHTML="<"+g+"></"+g+">",h=m.removeChild(m.firstChild)}else h=i.is?v.createElement(this._currentElement.type,i.is):v.createElement(this._currentElement.type);else h=v.createElementNS(a,this._currentElement.type);S.precacheNode(this,h),this._flags|=j.hasCachedChildNodes,this._hostParent||E.setAttributeForRoot(h),this._updateDOMProperties(null,i,e);var _=b(h);this._createInitialChildren(e,i,r,_),f=_}else{var x=this._createOpenTagMarkupAndPutListeners(e,i),w=this._createContentMarkup(e,i,r);f=!w&&X[this._tag]?x+"/>":x+">"+w+"</"+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"select":i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"button":i.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(l,this)}return f},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(B.hasOwnProperty(r))o&&i(this,r,o,e);else{r===H&&(o&&(o=this._previousStyleCopy=g({},t.style)),o=_.createMarkupForStyles(o,this));var a=null;null!=this._tag&&h(this._tag,t)?z.hasOwnProperty(r)||(a=E.createMarkupForCustomAttribute(r,o)):a=E.createMarkupForProperty(r,o),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+E.createMarkupForRoot()),n+=" "+E.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=W[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=D(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return G[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&b.queueHTML(r,o.__html);else{var i=W[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&b.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u<s.length;u++)b.queueChild(r,s[u])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var i=t.props,a=this._currentElement.props;switch(this._tag){case"input":i=I.getHostProps(this,i),a=I.getHostProps(this,a);break;case"option":i=N.getHostProps(this,i),a=N.getHostProps(this,a);break;case"select":i=M.getHostProps(this,i),a=M.getHostProps(this,a);break;case"textarea":i=O.getHostProps(this,i),a=O.getHostProps(this,a)}switch(o(this,a),this._updateDOMProperties(i,a,e),this._updateDOMChildren(i,a,e,r),this._tag){case"input":I.updateWrapper(this),L.updateValueIfChanged(this);break;case"textarea":O.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(d,this)}},_updateDOMProperties:function(e,t,n){var r,o,a;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===H){var s=this._previousStyleCopy;for(o in s)s.hasOwnProperty(o)&&(a=a||{},a[o]="");this._previousStyleCopy=null}else B.hasOwnProperty(r)?e[r]&&U(this,r):h(this._tag,e)?z.hasOwnProperty(r)||E.deleteValueForAttribute(F(this),r):(x.properties[r]||x.isCustomAttribute(r))&&E.deleteValueForProperty(F(this),r);for(r in t){var u=t[r],l=r===H?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==l&&(null!=u||null!=l))if(r===H)if(u?u=this._previousStyleCopy=g({},u):this._previousStyleCopy=null,l){for(o in l)!l.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(a=a||{},a[o]="");for(o in u)u.hasOwnProperty(o)&&l[o]!==u[o]&&(a=a||{},a[o]=u[o])}else a=u;else if(B.hasOwnProperty(r))u?i(this,r,u,n):l&&U(this,r);else if(h(this._tag,t))z.hasOwnProperty(r)||E.setValueForAttribute(F(this),r,u);else if(x.properties[r]||x.isCustomAttribute(r)){var c=F(this);null!=u?E.setValueForProperty(c,r,u):E.deleteValueForProperty(c,r)}}a&&_.setValueForStyles(F(this),a,this)},_updateDOMChildren:function(e,t,n,r){var o=W[typeof e.children]?e.children:null,i=W[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,l=null!=i?null:t.children,c=null!=o||null!=a,p=null!=i||null!=s;null!=u&&null==l?this.updateChildren(null,n,r):c&&!p&&this.updateTextContent(""),null!=i?o!==i&&this.updateTextContent(""+i):null!=s?a!==s&&this.updateMarkup(""+s):null!=l&&this.updateChildren(l,n,r)},getHostNode:function(){return F(this)},unmountComponent:function(e){switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case"input":case"textarea":L.stopTracking(this);break;case"html":case"head":case"body":m("66",this._tag)}this.unmountChildren(e),S.uncacheNode(this),w.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return F(this)}},g(v.prototype,v.Mixin,A.Mixin),e.exports=v},function(e,t,n){"use strict";var r=n(34),o=n(90),i={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};e.exports=i},function(e,t){"use strict";function n(e){try{e.focus()}catch(e){}}e.exports=n},function(e,t,n){"use strict";var r=n(92),o=n(48),i=(n(62),n(93),n(95)),a=n(96),s=n(98),u=(n(8),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=0===r.indexOf("--"),a=e[r];null!=a&&(n+=u(r)+":",n+=i(r,a,t,o)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=0===a.indexOf("--"),u=i(a,t[a],n,s);if("float"!==a&&"cssFloat"!==a||(a=c),s)o.setProperty(a,u);else if(u)o[a]=u;else{var p=l&&r.shorthandPropertyExpansions[a];if(p)for(var d in p)o[d]="";else o[a]=""}}}};e.exports=d},function(e,t){"use strict";function n(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var r={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=["Webkit","ms","Moz","O"];Object.keys(r).forEach(function(e){o.forEach(function(t){r[n(t,e)]=r[e]})});var i={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},a={isUnitlessNumber:r,shorthandPropertyExpansions:i};e.exports=a},function(e,t,n){"use strict";function r(e){return o(e.replace(i,"ms-"))}var o=n(94),i=/^-ms-/;e.exports=r},function(e,t){"use strict";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}var r=/-(.)/g;e.exports=n},function(e,t,n){"use strict";function r(e,t,n,r){var o=null==t||"boolean"==typeof t||""===t;if(o)return"";var a=isNaN(t);if(r||a||0===t||i.hasOwnProperty(e)&&i[e])return""+t;if("string"==typeof t){t=t.trim()}return t+"px"}var o=n(92),i=(n(8),o.isUnitlessNumber);e.exports=r},function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=n(97),i=/^ms-/;e.exports=r},function(e,t){"use strict";function n(e){return e.replace(r,"-$1").toLowerCase()}var r=/([A-Z])/g;e.exports=n},function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},function(e,t,n){"use strict";function r(e){return!!l.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(s.test(e)?(l[e]=!0,!0):(u[e]=!0,!1))}function o(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&t===!1}var i=n(36),a=(n(34),n(62),n(100)),s=(n(8),new RegExp("^["+i.ATTRIBUTE_NAME_START_CHAR+"]["+i.ATTRIBUTE_NAME_CHAR+"]*$")),u={},l={},c={createMarkupForID:function(e){return i.ID_ATTRIBUTE_NAME+"="+a(e)},setAttributeForID:function(e,t){e.setAttribute(i.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return i.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(i.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=i.properties.hasOwnProperty(e)?i.properties[e]:null;if(n){if(o(n,t))return"";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&t===!0?r+'=""':r+"="+a(t)}return i.isCustomAttribute(e)?null==t?"":e+"="+a(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+"="+a(t):""},setValueForProperty:function(e,t,n){var r=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(r){var a=r.mutationMethod;if(a)a(e,n);else{if(o(r,n))return void this.deleteValueForProperty(e,t);if(r.mustUseProperty)e[r.propertyName]=n;else{var s=r.attributeName,u=r.attributeNamespace;u?e.setAttributeNS(u,s,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&n===!0?e.setAttribute(s,""):e.setAttribute(s,""+n)}}}else if(i.isCustomAttribute(t))return void c.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){if(r(t)){null==n?e.removeAttribute(t):e.setAttribute(t,""+n)}},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseProperty){var o=n.propertyName;n.hasBooleanValue?e[o]=!1:e[o]=""}else e.removeAttribute(n.attributeName)}else i.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=c},function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=n(82);e.exports=r},function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,v)||(e[v]=f++,p[e[v]]={}),p[e[v]]}var o,i=n(4),a=n(43),s=n(102),u=n(72),l=n(103),c=n(66),p={},d=!1,f=0,h={topAbort:"abort",topAnimationEnd:l("animationend")||"animationend",topAnimationIteration:l("animationiteration")||"animationiteration",topAnimationStart:l("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:l("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},v="_reactListenersID"+String(Math.random()).slice(2),m=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(m.handleTopLevel),m.ReactEventListener=e}},setEnabled:function(e){m.ReactEventListener&&m.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!m.ReactEventListener||!m.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,o=r(n),i=a.registrationNameDependencies[e],s=0;s<i.length;s++){var u=i[s];o.hasOwnProperty(u)&&o[u]||("topWheel"===u?c("wheel")?m.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):c("mousewheel")?m.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):m.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===u?c("scroll",!0)?m.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):m.ReactEventListener.trapBubbledEvent("topScroll","scroll",m.ReactEventListener.WINDOW_HANDLE):"topFocus"===u||"topBlur"===u?(c("focus",!0)?(m.ReactEventListener.trapCapturedEvent("topFocus","focus",n),m.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):c("focusin")&&(m.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),m.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),o.topBlur=!0,o.topFocus=!0):h.hasOwnProperty(u)&&m.ReactEventListener.trapBubbledEvent(u,h[u],n),o[u]=!0)}},trapBubbledEvent:function(e,t,n){return m.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return m.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent("MouseEvent");return null!=e&&"pageX"in e},ensureScrollValueMonitoring:function(){if(void 0===o&&(o=m.supportsEventPageXY()),!o&&!d){var e=u.refreshScrollValues;m.ReactEventListener.monitorScrollValue(e),d=!0}}});e.exports=m},function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=n(42),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);r(a)}};e.exports=i},function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),
 n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var i=n(48),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};i.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),e.exports=o},function(e,t,n){"use strict";function r(){this._rootNodeID&&d.updateWrapper(this)}function o(e){var t="checkbox"===e.type||"radio"===e.type;return t?null!=e.checked:null!=e.value}function i(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);p.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=c.getNodeFromInstance(this),s=i;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;d<u.length;d++){var f=u[d];if(f!==i&&f.form===i.form){var h=c.getInstanceFromNode(f);h?void 0:a("90"),p.asap(r,h)}}}return n}var a=n(35),s=n(4),u=n(99),l=n(105),c=n(34),p=n(56),d=(n(12),n(8),{getHostProps:function(e,t){var n=l.getValue(t),r=l.getChecked(t),o=s({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange});return o},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:i.bind(e),controlled:o(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&u.setValueForProperty(c.getNodeFromInstance(e),"checked",n||!1);var r=c.getNodeFromInstance(e),o=l.getValue(t);if(null!=o)if(0===o&&""===r.value)r.value="0";else if("number"===t.type){var i=parseFloat(r.value,10)||0;(o!=i||o==i&&r.value!=o)&&(r.value=""+o)}else r.value!==""+o&&(r.value=""+o);else null==t.value&&null!=t.defaultValue&&r.defaultValue!==""+t.defaultValue&&(r.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=c.getNodeFromInstance(e);switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":n.value="",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;""!==r&&(n.name=""),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,""!==r&&(n.name=r)}});e.exports=d},function(e,t,n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink?s("87"):void 0}function o(e){r(e),null!=e.value||null!=e.onChange?s("88"):void 0}function i(e){r(e),null!=e.checked||null!=e.onChange?s("89"):void 0}function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=n(35),u=n(106),l=n(24),c=n(3),p=l(c.isValidElement),d=(n(12),n(8),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),f={value:function(e,t,n){return!e[t]||d[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:p.func},h={},v={checkPropTypes:function(e,t,n){for(var r in f){if(f.hasOwnProperty(r))var o=f[r](t,r,e,"prop",null,u);if(o instanceof Error&&!(o.message in h)){h[o.message]=!0;a(n)}}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=v},function(e,t){"use strict";var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=n},function(e,t,n){"use strict";function r(e){var t="";return i.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?t+=e:u||(u=!0))}),t}var o=n(4),i=n(3),a=n(34),s=n(108),u=(n(8),!1),l={mountWrapper:function(e,t,n){var o=null;if(null!=n){var i=n;"optgroup"===i._tag&&(i=i._hostParent),null!=i&&"select"===i._tag&&(o=s.getSelectValueContext(i))}var a=null;if(null!=o){var u;if(u=null!=t.value?t.value+"":r(t.children),a=!1,Array.isArray(o)){for(var l=0;l<o.length;l++)if(""+o[l]===u){a=!0;break}}else a=""+o===u}e._wrapperState={selected:a}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){var n=a.getNodeFromInstance(e);n.setAttribute("value",t.value)}},getHostProps:function(e,t){var n=o({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var i=r(t.children);return i&&(n.children=i),n}};e.exports=l},function(e,t,n){"use strict";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&o(this,Boolean(e.multiple),t)}}function o(e,t,n){var r,o,i=u.getNodeFromInstance(e).options;if(t){for(r={},o=0;o<n.length;o++)r[""+n[o]]=!0;for(o=0;o<i.length;o++){var a=r.hasOwnProperty(i[o].value);i[o].selected!==a&&(i[o].selected=a)}}else{for(r=""+n,o=0;o<i.length;o++)if(i[o].value===r)return void(i[o].selected=!0);i.length&&(i[0].selected=!0)}}function i(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),l.asap(r,this),n}var a=n(4),s=n(105),u=n(34),l=n(56),c=(n(8),!1),p={getHostProps:function(e,t){return a({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=s.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:i.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||c||(c=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=s.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,o(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?o(e,Boolean(t.multiple),t.defaultValue):o(e,Boolean(t.multiple),t.multiple?[]:""))}};e.exports=p},function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=n(35),a=n(4),s=n(105),u=n(34),l=n(56),c=(n(12),n(8),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?i("91"):void 0;var n=a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a?i("92"):void 0,Array.isArray(u)&&(u.length<=1?void 0:i("93"),u=u[0]),a=""+u),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});e.exports=c},function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:d.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){p.processChildrenUpdates(e,t)}var c=n(35),p=n(111),d=(n(112),n(62),n(17),n(59)),f=n(113),h=(n(9),n(128)),v=(n(12),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a,s=0;return a=h(t,s),f.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=0,l=d.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=i++,o.push(l)}return o},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");var r=[s(e)];l(this,r)},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");var r=[a(e)];l(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,p=0,f=0,h=0,v=null;for(s in a)if(a.hasOwnProperty(s)){var m=r&&r[s],g=a[s];m===g?(c=u(c,this.moveChild(m,v,p,f)),f=Math.max(m._mountIndex,f),m._mountIndex=p):(m&&(f=Math.max(m._mountIndex,f)),c=u(c,this._mountChildAtIndex(g,i[h],v,p,t,n)),h++),p++,v=d.getHostNode(g)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return o(e,t,n)},createChild:function(e,t,n){return r(n,t,e._mountIndex)},removeChild:function(e,t){return i(e,t)},_mountChildAtIndex:function(e,t,n,r,o,i){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}});e.exports=v},function(e,t,n){"use strict";var r=n(35),o=(n(12),!1),i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o?r("104"):void 0,i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};e.exports=i},function(e,t){"use strict";var n={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=n},function(e,t,n){(function(t){"use strict";function r(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=i(t,!0))}var o=n(59),i=n(115),a=(n(123),n(119)),s=n(124);n(8);"undefined"!=typeof t&&t.env,1;var u={instantiateChildren:function(e,t,n,o){if(null==e)return null;var i={};return s(e,r,i),i},updateChildren:function(e,t,n,r,s,u,l,c,p){if(t||e){var d,f;for(d in t)if(t.hasOwnProperty(d)){f=e&&e[d];var h=f&&f._currentElement,v=t[d];if(null!=f&&a(h,v))o.receiveComponent(f,v,s,c),t[d]=f;else{f&&(r[d]=o.getHostNode(f),o.unmountComponent(f,!1));var m=i(v,!0);t[d]=m;var g=o.mountComponent(m,s,u,l,c,p);n.push(g)}}for(d in e)!e.hasOwnProperty(d)||t&&t.hasOwnProperty(d)||(f=e[d],r[d]=o.getHostNode(f),o.unmountComponent(f,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];o.unmountComponent(r,t)}}};e.exports=u}).call(t,n(114))},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function i(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){v&&f&&(v=!1,f.length?h=f.concat(h):m=-1,h.length&&s())}function s(){if(!v){var e=o(a);v=!0;for(var t=h.length;t;){for(f=h,h=[];++m<t;)f&&f[m].run();m=-1,t=h.length}f=null,v=!1,i(e)}}function u(e,t){this.fun=e,this.array=t}function l(){}var c,p,d=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:n}catch(e){c=n}try{p="function"==typeof clearTimeout?clearTimeout:r}catch(e){p=r}}();var f,h=[],v=!1,m=-1;d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];h.push(new u(e,t)),1!==h.length||v||o(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},d.title="browser",d.browser=!0,d.env={},d.argv=[],d.version="",d.versions={},d.on=l,d.addListener=l,d.once=l,d.off=l,d.removeListener=l,d.removeAllListeners=l,d.emit=l,d.prependListener=l,d.prependOnceListener=l,d.listeners=function(e){return[]},d.binding=function(e){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(e){throw new Error("process.chdir is not supported")},d.umask=function(){return 0}},function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||e===!1)n=l.create(i);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var d="";d+=r(s._owner),a("130",null==u?u:typeof u,d)}"string"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=c.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=n(35),s=n(4),u=n(116),l=n(120),c=n(121),p=(n(122),n(12),n(8),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:i}),e.exports=i},function(e,t,n){"use strict";function r(e){}function o(e,t){}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function a(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var s=n(35),u=n(4),l=n(3),c=n(111),p=n(17),d=n(45),f=n(112),h=(n(62),n(117)),v=n(59),m=n(11),g=(n(12),n(118)),y=n(119),_=(n(8),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=f.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return o(e,t),t};var b=1,C={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,u){this._context=u,this._mountOrder=b++,this._hostParent=t,this._hostContainerInfo=n;var c,p=this._currentElement.props,d=this._processContext(u),h=this._currentElement.type,v=e.getUpdateQueue(),g=i(h),y=this._constructComponent(g,p,d,v);g||null!=y&&null!=y.render?a(h)?this._compositeType=_.PureClass:this._compositeType=_.ImpureClass:(c=y,o(h,c),null===y||y===!1||l.isValidElement(y)?void 0:s("105",h.displayName||h.name||"Component"),y=new r(h),this._compositeType=_.StatelessFunctional);y.props=p,y.context=d,y.refs=m,y.updater=v,this._instance=y,f.set(y,this);var C=y.state;void 0===C&&(y.state=C=null),"object"!=typeof C||Array.isArray(C)?s("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var x;return x=y.unstable_handleError?this.performInitialMountWithErrorHandling(c,t,n,e,u):this.performInitialMount(c,t,n,e,u),y.componentDidMount&&e.getReactMountReady().enqueue(y.componentDidMount,y),x},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,o){var i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance,a=0;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var l=v.mountComponent(u,r,t,n,this._processChildContext(o),a);return l},getHostNode:function(){return v.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";d.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(v.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,f.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return m;var r={};for(var o in n)r[o]=e[o];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){"object"!=typeof n.childContextTypes?s("107",this.getName()||"ReactCompositeComponent"):void 0;for(var o in t)o in n.childContextTypes?void 0:s("108",this.getName()||"ReactCompositeComponent",o);return u({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?v.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,o){var i=this._instance;null==i?s("136",this.getName()||"ReactCompositeComponent"):void 0;var a,u=!1;this._context===o?a=i.context:(a=this._processContext(o),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&i.componentWillReceiveProps&&i.componentWillReceiveProps(c,a);var p=this._processPendingState(c,a),d=!0;this._pendingForceUpdate||(i.shouldComponentUpdate?d=i.shouldComponentUpdate(c,p,a):this._compositeType===_.PureClass&&(d=!g(l,c)||!g(i.state,p))),this._updateBatchNumber=null,d?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,p,a,e,o)):(this._currentElement=n,this._context=o,i.props=c,i.state=p,i.context=a)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var i=u({},o?r[0]:n.state),a=o?1:0;a<r.length;a++){var s=r[a];u(i,"function"==typeof s?s.call(n,i,e,t):s)}return i},_performComponentUpdate:function(e,t,n,r,o,i){var a,s,u,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(a=l.props,s=l.state,u=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,l.props=t,l.state=n,l.context=r,this._updateRenderedComponent(o,i),c&&o.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,a,s,u),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent(),i=0;if(y(r,o))v.receiveComponent(n,o,e,this._processChildContext(t));else{var a=v.getHostNode(n);v.unmountComponent(n,!1);var s=h.getType(o);this._renderedNodeType=s;var u=this._instantiateReactComponent(o,s!==h.EMPTY);this._renderedComponent=u;var l=v.mountComponent(u,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),i);this._replaceNodeWithMarkup(a,l,n)}},_replaceNodeWithMarkup:function(e,t,n){c.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e,t=this._instance;return e=t.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==_.StatelessFunctional){p.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{p.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||e===!1||l.isValidElement(e)?void 0:s("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n?s("110"):void 0;var r=t.getPublicInstance(),o=n.refs===m?n.refs={}:n.refs;o[e]=r},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===_.StatelessFunctional?null:e},_instantiateReactComponent:null};e.exports=C},function(e,t,n){"use strict";var r=n(35),o=n(3),i=(n(12),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?i.EMPTY:o.isValidElement(e)?"function"==typeof e.type?i.COMPOSITE:i.HOST:void r("26",e)}});e.exports=i},function(e,t){"use strict";function n(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function r(e,t){if(n(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(var a=0;a<r.length;a++)if(!o.call(t,r[a])||!n(e[r[a]],t[r[a]]))return!1;return!0}var o=Object.prototype.hasOwnProperty;e.exports=r},function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t){"use strict";var n,r={injectEmptyComponentFactory:function(e){n=e}},o={create:function(e){return n(e)}};o.injection=r,e.exports=o},function(e,t,n){"use strict";function r(e){return s?void 0:a("111",e.type),new s(e)}function o(e){return new u(e)}function i(e){return e instanceof u}var a=n(35),s=(n(12),null),u=null,l={injectGenericComponentClass:function(e){s=e},injectTextComponentClass:function(e){u=e}},c={createInternalComponent:r,createInstanceForText:o,isTextComponent:i,injection:l};e.exports=c},function(e,t){"use strict";function n(){return r++}var r=1;e.exports=n},21,function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,v=0,m=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g<e.length;g++)f=e[g],h=m+r(f,g),v+=o(f,h,n,i);else{var y=u(e);if(y){var _,b=y.call(e);if(y!==e.entries)for(var C=0;!(_=b.next()).done;)f=_.value,h=m+r(f,C++),v+=o(f,h,n,i);else for(;!(_=b.next()).done;){var x=_.value;x&&(f=x[1],h=m+l.escape(x[0])+p+r(f,0),v+=o(f,h,n,i))}}else if("object"===d){var E="",w=String(e);a("31","[object Object]"===w?"object with keys {"+Object.keys(e).join(", ")+"}":w,E)}}return v}function i(e,t,n){return null==e?0:o(e,"",t,n)}var a=n(35),s=(n(17),n(125)),u=n(126),l=(n(12),n(123)),c=(n(8),"."),p=":";e.exports=i},18,20,function(e,t,n){"use strict";function r(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp("^"+t.call(n).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");try{var o=t.call(e);return r.test(o)}catch(e){return!1}}function o(e){var t=l(e);if(t){var n=t.childIDs;c(e),n.forEach(o)}}function i(e,t,n){return"\n    in "+(e||"Unknown")+(t?" (at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+")":n?" (created by "+n+")":"")}function a(e){return null==e?"#empty":"string"==typeof e||"number"==typeof e?"#text":"string"==typeof e.type?e.type:e.type.displayName||e.type.name||"Unknown"}function s(e){var t,n=T.getDisplayName(e),r=T.getElement(e),o=T.getOwnerID(e);return o&&(t=T.getDisplayName(o)),i(n,r&&r._source,t)}var u,l,c,p,d,f,h,v=n(6),m=n(17),g=(n(12),n(8),"function"==typeof Array.from&&"function"==typeof Map&&r(Map)&&null!=Map.prototype&&"function"==typeof Map.prototype.keys&&r(Map.prototype.keys)&&"function"==typeof Set&&r(Set)&&null!=Set.prototype&&"function"==typeof Set.prototype.keys&&r(Set.prototype.keys));if(g){var y=new Map,_=new Set;u=function(e,t){y.set(e,t)},l=function(e){return y.get(e)},c=function(e){y.delete(e)},p=function(){return Array.from(y.keys())},d=function(e){_.add(e)},f=function(e){_.delete(e)},h=function(){return Array.from(_.keys())}}else{var b={},C={},x=function(e){return"."+e},E=function(e){return parseInt(e.substr(1),10)};u=function(e,t){var n=x(e);b[n]=t},l=function(e){var t=x(e);return b[t]},c=function(e){var t=x(e);delete b[t]},p=function(){return Object.keys(b).map(E)},d=function(e){var t=x(e);C[t]=!0},f=function(e){var t=x(e);delete C[t]},h=function(){return Object.keys(C).map(E)}}var w=[],T={onSetChildren:function(e,t){var n=l(e);n?void 0:v("144"),n.childIDs=t;for(var r=0;r<t.length;r++){var o=t[r],i=l(o);i?void 0:v("140"),null==i.childIDs&&"object"==typeof i.element&&null!=i.element?v("141"):void 0,i.isMounted?void 0:v("71"),null==i.parentID&&(i.parentID=e),i.parentID!==e?v("142",o,i.parentID,e):void 0}},onBeforeMountComponent:function(e,t,n){var r={element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0};u(e,r)},onBeforeUpdateComponent:function(e,t){var n=l(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=l(e);t?void 0:v("144"),t.isMounted=!0;var n=0===t.parentID;n&&d(e)},onUpdateComponent:function(e){var t=l(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=l(e);if(t){t.isMounted=!1;var n=0===t.parentID;n&&f(e)}w.push(e)},purgeUnmountedComponents:function(){if(!T._preventPurging){for(var e=0;e<w.length;e++){var t=w[e];o(t)}w.length=0}},isMounted:function(e){var t=l(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t="";if(e){var n=a(e),r=e._owner;t+=i(n,e._source,r&&r.getName())}var o=m.current,s=o&&o._debugID;return t+=T.getStackAddendumByID(s)},getStackAddendumByID:function(e){for(var t="";e;)t+=s(e),e=T.getParentID(e);return t},getChildIDs:function(e){var t=l(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=T.getElement(e);return t?a(t):null},getElement:function(e){var t=l(e);return t?t.element:null},getOwnerID:function(e){var t=T.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=l(e);return t?t.parentID:null},getSource:function(e){var t=l(e),n=t?t.element:null,r=null!=n?n._source:null;return r},getText:function(e){var t=T.getElement(e);return"string"==typeof t?t:"number"==typeof t?""+t:null},getUpdateCount:function(e){var t=l(e);return t?t.updateCount:0},getRootIDs:h,getRegisteredIDs:p,pushNonStandardWarningStack:function(e,t){if("function"==typeof console.reactStack){var n=[],r=m.current,o=r&&r._debugID;try{for(e&&n.push({name:o?T.getDisplayName(o):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});o;){var i=T.getElement(o),a=T.getParentID(o),s=T.getOwnerID(o),u=s?T.getDisplayName(s):null,l=i&&i._source;n.push({name:u,fileName:l?l.fileName:null,lineNumber:l?l.lineNumber:null}),o=a}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){"function"==typeof console.reactStackEnd&&console.reactStackEnd()}};e.exports=T},function(e,t,n){(function(t){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e,i=void 0===o[n];i&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(n(123),n(124));n(8);"undefined"!=typeof t&&t.env,1,e.exports=o}).call(t,n(114))},function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new s(this)}var o=n(4),i=n(50),a=n(63),s=(n(62),n(130)),u=[],l={enqueue:function(){}},c={getTransactionWrappers:function(){return u},getReactMountReady:function(){return l},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};o(r.prototype,a,c),i.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){}var i=n(131),a=(n(8),function(){function e(t){r(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&i.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()?i.enqueueForceUpdate(e):o(e,"forceUpdate")},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()?i.enqueueReplaceState(e,t):o(e,"replaceState")},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()?i.enqueueSetState(e,t):o(e,"setState")},e}());e.exports=a},function(e,t,n){"use strict";function r(e){u.enqueueUpdate(e)}function o(e){var t=typeof e;if("object"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,t){var n=s.get(e);if(!n){return null}return n}var a=n(35),s=(n(17),n(112)),u=(n(62),n(56)),l=(n(12),n(8),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=i(e,"setState");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?a("122",t,o(e)):void 0;
 }});e.exports=l},function(e,t,n){"use strict";var r=(n(4),n(9)),o=(n(8),r);e.exports=o},function(e,t,n){"use strict";var r=n(4),o=n(77),i=n(34),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument,l=u.createComment(s);return i.precacheNode(this,l),o(l)}return e.renderToStaticMarkup?"":"<!--"+s+"-->"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t,n){"use strict";function r(e,t){"_hostNode"in e?void 0:u("33"),"_hostNode"in t?void 0:u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e?void 0:u("35"),"_hostNode"in t?void 0:u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return"_hostNode"in e?void 0:u("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o<r.length;o++)t(r[o],"bubbled",n)}function s(e,t,n,o,i){for(var a=e&&t?r(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u=[];t&&t!==a;)u.push(t),t=t._hostParent;var l;for(l=0;l<s.length;l++)n(s[l],"bubbled",o);for(l=u.length;l-- >0;)n(u[l],"captured",i)}var u=n(35);n(12);e.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},function(e,t,n){"use strict";var r=n(35),o=n(4),i=n(76),a=n(77),s=n(34),u=n(82),l=(n(12),n(132),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ",l=" /react-text ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var c=n._ownerDocument,p=c.createComment(i),d=c.createComment(l),f=a(c.createDocumentFragment());return a.queueChild(f,a(p)),this._stringText&&a.queueChild(f,a(c.createTextNode(this._stringText))),a.queueChild(f,a(d)),s.precacheNode(this,p),this._closingComment=d,f}var h=u(this._stringText);return e.renderToStaticMarkup?h:"<!--"+i+"-->"+h+"<!--"+l+"-->"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=n(4),i=n(56),a=n(63),s=n(9),u={initialize:s,close:function(){d.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=d.isBatchingUpdates;return d.isBatchingUpdates=!0,a?e(t,n,r,o,i):p.perform(e,null,t,n,r,o,i)}};e.exports=d},function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=f(e.nativeEvent),n=p.getClosestInstanceFromNode(t),o=n;do e.ancestors.push(o),o=o&&r(o);while(o);for(var i=0;i<e.ancestors.length;i++)n=e.ancestors[i],v._handleTopLevel(e.topLevelType,n,e.nativeEvent,f(e.nativeEvent))}function a(e){var t=h(window);e(t)}var s=n(4),u=n(138),l=n(48),c=n(50),p=n(34),d=n(56),f=n(65),h=n(139);s(o.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),c.addPoolingTo(o,c.twoArgumentPooler);var v={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:l.canUseDOM?window:null,setHandleTopLevel:function(e){v._handleTopLevel=e},setEnabled:function(e){v._enabled=!!e},isEnabled:function(){return v._enabled},trapBubbledEvent:function(e,t,n){return n?u.listen(n,t,v.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?u.capture(n,t,v.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(v._enabled){var n=o.getPooled(e,t);try{d.batchedUpdates(i,n)}finally{o.release(n)}}}};e.exports=v},function(e,t,n){"use strict";var r=n(9),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=o},function(e,t){"use strict";function n(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t,n){"use strict";var r=n(36),o=n(42),i=n(44),a=n(111),s=n(120),u=n(101),l=n(121),c=n(56),p={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:i.injection,EventEmitter:u.injection,HostComponent:l.injection,Updates:c.injection};e.exports=p},function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=i.getPooled(null),this.useCreateElement=e}var o=n(4),i=n(57),a=n(50),s=n(101),u=n(142),l=(n(62),n(63)),c=n(131),p={initialize:u.getSelectionInformation,close:u.restoreSelection},d={initialize:function(){var e=s.isEnabled();return s.setEnabled(!1),e},close:function(e){s.setEnabled(e)}},f={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h=[p,d,f],v={getTransactionWrappers:function(){return h},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return c},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){i.release(this.reactMountReady),this.reactMountReady=null}};o(r.prototype,l,v),a.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";function r(e){return i(document.documentElement,e)}var o=n(143),i=n(145),a=n(90),s=n(148),u={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=s();return{focusedElem:e,selectionRange:u.hasSelectionCapabilities(e)?u.getSelection(e):null}},restoreSelection:function(e){var t=s(),n=e.focusedElem,o=e.selectionRange;t!==n&&r(n)&&(u.hasSelectionCapabilities(n)&&u.setSelection(n,o),a(n))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=o.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if(void 0===r&&(r=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",r-n),i.select()}else o.setOffsets(e,t)}};e.exports=u},function(e,t,n){"use strict";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint("EndToStart",n);var i=o.text.length,a=i+r;return{start:i,end:a}}function i(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,i=t.focusNode,a=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=u?0:s.toString().length,c=s.cloneRange();c.selectNodeContents(e),c.setEnd(s.startContainer,s.startOffset);var p=r(c.startContainer,c.startOffset,c.endContainer,c.endOffset),d=p?0:c.toString().length,f=d+l,h=document.createRange();h.setStart(n,o),h.setEnd(i,a);var v=h.collapsed;return{start:v?f:d,end:v?d:f}}function a(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=n(48),l=n(144),c=n(51),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:i,setOffsets:p?a:s};e.exports=d},function(e,t){"use strict";function n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function r(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function o(e,t){for(var o=n(e),i=0,a=0;o;){if(3===o.nodeType){if(a=i+o.textContent.length,i<=t&&a>=t)return{node:o,offset:t-i};i=a}o=n(r(o))}}e.exports=o},function(e,t,n){"use strict";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=n(146);e.exports=r},function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=n(147);e.exports=r},function(e,t){"use strict";function n(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"==typeof n.Node?e instanceof n.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}e.exports=n},function(e,t){"use strict";function n(e){if(e=e||("undefined"!=typeof document?document:void 0),"undefined"==typeof e)return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=n},function(e,t){"use strict";var n={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},r={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:n.xlink,xlinkArcrole:n.xlink,xlinkHref:n.xlink,xlinkRole:n.xlink,xlinkShow:n.xlink,xlinkTitle:n.xlink,xlinkType:n.xlink,xmlBase:n.xml,xmlLang:n.xml,xmlSpace:n.xml},DOMAttributeNames:{}};Object.keys(r).forEach(function(e){o.Properties[e]=0,r[e]&&(o.DOMAttributeNames[e]=r[e])}),e.exports=o},function(e,t,n){"use strict";function r(e){if("selectionStart"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function o(e,t){if(y||null==v||v!==c())return null;var n=r(v);if(!g||!d(g,n)){g=n;var o=l.getPooled(h.select,m,e,t);return o.type="select",o.target=v,i.accumulateTwoPhaseDispatches(o),o}return null}var i=n(41),a=n(48),s=n(34),u=n(142),l=n(53),c=n(148),p=n(67),d=n(118),f=a.canUseDOM&&"documentMode"in document&&document.documentMode<=11,h={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},v=null,m=null,g=null,y=!1,_=!1,b={eventTypes:h,extractEvents:function(e,t,n,r){if(!_)return null;var i=t?s.getNodeFromInstance(t):window;switch(e){case"topFocus":(p(i)||"true"===i.contentEditable)&&(v=i,m=t,g=null);break;case"topBlur":v=null,m=null,g=null;break;case"topMouseDown":y=!0;break;case"topContextMenu":case"topMouseUp":return y=!1,o(n,r);case"topSelectionChange":if(f)break;case"topKeyDown":case"topKeyUp":return o(n,r)}return null},didPutListener:function(e,t,n){"onSelect"===t&&(_=!0)}};e.exports=b},function(e,t,n){"use strict";function r(e){return"."+e._rootNodeID}function o(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var i=n(35),a=n(138),s=n(41),u=n(34),l=n(152),c=n(153),p=n(53),d=n(154),f=n(155),h=n(70),v=n(158),m=n(159),g=n(160),y=n(71),_=n(161),b=n(9),C=n(156),x=(n(12),{}),E={};["abort","animationEnd","animationIteration","animationStart","blur","canPlay","canPlayThrough","click","contextMenu","copy","cut","doubleClick","drag","dragEnd","dragEnter","dragExit","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","ended","error","focus","input","invalid","keyDown","keyPress","keyUp","load","loadedData","loadedMetadata","loadStart","mouseDown","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","progress","rateChange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeUpdate","touchCancel","touchEnd","touchMove","touchStart","transitionEnd","volumeChange","waiting","wheel"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n="on"+t,r="top"+t,o={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[r]};x[e]=o,E[r]=o});var w={},T={eventTypes:x,extractEvents:function(e,t,n,r){var o=E[e];if(!o)return null;var a;switch(e){case"topAbort":case"topCanPlay":case"topCanPlayThrough":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topVolumeChange":case"topWaiting":a=p;break;case"topKeyPress":if(0===C(n))return null;case"topKeyDown":case"topKeyUp":a=f;break;case"topBlur":case"topFocus":a=d;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":a=h;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":a=v;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":a=m;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":a=l;break;case"topTransitionEnd":a=g;break;case"topScroll":a=y;break;case"topWheel":a=_;break;case"topCopy":case"topCut":case"topPaste":a=c}a?void 0:i("86",e);var u=a.getPooled(o,t,n,r);return s.accumulateTwoPhaseDispatches(u),u},didPutListener:function(e,t,n){if("onClick"===t&&!o(e._tag)){var i=r(e),s=u.getNodeFromInstance(e);w[i]||(w[i]=a.listen(s,"click",b))}},willDeleteListener:function(e,t){if("onClick"===t&&!o(e._tag)){var n=r(e);w[n].remove(),delete w[n]}}};e.exports=T},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i={animationName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(71),i={relatedTarget:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(71),i=n(156),a=n(157),s=n(73),u={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return"keypress"===e.type?i(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?i(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};o.augmentClass(r,u),e.exports=r},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=n(156),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(70),i={dataTransfer:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(71),i=n(73),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:i};o.augmentClass(r,a),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(53),i={propertyName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(70),i={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function o(e){return e?e.nodeType===R?e.documentElement:e.firstChild:null}function i(e){return e.getAttribute&&e.getAttribute(M)||""}function a(e,t,n,r,o){var i;if(C.logTopLevelRenders){var a=e._currentElement.props.child,s=a.type;i="React mount: "+("string"==typeof s?s:s.displayName||s.name),console.time(i)}var u=w.mountComponent(e,n,null,_(e,t),o,0);i&&console.timeEnd(i),e._renderedComponent._topLevelWrapper=e,F._mountImageIntoNode(u,t,e,r,n)}function s(e,t,n,r){var o=k.ReactReconcileTransaction.getPooled(!n&&b.useCreateElement);o.perform(a,null,e,t,o,n,r),k.ReactReconcileTransaction.release(o)}function u(e,t,n){for(w.unmountComponent(e,n),t.nodeType===R&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function l(e){var t=o(e);if(t){var n=y.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function c(e){return!(!e||e.nodeType!==A&&e.nodeType!==R&&e.nodeType!==D)}function p(e){var t=o(e),n=t&&y.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function d(e){var t=p(e);return t?t._hostContainerInfo._topLevelWrapper:null}var f=n(35),h=n(77),v=n(36),m=n(3),g=n(101),y=(n(17),n(34)),_=n(163),b=n(164),C=n(58),x=n(112),E=(n(62),n(165)),w=n(59),T=n(131),k=n(56),P=n(11),S=n(115),I=(n(12),n(79)),N=n(119),M=(n(8),v.ID_ATTRIBUTE_NAME),O=v.ROOT_ATTRIBUTE_NAME,A=1,R=9,D=11,L={},j=1,U=function(){this.rootID=j++};U.prototype.isReactComponent={},U.prototype.render=function(){return this.props.child},U.isReactTopLevelWrapper=!0;var F={TopLevelWrapper:U,_instancesByReactRootID:L,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return F.scrollMonitor(r,function(){T.enqueueElementInternal(e,t,n),o&&T.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,r){c(t)?void 0:f("37"),g.ensureScrollValueMonitoring();var o=S(e,!1);k.batchedUpdates(s,o,t,n,r);var i=o._instance.rootID;return L[i]=o,o},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&x.has(e)?void 0:f("38"),F._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){T.validateCallback(r,"ReactDOM.render"),m.isValidElement(t)?void 0:f("39","string"==typeof t?" Instead of passing a string like 'div', pass React.createElement('div') or <div />.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=m.createElement(U,{child:t});if(e){var u=x.get(e);a=u._processChildContext(u._context)}else a=P;var c=d(n);if(c){var p=c._currentElement,h=p.props.child;if(N(h,t)){var v=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(v)};return F._updateRootComponent(c,s,a,n,g),v}F.unmountComponentAtNode(n)}var y=o(n),_=y&&!!i(y),b=l(n),C=_&&!c&&!b,E=F._renderNewRootComponent(s,n,C,a)._renderedComponent.getPublicInstance();return r&&r.call(E),E},render:function(e,t,n){return F._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)?void 0:f("40");var t=d(e);if(!t){l(e),1===e.nodeType&&e.hasAttribute(O);return!1}return delete L[t._instance.rootID],k.batchedUpdates(u,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)?void 0:f("41"),i){var s=o(t);if(E.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(E.CHECKSUM_ATTR_NAME);s.removeAttribute(E.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(E.CHECKSUM_ATTR_NAME,u);var p=e,d=r(p,l),v=" (client) "+p.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);t.nodeType===R?f("42",v):void 0}if(t.nodeType===R?f("43"):void 0,a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else I(t,e),y.precacheNode(n,t.firstChild)}};e.exports=F},function(e,t,n){"use strict";function r(e,t){var n={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===o?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null};return n}var o=(n(132),9);e.exports=r},function(e,t){"use strict";var n={useCreateElement:!0,useFiber:!1};e.exports=n},function(e,t,n){"use strict";var r=n(166),o=/\/?>/,i=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};e.exports=a},function(e,t){"use strict";function n(e){for(var t=1,n=0,o=0,i=e.length,a=i&-4;o<a;){for(var s=Math.min(o+4096,a);o<s;o+=4)n+=(t+=e.charCodeAt(o))+(t+=e.charCodeAt(o+1))+(t+=e.charCodeAt(o+2))+(t+=e.charCodeAt(o+3));t%=r,n%=r}for(;o<i;o++)n+=t+=e.charCodeAt(o);return t%=r,n%=r,t|n<<16}var r=65521;e.exports=n},28,function(e,t,n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);return t?(t=s(t),t?i.getNodeFromInstance(t):null):void("function"==typeof e.render?o("44"):o("45",Object.keys(e)))}var o=n(35),i=(n(17),n(34)),a=n(112),s=n(169);n(12),n(8);e.exports=r},function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=n(117);e.exports=r},function(e,t,n){"use strict";var r=n(162);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Screenshots=void 0;var o=n(2),i=r(o),a=n(172),s=r(a),u=n(173),l=r(u),c=n(294),p=r(c),d=t.Screenshots=function(e){var t=e.screenshots,n=(0,l.default)(t,function(e){var t=e.caption,n=e.src;return{original:n,originalAlt:"",thumbnail:n,thumbnailAlt:t||"",description:t||!1}});return n?i.default.createElement("div",{id:"screenshots",className:"plugin-screenshots"},i.default.createElement("h2",null,localeData.screenshots),i.default.createElement(p.default,{items:n})):null};d.propTypes={screenshots:o.PropTypes.arrayOf(o.PropTypes.object),translate:o.PropTypes.func},d.defaultProps={screenshots:[],translate:s.default},t.default=d},function(e,t){function n(e){return e}e.exports=n},function(e,t,n){function r(e,t){var n=s(e)?o:a;return n(e,i(t,3))}var o=n(174),i=n(175),a=n(288),s=n(238);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}e.exports=n},function(e,t,n){function r(e){return"function"==typeof e?e:null==e?a:"object"==typeof e?s(e)?i(e[0],e[1]):o(e):u(e)}var o=n(176),i=n(270),a=n(172),s=n(238),u=n(285);e.exports=r},function(e,t,n){function r(e){var t=i(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(n){return n===e||o(n,e,t)}}var o=n(177),i=n(267),a=n(269);e.exports=r},function(e,t,n){function r(e,t,n,r){var u=n.length,l=u,c=!r;if(null==e)return!l;for(e=Object(e);u--;){var p=n[u];if(c&&p[2]?p[1]!==e[p[0]]:!(p[0]in e))return!1}for(;++u<l;){p=n[u];var d=p[0],f=e[d],h=p[1];if(c&&p[2]){if(void 0===f&&!(d in e))return!1}else{var v=new o;if(r)var m=r(f,h,d,e,t,v);if(!(void 0===m?i(h,f,a|s,r,v):m))return!1}}return!0}var o=n(178),i=n(222),a=1,s=2;e.exports=r},function(e,t,n){function r(e){var t=this.__data__=new o(e);this.size=t.size}var o=n(179),i=n(187),a=n(188),s=n(189),u=n(190),l=n(191);r.prototype.clear=i,r.prototype.delete=a,r.prototype.get=s,r.prototype.has=u,r.prototype.set=l,e.exports=r},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(180),i=n(181),a=n(184),s=n(185),u=n(186);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t){function n(){this.__data__=[],this.size=0}e.exports=n},function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),--this.size,!0}var o=n(182),i=Array.prototype,a=i.splice;
-e.exports=r},function(e,t,n){function r(e,t){for(var n=e.length;n--;)if(o(e[n][0],t))return n;return-1}var o=n(183);e.exports=r},function(e,t){function n(e,t){return e===t||e!==e&&t!==t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);return n<0?void 0:t[n][1]}var o=n(182);e.exports=r},function(e,t,n){function r(e){return o(this.__data__,e)>-1}var o=n(182);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var o=n(182);e.exports=r},function(e,t,n){function r(){this.__data__=new o,this.size=0}var o=n(179);e.exports=r},function(e,t){function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}e.exports=n},function(e,t){function n(e){return this.__data__.get(e)}e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t,n){function r(e,t){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length<s-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new a(r)}return n.set(e,t),this.size=n.size,this}var o=n(179),i=n(192),a=n(207),s=200;e.exports=r},function(e,t,n){var r=n(193),o=n(198),i=r(o,"Map");e.exports=i},function(e,t,n){function r(e,t){var n=i(e,t);return o(n)?n:void 0}var o=n(194),i=n(206);e.exports=r},function(e,t,n){function r(e){if(!a(e)||i(e))return!1;var t=o(e)?h:l;return t.test(s(e))}var o=n(195),i=n(203),a=n(202),s=n(205),u=/[\\^$.*+?()[\]{}|]/g,l=/^\[object .+?Constructor\]$/,c=Function.prototype,p=Object.prototype,d=c.toString,f=p.hasOwnProperty,h=RegExp("^"+d.call(f).replace(u,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=r},function(e,t,n){function r(e){if(!i(e))return!1;var t=o(e);return t==s||t==u||t==a||t==l}var o=n(196),i=n(202),a="[object AsyncFunction]",s="[object Function]",u="[object GeneratorFunction]",l="[object Proxy]";e.exports=r},function(e,t,n){function r(e){return null==e?void 0===e?u:s:l&&l in Object(e)?i(e):a(e)}var o=n(197),i=n(200),a=n(201),s="[object Null]",u="[object Undefined]",l=o?o.toStringTag:void 0;e.exports=r},function(e,t,n){var r=n(198),o=r.Symbol;e.exports=o},function(e,t,n){var r=n(199),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(t,function(){return this}())},function(e,t,n){function r(e){var t=a.call(e,u),n=e[u];try{e[u]=void 0;var r=!0}catch(e){}var o=s.call(e);return r&&(t?e[u]=n:delete e[u]),o}var o=n(197),i=Object.prototype,a=i.hasOwnProperty,s=i.toString,u=o?o.toStringTag:void 0;e.exports=r},function(e,t){function n(e){return o.call(e)}var r=Object.prototype,o=r.toString;e.exports=n},function(e,t){function n(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}e.exports=n},function(e,t,n){function r(e){return!!i&&i in e}var o=n(204),i=function(){var e=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=r},function(e,t,n){var r=n(198),o=r["__core-js_shared__"];e.exports=o},function(e,t){function n(e){if(null!=e){try{return o.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var r=Function.prototype,o=r.toString;e.exports=n},function(e,t){function n(e,t){return null==e?void 0:e[t]}e.exports=n},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(208),i=n(216),a=n(219),s=n(220),u=n(221);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(209),i=n(179),a=n(192);e.exports=r},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(210),i=n(212),a=n(213),s=n(214),u=n(215);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(){this.__data__=o?o(null):{},this.size=0}var o=n(211);e.exports=r},function(e,t,n){var r=n(193),o=r(Object,"create");e.exports=o},function(e,t){function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__;if(o){var n=t[e];return n===i?void 0:n}return s.call(t,e)?t[e]:void 0}var o=n(211),i="__lodash_hash_undefined__",a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=this.__data__;return o?void 0!==t[e]:a.call(t,e)}var o=n(211),i=Object.prototype,a=i.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=o&&void 0===t?i:t,this}var o=n(211),i="__lodash_hash_undefined__";e.exports=r},function(e,t,n){function r(e){var t=o(this,e).delete(e);return this.size-=t?1:0,t}var o=n(217);e.exports=r},function(e,t,n){function r(e,t){var n=e.__data__;return o(t)?n["string"==typeof t?"string":"hash"]:n.map}var o=n(218);e.exports=r},function(e,t){function n(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}e.exports=n},function(e,t,n){function r(e){return o(this,e).get(e)}var o=n(217);e.exports=r},function(e,t,n){function r(e){return o(this,e).has(e)}var o=n(217);e.exports=r},function(e,t,n){function r(e,t){var n=o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var o=n(217);e.exports=r},function(e,t,n){function r(e,t,n,a,s){return e===t||(null==e||null==t||!i(e)&&!i(t)?e!==e&&t!==t:o(e,t,n,a,r,s))}var o=n(223),i=n(247);e.exports=r},function(e,t,n){function r(e,t,n,r,m,y){var _=l(e),b=l(t),C=_?h:u(e),x=b?h:u(t);C=C==f?v:C,x=x==f?v:x;var E=C==v,w=x==v,T=C==x;if(T&&c(e)){if(!c(t))return!1;_=!0,E=!1}if(T&&!E)return y||(y=new o),_||p(e)?i(e,t,n,r,m,y):a(e,t,C,n,r,m,y);if(!(n&d)){var k=E&&g.call(e,"__wrapped__"),P=w&&g.call(t,"__wrapped__");if(k||P){var S=k?e.value():e,I=P?t.value():t;return y||(y=new o),m(S,I,n,r,y)}}return!!T&&(y||(y=new o),s(e,t,n,r,m,y))}var o=n(178),i=n(224),a=n(230),s=n(234),u=n(262),l=n(238),c=n(248),p=n(252),d=1,f="[object Arguments]",h="[object Array]",v="[object Object]",m=Object.prototype,g=m.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t,n,r,l,c){var p=n&s,d=e.length,f=t.length;if(d!=f&&!(p&&f>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var v=-1,m=!0,g=n&u?new o:void 0;for(c.set(e,t),c.set(t,e);++v<d;){var y=e[v],_=t[v];if(r)var b=p?r(_,y,v,t,e,c):r(y,_,v,e,t,c);if(void 0!==b){if(b)continue;m=!1;break}if(g){if(!i(t,function(e,t){if(!a(g,t)&&(y===e||l(y,e,n,r,c)))return g.push(t)})){m=!1;break}}else if(y!==_&&!l(y,_,n,r,c)){m=!1;break}}return c.delete(e),c.delete(t),m}var o=n(225),i=n(228),a=n(229),s=1,u=2;e.exports=r},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new o;++t<n;)this.add(e[t])}var o=n(207),i=n(226),a=n(227);r.prototype.add=r.prototype.push=i,r.prototype.has=a,e.exports=r},function(e,t){function n(e){return this.__data__.set(e,r),this}var r="__lodash_hash_undefined__";e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}e.exports=n},function(e,t){function n(e,t){return e.has(t)}e.exports=n},function(e,t,n){function r(e,t,n,r,o,E,T){switch(n){case x:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case C:return!(e.byteLength!=t.byteLength||!E(new i(e),new i(t)));case d:case f:case m:return a(+e,+t);case h:return e.name==t.name&&e.message==t.message;case g:case _:return e==t+"";case v:var k=u;case y:var P=r&c;if(k||(k=l),e.size!=t.size&&!P)return!1;var S=T.get(e);if(S)return S==t;r|=p,T.set(e,t);var I=s(k(e),k(t),r,o,E,T);return T.delete(e),I;case b:if(w)return w.call(e)==w.call(t)}return!1}var o=n(197),i=n(231),a=n(183),s=n(224),u=n(232),l=n(233),c=1,p=2,d="[object Boolean]",f="[object Date]",h="[object Error]",v="[object Map]",m="[object Number]",g="[object RegExp]",y="[object Set]",_="[object String]",b="[object Symbol]",C="[object ArrayBuffer]",x="[object DataView]",E=o?o.prototype:void 0,w=E?E.valueOf:void 0;e.exports=r},function(e,t,n){var r=n(198),o=r.Uint8Array;e.exports=o},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}e.exports=n},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}e.exports=n},function(e,t,n){function r(e,t,n,r,a,u){var l=n&i,c=o(e),p=c.length,d=o(t),f=d.length;if(p!=f&&!l)return!1;for(var h=p;h--;){var v=c[h];if(!(l?v in t:s.call(t,v)))return!1}var m=u.get(e);if(m&&u.get(t))return m==t;var g=!0;u.set(e,t),u.set(t,e);for(var y=l;++h<p;){v=c[h];var _=e[v],b=t[v];if(r)var C=l?r(b,_,v,t,e,u):r(_,b,v,e,t,u);if(!(void 0===C?_===b||a(_,b,n,r,u):C)){g=!1;break}y||(y="constructor"==v)}if(g&&!y){var x=e.constructor,E=t.constructor;x!=E&&"constructor"in e&&"constructor"in t&&!("function"==typeof x&&x instanceof x&&"function"==typeof E&&E instanceof E)&&(g=!1)}return u.delete(e),u.delete(t),g}var o=n(235),i=1,a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){return o(e,a,i)}var o=n(236),i=n(239),a=n(242);e.exports=r},function(e,t,n){function r(e,t,n){var r=t(e);return i(e)?r:o(r,n(e))}var o=n(237),i=n(238);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}e.exports=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(240),o=n(241),i=Object.prototype,a=i.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(e){return null==e?[]:(e=Object(e),r(s(e),function(t){return a.call(e,t)}))}:o;e.exports=u},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}e.exports=n},function(e,t){function n(){return[]}e.exports=n},function(e,t,n){function r(e){return a(e)?o(e):i(e)}var o=n(243),i=n(257),a=n(261);e.exports=r},function(e,t,n){function r(e,t){var n=a(e),r=!n&&i(e),c=!n&&!r&&s(e),d=!n&&!r&&!c&&l(e),f=n||r||c||d,h=f?o(e.length,String):[],v=h.length;for(var m in e)!t&&!p.call(e,m)||f&&("length"==m||c&&("offset"==m||"parent"==m)||d&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||u(m,v))||h.push(m);return h}var o=n(244),i=n(245),a=n(238),s=n(248),u=n(251),l=n(252),c=Object.prototype,p=c.hasOwnProperty;e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}e.exports=n},function(e,t,n){var r=n(246),o=n(247),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){function r(e){return i(e)&&o(e)==a}var o=n(196),i=n(247),a="[object Arguments]";e.exports=r},function(e,t){function n(e){return null!=e&&"object"==typeof e}e.exports=n},function(e,t,n){(function(e){var r=n(198),o=n(250),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i,u=s?r.Buffer:void 0,l=u?u.isBuffer:void 0,c=l||o;e.exports=c}).call(t,n(249)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){function n(){return!1}e.exports=n},function(e,t){function n(e,t){return t=null==t?r:t,!!t&&("number"==typeof e||o.test(e))&&e>-1&&e%1==0&&e<t}var r=9007199254740991,o=/^(?:0|[1-9]\d*)$/;e.exports=n},function(e,t,n){var r=n(253),o=n(255),i=n(256),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t,n){function r(e){return a(e)&&i(e.length)&&!!M[o(e)]}var o=n(196),i=n(254),a=n(247),s="[object Arguments]",u="[object Array]",l="[object Boolean]",c="[object Date]",p="[object Error]",d="[object Function]",f="[object Map]",h="[object Number]",v="[object Object]",m="[object RegExp]",g="[object Set]",y="[object String]",_="[object WeakMap]",b="[object ArrayBuffer]",C="[object DataView]",x="[object Float32Array]",E="[object Float64Array]",w="[object Int8Array]",T="[object Int16Array]",k="[object Int32Array]",P="[object Uint8Array]",S="[object Uint8ClampedArray]",I="[object Uint16Array]",N="[object Uint32Array]",M={};M[x]=M[E]=M[w]=M[T]=M[k]=M[P]=M[S]=M[I]=M[N]=!0,M[s]=M[u]=M[b]=M[l]=M[C]=M[c]=M[p]=M[d]=M[f]=M[h]=M[v]=M[m]=M[g]=M[y]=M[_]=!1,e.exports=r},function(e,t){function n(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t){function n(e){return function(t){return e(t)}}e.exports=n},function(e,t,n){(function(e){var r=n(199),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o,s=a&&r.process,u=function(){try{return s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=u}).call(t,n(249)(e))},function(e,t,n){function r(e){if(!o(e))return i(e);var t=[];for(var n in Object(e))s.call(e,n)&&"constructor"!=n&&t.push(n);return t}var o=n(258),i=n(259),a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t){function n(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||r;return e===n}var r=Object.prototype;e.exports=n},function(e,t,n){var r=n(260),o=r(Object.keys,Object);e.exports=o},function(e,t){function n(e,t){return function(n){return e(t(n))}}e.exports=n},function(e,t,n){function r(e){return null!=e&&i(e.length)&&!o(e)}var o=n(195),i=n(254);e.exports=r},function(e,t,n){var r=n(263),o=n(192),i=n(264),a=n(265),s=n(266),u=n(196),l=n(205),c="[object Map]",p="[object Object]",d="[object Promise]",f="[object Set]",h="[object WeakMap]",v="[object DataView]",m=l(r),g=l(o),y=l(i),_=l(a),b=l(s),C=u;(r&&C(new r(new ArrayBuffer(1)))!=v||o&&C(new o)!=c||i&&C(i.resolve())!=d||a&&C(new a)!=f||s&&C(new s)!=h)&&(C=function(e){var t=u(e),n=t==p?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case m:return v;case g:return c;case y:return d;case _:return f;case b:return h}return t}),e.exports=C},function(e,t,n){var r=n(193),o=n(198),i=r(o,"DataView");e.exports=i},function(e,t,n){var r=n(193),o=n(198),i=r(o,"Promise");e.exports=i},function(e,t,n){var r=n(193),o=n(198),i=r(o,"Set");e.exports=i},function(e,t,n){var r=n(193),o=n(198),i=r(o,"WeakMap");e.exports=i},function(e,t,n){function r(e){for(var t=i(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,o(a)]}return t}var o=n(268),i=n(242);e.exports=r},function(e,t,n){function r(e){return e===e&&!o(e)}var o=n(202);e.exports=r},function(e,t){function n(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}e.exports=n},function(e,t,n){function r(e,t){return s(e)&&u(t)?l(c(e),t):function(n){var r=i(n,e);return void 0===r&&r===t?a(n,e):o(t,r,p|d)}}var o=n(222),i=n(271),a=n(282),s=n(274),u=n(268),l=n(269),c=n(281),p=1,d=2;e.exports=r},function(e,t,n){function r(e,t,n){var r=null==e?void 0:o(e,t);return void 0===r?n:r}var o=n(272);e.exports=r},function(e,t,n){function r(e,t){t=o(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[i(t[n++])];return n&&n==r?e:void 0}var o=n(273),i=n(281);e.exports=r},function(e,t,n){function r(e,t){return o(e)?e:i(e,t)?[e]:a(s(e))}var o=n(238),i=n(274),a=n(276),s=n(279);e.exports=r},function(e,t,n){function r(e,t){if(o(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||(s.test(e)||!a.test(e)||null!=t&&e in Object(t))}var o=n(238),i=n(275),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=r},function(e,t,n){function r(e){return"symbol"==typeof e||i(e)&&o(e)==a}var o=n(196),i=n(247),a="[object Symbol]";e.exports=r},function(e,t,n){var r=n(277),o=/^\./,i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,s=r(function(e){var t=[];return o.test(e)&&t.push(""),e.replace(i,function(e,n,r,o){t.push(r?o.replace(a,"$1"):n||e)}),t});e.exports=s},function(e,t,n){function r(e){var t=o(e,function(e){return n.size===i&&n.clear(),e}),n=t.cache;return t}var o=n(278),i=500;e.exports=r},function(e,t,n){function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(i);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(r.Cache||o),n}var o=n(207),i="Expected a function";r.Cache=o,e.exports=r},function(e,t,n){function r(e){return null==e?"":o(e)}var o=n(280);e.exports=r},function(e,t,n){function r(e){if("string"==typeof e)return e;if(a(e))return i(e,r)+"";if(s(e))return c?c.call(e):"";var t=e+"";return"0"==t&&1/e==-u?"-0":t}var o=n(197),i=n(174),a=n(238),s=n(275),u=1/0,l=o?o.prototype:void 0,c=l?l.toString:void 0;e.exports=r},function(e,t,n){function r(e){if("string"==typeof e||o(e))return e;var t=e+"";return"0"==t&&1/e==-i?"-0":t}var o=n(275),i=1/0;e.exports=r},function(e,t,n){function r(e,t){return null!=e&&i(e,t,o)}var o=n(283),i=n(284);e.exports=r},function(e,t){function n(e,t){return null!=e&&t in Object(e)}e.exports=n},function(e,t,n){function r(e,t,n){t=o(t,e);for(var r=-1,c=t.length,p=!1;++r<c;){var d=l(t[r]);if(!(p=null!=e&&n(e,d)))break;e=e[d]}return p||++r!=c?p:(c=null==e?0:e.length,!!c&&u(c)&&s(d,c)&&(a(e)||i(e)))}var o=n(273),i=n(245),a=n(238),s=n(251),u=n(254),l=n(281);e.exports=r},function(e,t,n){function r(e){return a(e)?o(s(e)):i(e)}var o=n(286),i=n(287),a=n(274),s=n(281);e.exports=r},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}e.exports=n},function(e,t,n){function r(e){return function(t){return o(t,e)}}var o=n(272);e.exports=r},function(e,t,n){function r(e,t){var n=-1,r=i(e)?Array(e.length):[];return o(e,function(e,o,i){r[++n]=t(e,o,i)}),r}var o=n(289),i=n(261);e.exports=r},function(e,t,n){var r=n(290),o=n(293),i=o(r);e.exports=i},function(e,t,n){function r(e,t){return e&&o(e,t,i)}var o=n(291),i=n(242);e.exports=r},function(e,t,n){var r=n(292),o=r();e.exports=o},function(e,t){function n(e){return function(t,n,r){for(var o=-1,i=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++o];if(n(i[u],u,i)===!1)break}return t}}e.exports=n},function(e,t,n){function r(e,t){return function(n,r){if(null==n)return n;if(!o(n))return e(n,r);for(var i=n.length,a=t?i:-1,s=Object(n);(t?a--:++a<i)&&r(s[a],a,s)!==!1;);return n}}var o=n(261);e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){var n=void 0,r=void 0,o=void 0,i=null,a=0,s=function(){a=(new Date).getTime(),i=null,o=e.apply(n,r),i||(n=r=null)};return function(){var u=(new Date).getTime(),l=t-(u-a);return n=this,r=arguments,l<=0||l>t?(i&&(clearTimeout(i),i=null),a=u,o=e.apply(n,r),i||(n=r=null)):i||(i=setTimeout(s,l)),o}}function u(){var e=s.apply(void 0,arguments);return function(t){return t?(t.persist(),e(t)):e()}}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(2),p=r(c),d=500,f=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={currentIndex:e.startIndex,thumbsTranslateX:0,offsetPercentage:0,galleryWidth:0,thumbnailWidth:0},n}return a(t,e),l(t,[{key:"componentWillReceiveProps",value:function(e){this.props.disableArrowKeys!==e.disableArrowKeys&&(e.disableArrowKeys?window.removeEventListener("keydown",this._handleKeyDown):window.addEventListener("keydown",this._handleKeyDown))}},{key:"componentDidUpdate",value:function(e,t){t.thumbnailWidth===this.state.thumbnailWidth&&e.showThumbnails===this.props.showThumbnails||this._setThumbsTranslateX(-this._getThumbsTranslateX(this.state.currentIndex>0?1:0)*this.state.currentIndex),t.currentIndex!==this.state.currentIndex&&this._updateThumbnailTranslateX(t)}},{key:"componentWillMount",value:function(){this._slideLeft=u(this._slideLeft.bind(this),d,!0),this._slideRight=u(this._slideRight.bind(this),d,!0),this._handleResize=this._handleResize.bind(this),this._handleKeyDown=this._handleKeyDown.bind(this),this._thumbnailDelay=300}},{key:"componentDidMount",value:function(){var e=this;window.setTimeout(function(){return e._handleResize()},500),this.props.disableArrowKeys||window.addEventListener("keydown",this._handleKeyDown),window.addEventListener("resize",this._handleResize)}},{key:"componentWillUnmount",value:function(){this.props.disableArrowKeys||window.removeEventListener("keydown",this._handleKeyDown),window.removeEventListener("resize",this._handleResize),this._intervalId&&(window.clearInterval(this._intervalId),this._intervalId=null)}},{key:"fullScreen",value:function(){var e=this._imageGallery;e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen()}},{key:"slideToIndex",value:function(e,t){t&&t.preventDefault();var n=this.props.items.length-1,r=e;e<0?r=n:e>n&&(r=0),this.setState({previousIndex:this.state.currentIndex,currentIndex:r,offsetPercentage:0,style:{transition:"transform 0.45s ease-out"}})}},{key:"getCurrentIndex",value:function(){return this.state.currentIndex}},{key:"_handleResize",value:function(){this._imageGallery&&this.setState({galleryWidth:this._imageGallery.offsetWidth}),this._imageGalleryThumbnail&&this.setState({thumbnailWidth:this._imageGalleryThumbnail.offsetWidth})}},{key:"_handleKeyDown",value:function(e){var t=37,n=39,r=parseInt(e.keyCode||e.which||0);switch(r){case t:this._canSlideLeft()&&!this._intervalId&&this._slideLeft();break;case n:this._canSlideRight()&&!this._intervalId&&this._slideRight()}}},{key:"_handleMouseOverThumbnails",value:function(e){var t=this;this.props.slideOnThumbnailHover&&(this.setState({hovering:!0}),this._thumbnailTimer&&(window.clearTimeout(this._thumbnailTimer),this._thumbnailTimer=null),this._thumbnailTimer=window.setTimeout(function(){t.slideToIndex(e)},this._thumbnailDelay))}},{key:"_handleMouseLeaveThumbnails",value:function(){this._thumbnailTimer&&(window.clearTimeout(this._thumbnailTimer),this._thumbnailTimer=null),this.setState({hovering:!1})}},{key:"_handleMouseOver",value:function(){this.setState({hovering:!0})}},{key:"_handleMouseLeave",value:function(){this.setState({hovering:!1})}},{key:"_handleImageError",value:function(e){this.props.defaultImage&&-1===e.target.src.indexOf(this.props.defaultImage)&&(e.target.src=this.props.defaultImage)}},{key:"_canNavigate",value:function(){return this.props.items.length>=2}},{key:"_canSlideLeft",value:function(){return this.props.infinite||this.state.currentIndex>0}},{key:"_canSlideRight",value:function(){return this.props.infinite||this.state.currentIndex<this.props.items.length-1}},{key:"_updateThumbnailTranslateX",value:function(e){if(0===this.state.currentIndex)this._setThumbsTranslateX(0);else{var t=Math.abs(e.currentIndex-this.state.currentIndex),n=this._getThumbsTranslateX(t);n>0&&(e.currentIndex<this.state.currentIndex?this._setThumbsTranslateX(this.state.thumbsTranslateX-n):e.currentIndex>this.state.currentIndex&&this._setThumbsTranslateX(this.state.thumbsTranslateX+n))}}},{key:"_setThumbsTranslateX",value:function(e){this.setState({thumbsTranslateX:e})}},{key:"_getThumbsTranslateX",value:function(e){if(this.props.disableThumbnailScroll)return 0;var t=this.state.thumbnailWidth;if(this._thumbnails){if(this._thumbnails.scrollWidth<=t)return 0;var n=this._thumbnails.children.length,r=this._thumbnails.scrollWidth-t,o=r/(n-1);return e*o}}},{key:"_getAlignmentClassName",value:function(e){var t=this.state.currentIndex,n="",r="left",o="center",i="right";switch(e){case t-1:n=" "+r;break;case t:n=" "+o;break;case t+1:n=" "+i}return this.props.items.length>=3&&this.props.infinite&&(0===e&&t===this.props.items.length-1?n=" "+i:e===this.props.items.length-1&&0===t&&(n=" "+r)),n}},{key:"_getTranslateXForTwoSlide",value:function(e){var t=this.state,n=t.currentIndex,r=t.offsetPercentage,o=t.previousIndex,i=-100*n,a=i+100*e+r;return r>0?this.direction="left":r<0&&(this.direction="right"),0===n&&1===e&&r>0?a=-100+r:1===n&&0===e&&r<0&&(a=100+r),n!==o?0===o&&0===e&&0===r&&"left"===this.direction?a=100:1===o&&1===e&&0===r&&"right"===this.direction&&(a=-100):0===n&&1===e&&0===r&&"left"===this.direction?a=-100:1===n&&0===e&&0===r&&"right"===this.direction&&(a=100),a}},{key:"_getSlideStyle",value:function(e){var t=this.state,n=t.currentIndex,r=t.offsetPercentage,o=this.props,i=o.infinite,a=o.items,s=-100*n,u=a.length-1,l=s+100*e+r,c=1;e===n?c=3:e===this.state.previousIndex&&(c=2),i&&a.length>2&&(0===n&&e===u?l=-100+r:n===u&&0===e&&(l=100+r)),i&&2===a.length&&(l=this._getTranslateXForTwoSlide(e));var p="translate3d("+l+"%, 0, 0)";return{WebkitTransform:p,MozTransform:p,msTransform:p,OTransform:p,transform:p,zIndex:c}}},{key:"_getThumbnailStyle",value:function(){var e="translate3d("+this.state.thumbsTranslateX+"px, 0, 0)";return{WebkitTransform:e,MozTransform:e,msTransform:e,OTransform:e,transform:e}}},{key:"_slideLeft",value:function(e){this.slideToIndex(this.state.currentIndex-1,e)}},{key:"_slideRight",value:function(e){this.slideToIndex(this.state.currentIndex+1,e)}},{key:"_renderItem",value:function(e){return p.default.createElement("figure",{className:"image-gallery-image"},p.default.createElement("a",{href:e.original},p.default.createElement("img",{src:e.original,alt:e.originalAlt,srcSet:e.srcSet,sizes:e.sizes,onLoad:this.props.onImageLoad,onError:this._handleImageError.bind(this)})),e.description&&p.default.createElement("figcaption",{className:"image-gallery-description"},e.description))}},{key:"render",value:function(){var e=this,t=this.state.currentIndex,n=this._getThumbnailStyle(),r=this._slideLeft.bind(this),o=this._slideRight.bind(this),i=[],a=[];return this.props.items.map(function(n,r){var o=e._getAlignmentClassName(r),s=n.originalClass?" "+n.originalClass:"",u=n.thumbnailClass?" "+n.thumbnailClass:"",l=n.renderItem||e.props.renderItem||e._renderItem.bind(e),c=p.default.createElement("div",{key:r,className:"image-gallery-slide"+o+s,style:Object.assign(e._getSlideStyle(r),e.state.style),onClick:e.props.onClick},l(n));e.props.lazyLoad?o&&i.push(c):i.push(c),a.push(p.default.createElement("button",{type:"button",onMouseOver:e._handleMouseOverThumbnails.bind(e,r),onMouseLeave:e._handleMouseLeaveThumbnails.bind(e,r),key:r,className:"button-link image-gallery-thumbnail"+(t===r?" active":"")+u,onTouchStart:function(t){return e.slideToIndex.call(e,r,t)},onClick:function(t){return e.slideToIndex.call(e,r,t)}},p.default.createElement("img",{src:n.thumbnail,alt:n.thumbnailAlt,onError:e._handleImageError.bind(e)}),p.default.createElement("div",{className:"image-gallery-thumbnail-label"},n.thumbnailLabel)))}),p.default.createElement("section",{ref:function(t){return e._imageGallery=t},className:"image-gallery"},p.default.createElement("div",{onMouseOver:this._handleMouseOver.bind(this),onMouseLeave:this._handleMouseLeave.bind(this),className:"image-gallery-content"},this._canNavigate()?[this.props.showNav&&p.default.createElement("span",{key:"navigation"},this._canSlideLeft()&&p.default.createElement("button",{type:"button",className:"button-link image-gallery-left-nav",onTouchStart:r,onClick:r}),this._canSlideRight()&&p.default.createElement("button",{type:"button",className:"button-link image-gallery-right-nav",onTouchStart:o,onClick:o})),p.default.createElement("div",{key:this.state.currentIndex,className:"image-gallery-slides"},i)]:p.default.createElement("div",{className:"image-gallery-slides"},i),this.props.showIndex&&p.default.createElement("div",{className:"image-gallery-index"},p.default.createElement("span",{className:"image-gallery-index-current"},this.state.currentIndex+1),p.default.createElement("span",{className:"image-gallery-index-separator"},this.props.indexSeparator),p.default.createElement("span",{className:"image-gallery-index-total"},this.props.items.length))),p.default.createElement("div",{className:"image-gallery-thumbnails",ref:function(t){return e._imageGalleryThumbnail=t}},p.default.createElement("div",{ref:function(t){return e._thumbnails=t},className:"image-gallery-thumbnails-container",style:n},a)))}}]),t}(p.default.Component);t.default=f,f.propTypes={items:p.default.PropTypes.array.isRequired,showNav:p.default.PropTypes.bool,lazyLoad:p.default.PropTypes.bool,infinite:p.default.PropTypes.bool,showIndex:p.default.PropTypes.bool,showThumbnails:p.default.PropTypes.bool,slideOnThumbnailHover:p.default.PropTypes.bool,disableThumbnailScroll:p.default.PropTypes.bool,disableArrowKeys:p.default.PropTypes.bool,defaultImage:p.default.PropTypes.string,indexSeparator:p.default.PropTypes.string,startIndex:p.default.PropTypes.number,slideInterval:p.default.PropTypes.number,onClick:p.default.PropTypes.func,onImageLoad:p.default.PropTypes.func,onImageError:p.default.PropTypes.func,renderItem:p.default.PropTypes.func},f.defaultProps={items:[],showNav:!0,lazyLoad:!1,infinite:!0,showIndex:!1,showThumbnails:!0,slideOnThumbnailHover:!1,disableThumbnailScroll:!1,disableArrowKeys:!1,indexSeparator:" / ",startIndex:0,slideInterval:3e3}},function(e,t,n,r){"use strict";var o=n(r),i=(n(12),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),a=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},s=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},u=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},l=function(e){var t=this;e instanceof t?void 0:o("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=10,p=i,d=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||p,n.poolSize||(n.poolSize=c),n.release=l,n},f={addPoolingTo:d,oneArgumentPooler:i,twoArgumentPooler:a,threeArgumentPooler:s,fourArgumentPooler:u};e.exports=f}]));
\ No newline at end of file
+e.exports=r},function(e,t,n){function r(e,t){for(var n=e.length;n--;)if(o(e[n][0],t))return n;return-1}var o=n(183);e.exports=r},function(e,t){function n(e,t){return e===t||e!==e&&t!==t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);return n<0?void 0:t[n][1]}var o=n(182);e.exports=r},function(e,t,n){function r(e){return o(this.__data__,e)>-1}var o=n(182);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var o=n(182);e.exports=r},function(e,t,n){function r(){this.__data__=new o,this.size=0}var o=n(179);e.exports=r},function(e,t){function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}e.exports=n},function(e,t){function n(e){return this.__data__.get(e)}e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t,n){function r(e,t){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length<s-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new a(r)}return n.set(e,t),this.size=n.size,this}var o=n(179),i=n(192),a=n(207),s=200;e.exports=r},function(e,t,n){var r=n(193),o=n(198),i=r(o,"Map");e.exports=i},function(e,t,n){function r(e,t){var n=i(e,t);return o(n)?n:void 0}var o=n(194),i=n(206);e.exports=r},function(e,t,n){function r(e){if(!a(e)||i(e))return!1;var t=o(e)?h:l;return t.test(s(e))}var o=n(195),i=n(203),a=n(202),s=n(205),u=/[\\^$.*+?()[\]{}|]/g,l=/^\[object .+?Constructor\]$/,c=Function.prototype,p=Object.prototype,d=c.toString,f=p.hasOwnProperty,h=RegExp("^"+d.call(f).replace(u,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=r},function(e,t,n){function r(e){if(!i(e))return!1;var t=o(e);return t==s||t==u||t==a||t==l}var o=n(196),i=n(202),a="[object AsyncFunction]",s="[object Function]",u="[object GeneratorFunction]",l="[object Proxy]";e.exports=r},function(e,t,n){function r(e){return null==e?void 0===e?u:s:l&&l in Object(e)?i(e):a(e)}var o=n(197),i=n(200),a=n(201),s="[object Null]",u="[object Undefined]",l=o?o.toStringTag:void 0;e.exports=r},function(e,t,n){var r=n(198),o=r.Symbol;e.exports=o},function(e,t,n){var r=n(199),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(t,function(){return this}())},function(e,t,n){function r(e){var t=a.call(e,u),n=e[u];try{e[u]=void 0;var r=!0}catch(e){}var o=s.call(e);return r&&(t?e[u]=n:delete e[u]),o}var o=n(197),i=Object.prototype,a=i.hasOwnProperty,s=i.toString,u=o?o.toStringTag:void 0;e.exports=r},function(e,t){function n(e){return o.call(e)}var r=Object.prototype,o=r.toString;e.exports=n},function(e,t){function n(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}e.exports=n},function(e,t,n){function r(e){return!!i&&i in e}var o=n(204),i=function(){var e=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=r},function(e,t,n){var r=n(198),o=r["__core-js_shared__"];e.exports=o},function(e,t){function n(e){if(null!=e){try{return o.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var r=Function.prototype,o=r.toString;e.exports=n},function(e,t){function n(e,t){return null==e?void 0:e[t]}e.exports=n},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(208),i=n(216),a=n(219),s=n(220),u=n(221);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(209),i=n(179),a=n(192);e.exports=r},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(210),i=n(212),a=n(213),s=n(214),u=n(215);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(){this.__data__=o?o(null):{},this.size=0}var o=n(211);e.exports=r},function(e,t,n){var r=n(193),o=r(Object,"create");e.exports=o},function(e,t){function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__;if(o){var n=t[e];return n===i?void 0:n}return s.call(t,e)?t[e]:void 0}var o=n(211),i="__lodash_hash_undefined__",a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=this.__data__;return o?void 0!==t[e]:a.call(t,e)}var o=n(211),i=Object.prototype,a=i.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=o&&void 0===t?i:t,this}var o=n(211),i="__lodash_hash_undefined__";e.exports=r},function(e,t,n){function r(e){var t=o(this,e).delete(e);return this.size-=t?1:0,t}var o=n(217);e.exports=r},function(e,t,n){function r(e,t){var n=e.__data__;return o(t)?n["string"==typeof t?"string":"hash"]:n.map}var o=n(218);e.exports=r},function(e,t){function n(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}e.exports=n},function(e,t,n){function r(e){return o(this,e).get(e)}var o=n(217);e.exports=r},function(e,t,n){function r(e){return o(this,e).has(e)}var o=n(217);e.exports=r},function(e,t,n){function r(e,t){var n=o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var o=n(217);e.exports=r},function(e,t,n){function r(e,t,n,a,s){return e===t||(null==e||null==t||!i(e)&&!i(t)?e!==e&&t!==t:o(e,t,n,a,r,s))}var o=n(223),i=n(247);e.exports=r},function(e,t,n){function r(e,t,n,r,m,y){var _=l(e),b=l(t),C=_?h:u(e),x=b?h:u(t);C=C==f?v:C,x=x==f?v:x;var E=C==v,w=x==v,T=C==x;if(T&&c(e)){if(!c(t))return!1;_=!0,E=!1}if(T&&!E)return y||(y=new o),_||p(e)?i(e,t,n,r,m,y):a(e,t,C,n,r,m,y);if(!(n&d)){var k=E&&g.call(e,"__wrapped__"),P=w&&g.call(t,"__wrapped__");if(k||P){var S=k?e.value():e,I=P?t.value():t;return y||(y=new o),m(S,I,n,r,y)}}return!!T&&(y||(y=new o),s(e,t,n,r,m,y))}var o=n(178),i=n(224),a=n(230),s=n(234),u=n(262),l=n(238),c=n(248),p=n(252),d=1,f="[object Arguments]",h="[object Array]",v="[object Object]",m=Object.prototype,g=m.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t,n,r,l,c){var p=n&s,d=e.length,f=t.length;if(d!=f&&!(p&&f>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var v=-1,m=!0,g=n&u?new o:void 0;for(c.set(e,t),c.set(t,e);++v<d;){var y=e[v],_=t[v];if(r)var b=p?r(_,y,v,t,e,c):r(y,_,v,e,t,c);if(void 0!==b){if(b)continue;m=!1;break}if(g){if(!i(t,function(e,t){if(!a(g,t)&&(y===e||l(y,e,n,r,c)))return g.push(t)})){m=!1;break}}else if(y!==_&&!l(y,_,n,r,c)){m=!1;break}}return c.delete(e),c.delete(t),m}var o=n(225),i=n(228),a=n(229),s=1,u=2;e.exports=r},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new o;++t<n;)this.add(e[t])}var o=n(207),i=n(226),a=n(227);r.prototype.add=r.prototype.push=i,r.prototype.has=a,e.exports=r},function(e,t){function n(e){return this.__data__.set(e,r),this}var r="__lodash_hash_undefined__";e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}e.exports=n},function(e,t){function n(e,t){return e.has(t)}e.exports=n},function(e,t,n){function r(e,t,n,r,o,E,T){switch(n){case x:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case C:return!(e.byteLength!=t.byteLength||!E(new i(e),new i(t)));case d:case f:case m:return a(+e,+t);case h:return e.name==t.name&&e.message==t.message;case g:case _:return e==t+"";case v:var k=u;case y:var P=r&c;if(k||(k=l),e.size!=t.size&&!P)return!1;var S=T.get(e);if(S)return S==t;r|=p,T.set(e,t);var I=s(k(e),k(t),r,o,E,T);return T.delete(e),I;case b:if(w)return w.call(e)==w.call(t)}return!1}var o=n(197),i=n(231),a=n(183),s=n(224),u=n(232),l=n(233),c=1,p=2,d="[object Boolean]",f="[object Date]",h="[object Error]",v="[object Map]",m="[object Number]",g="[object RegExp]",y="[object Set]",_="[object String]",b="[object Symbol]",C="[object ArrayBuffer]",x="[object DataView]",E=o?o.prototype:void 0,w=E?E.valueOf:void 0;e.exports=r},function(e,t,n){var r=n(198),o=r.Uint8Array;e.exports=o},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}e.exports=n},function(e,t){function n(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}e.exports=n},function(e,t,n){function r(e,t,n,r,a,u){var l=n&i,c=o(e),p=c.length,d=o(t),f=d.length;if(p!=f&&!l)return!1;for(var h=p;h--;){var v=c[h];if(!(l?v in t:s.call(t,v)))return!1}var m=u.get(e);if(m&&u.get(t))return m==t;var g=!0;u.set(e,t),u.set(t,e);for(var y=l;++h<p;){v=c[h];var _=e[v],b=t[v];if(r)var C=l?r(b,_,v,t,e,u):r(_,b,v,e,t,u);if(!(void 0===C?_===b||a(_,b,n,r,u):C)){g=!1;break}y||(y="constructor"==v)}if(g&&!y){var x=e.constructor,E=t.constructor;x!=E&&"constructor"in e&&"constructor"in t&&!("function"==typeof x&&x instanceof x&&"function"==typeof E&&E instanceof E)&&(g=!1)}return u.delete(e),u.delete(t),g}var o=n(235),i=1,a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){return o(e,a,i)}var o=n(236),i=n(239),a=n(242);e.exports=r},function(e,t,n){function r(e,t,n){var r=t(e);return i(e)?r:o(r,n(e))}var o=n(237),i=n(238);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}e.exports=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(240),o=n(241),i=Object.prototype,a=i.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(e){return null==e?[]:(e=Object(e),r(s(e),function(t){return a.call(e,t)}))}:o;e.exports=u},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}e.exports=n},function(e,t){function n(){return[]}e.exports=n},function(e,t,n){function r(e){return a(e)?o(e):i(e)}var o=n(243),i=n(257),a=n(261);e.exports=r},function(e,t,n){function r(e,t){var n=a(e),r=!n&&i(e),c=!n&&!r&&s(e),d=!n&&!r&&!c&&l(e),f=n||r||c||d,h=f?o(e.length,String):[],v=h.length;for(var m in e)!t&&!p.call(e,m)||f&&("length"==m||c&&("offset"==m||"parent"==m)||d&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||u(m,v))||h.push(m);return h}var o=n(244),i=n(245),a=n(238),s=n(248),u=n(251),l=n(252),c=Object.prototype,p=c.hasOwnProperty;e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}e.exports=n},function(e,t,n){var r=n(246),o=n(247),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){function r(e){return i(e)&&o(e)==a}var o=n(196),i=n(247),a="[object Arguments]";e.exports=r},function(e,t){function n(e){return null!=e&&"object"==typeof e}e.exports=n},function(e,t,n){(function(e){var r=n(198),o=n(250),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i,u=s?r.Buffer:void 0,l=u?u.isBuffer:void 0,c=l||o;e.exports=c}).call(t,n(249)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){function n(){return!1}e.exports=n},function(e,t){function n(e,t){var n=typeof e;return t=null==t?r:t,!!t&&("number"==n||"symbol"!=n&&o.test(e))&&e>-1&&e%1==0&&e<t}var r=9007199254740991,o=/^(?:0|[1-9]\d*)$/;e.exports=n},function(e,t,n){var r=n(253),o=n(255),i=n(256),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t,n){function r(e){return a(e)&&i(e.length)&&!!M[o(e)]}var o=n(196),i=n(254),a=n(247),s="[object Arguments]",u="[object Array]",l="[object Boolean]",c="[object Date]",p="[object Error]",d="[object Function]",f="[object Map]",h="[object Number]",v="[object Object]",m="[object RegExp]",g="[object Set]",y="[object String]",_="[object WeakMap]",b="[object ArrayBuffer]",C="[object DataView]",x="[object Float32Array]",E="[object Float64Array]",w="[object Int8Array]",T="[object Int16Array]",k="[object Int32Array]",P="[object Uint8Array]",S="[object Uint8ClampedArray]",I="[object Uint16Array]",N="[object Uint32Array]",M={};M[x]=M[E]=M[w]=M[T]=M[k]=M[P]=M[S]=M[I]=M[N]=!0,M[s]=M[u]=M[b]=M[l]=M[C]=M[c]=M[p]=M[d]=M[f]=M[h]=M[v]=M[m]=M[g]=M[y]=M[_]=!1,e.exports=r},function(e,t){function n(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t){function n(e){return function(t){return e(t)}}e.exports=n},function(e,t,n){(function(e){var r=n(199),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o,s=a&&r.process,u=function(){try{var e=i&&i.require&&i.require("util").types;return e?e:s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=u}).call(t,n(249)(e))},function(e,t,n){function r(e){if(!o(e))return i(e);var t=[];for(var n in Object(e))s.call(e,n)&&"constructor"!=n&&t.push(n);return t}var o=n(258),i=n(259),a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t){function n(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||r;return e===n}var r=Object.prototype;e.exports=n},function(e,t,n){var r=n(260),o=r(Object.keys,Object);e.exports=o},function(e,t){function n(e,t){return function(n){return e(t(n))}}e.exports=n},function(e,t,n){function r(e){return null!=e&&i(e.length)&&!o(e)}var o=n(195),i=n(254);e.exports=r},function(e,t,n){var r=n(263),o=n(192),i=n(264),a=n(265),s=n(266),u=n(196),l=n(205),c="[object Map]",p="[object Object]",d="[object Promise]",f="[object Set]",h="[object WeakMap]",v="[object DataView]",m=l(r),g=l(o),y=l(i),_=l(a),b=l(s),C=u;(r&&C(new r(new ArrayBuffer(1)))!=v||o&&C(new o)!=c||i&&C(i.resolve())!=d||a&&C(new a)!=f||s&&C(new s)!=h)&&(C=function(e){var t=u(e),n=t==p?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case m:return v;case g:return c;case y:return d;case _:return f;case b:return h}return t}),e.exports=C},function(e,t,n){var r=n(193),o=n(198),i=r(o,"DataView");e.exports=i},function(e,t,n){var r=n(193),o=n(198),i=r(o,"Promise");e.exports=i},function(e,t,n){var r=n(193),o=n(198),i=r(o,"Set");e.exports=i},function(e,t,n){var r=n(193),o=n(198),i=r(o,"WeakMap");e.exports=i},function(e,t,n){function r(e){for(var t=i(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,o(a)]}return t}var o=n(268),i=n(242);e.exports=r},function(e,t,n){function r(e){return e===e&&!o(e)}var o=n(202);e.exports=r},function(e,t){function n(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}e.exports=n},function(e,t,n){function r(e,t){return s(e)&&u(t)?l(c(e),t):function(n){var r=i(n,e);return void 0===r&&r===t?a(n,e):o(t,r,p|d)}}var o=n(222),i=n(271),a=n(282),s=n(274),u=n(268),l=n(269),c=n(281),p=1,d=2;e.exports=r},function(e,t,n){function r(e,t,n){var r=null==e?void 0:o(e,t);return void 0===r?n:r}var o=n(272);e.exports=r},function(e,t,n){function r(e,t){t=o(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[i(t[n++])];return n&&n==r?e:void 0}var o=n(273),i=n(281);e.exports=r},function(e,t,n){function r(e,t){return o(e)?e:i(e,t)?[e]:a(s(e))}var o=n(238),i=n(274),a=n(276),s=n(279);e.exports=r},function(e,t,n){function r(e,t){if(o(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||(s.test(e)||!a.test(e)||null!=t&&e in Object(t))}var o=n(238),i=n(275),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=r},function(e,t,n){function r(e){return"symbol"==typeof e||i(e)&&o(e)==a}var o=n(196),i=n(247),a="[object Symbol]";e.exports=r},function(e,t,n){var r=n(277),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,a=r(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,function(e,n,r,o){t.push(r?o.replace(i,"$1"):n||e)}),t});e.exports=a},function(e,t,n){function r(e){var t=o(e,function(e){return n.size===i&&n.clear(),e}),n=t.cache;return t}var o=n(278),i=500;e.exports=r},function(e,t,n){function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(i);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(r.Cache||o),n}var o=n(207),i="Expected a function";r.Cache=o,e.exports=r},function(e,t,n){function r(e){return null==e?"":o(e)}var o=n(280);e.exports=r},function(e,t,n){function r(e){if("string"==typeof e)return e;if(a(e))return i(e,r)+"";if(s(e))return c?c.call(e):"";var t=e+"";return"0"==t&&1/e==-u?"-0":t}var o=n(197),i=n(174),a=n(238),s=n(275),u=1/0,l=o?o.prototype:void 0,c=l?l.toString:void 0;e.exports=r},function(e,t,n){function r(e){if("string"==typeof e||o(e))return e;var t=e+"";return"0"==t&&1/e==-i?"-0":t}var o=n(275),i=1/0;e.exports=r},function(e,t,n){function r(e,t){return null!=e&&i(e,t,o)}var o=n(283),i=n(284);e.exports=r},function(e,t){function n(e,t){return null!=e&&t in Object(e)}e.exports=n},function(e,t,n){function r(e,t,n){t=o(t,e);for(var r=-1,c=t.length,p=!1;++r<c;){var d=l(t[r]);if(!(p=null!=e&&n(e,d)))break;e=e[d]}return p||++r!=c?p:(c=null==e?0:e.length,!!c&&u(c)&&s(d,c)&&(a(e)||i(e)))}var o=n(273),i=n(245),a=n(238),s=n(251),u=n(254),l=n(281);e.exports=r},function(e,t,n){function r(e){return a(e)?o(s(e)):i(e)}var o=n(286),i=n(287),a=n(274),s=n(281);e.exports=r},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}e.exports=n},function(e,t,n){function r(e){return function(t){return o(t,e)}}var o=n(272);e.exports=r},function(e,t,n){function r(e,t){var n=-1,r=i(e)?Array(e.length):[];return o(e,function(e,o,i){r[++n]=t(e,o,i)}),r}var o=n(289),i=n(261);e.exports=r},function(e,t,n){var r=n(290),o=n(293),i=o(r);e.exports=i},function(e,t,n){function r(e,t){return e&&o(e,t,i)}var o=n(291),i=n(242);e.exports=r},function(e,t,n){var r=n(292),o=r();e.exports=o},function(e,t){function n(e){return function(t,n,r){for(var o=-1,i=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++o];if(n(i[u],u,i)===!1)break}return t}}e.exports=n},function(e,t,n){function r(e,t){return function(n,r){if(null==n)return n;if(!o(n))return e(n,r);for(var i=n.length,a=t?i:-1,s=Object(n);(t?a--:++a<i)&&r(s[a],a,s)!==!1;);return n}}var o=n(261);e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){var n=void 0,r=void 0,o=void 0,i=null,a=0,s=function(){a=(new Date).getTime(),i=null,o=e.apply(n,r),i||(n=r=null)};return function(){var u=(new Date).getTime(),l=t-(u-a);return n=this,r=arguments,l<=0||l>t?(i&&(clearTimeout(i),i=null),a=u,o=e.apply(n,r),i||(n=r=null)):i||(i=setTimeout(s,l)),o}}function u(){var e=s.apply(void 0,arguments);return function(t){return t?(t.persist(),e(t)):e()}}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(2),p=r(c),d=500,f=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={currentIndex:e.startIndex,thumbsTranslateX:0,offsetPercentage:0,galleryWidth:0,thumbnailWidth:0},n}return a(t,e),l(t,[{key:"componentWillReceiveProps",value:function(e){this.props.disableArrowKeys!==e.disableArrowKeys&&(e.disableArrowKeys?window.removeEventListener("keydown",this._handleKeyDown):window.addEventListener("keydown",this._handleKeyDown))}},{key:"componentDidUpdate",value:function(e,t){t.thumbnailWidth===this.state.thumbnailWidth&&e.showThumbnails===this.props.showThumbnails||this._setThumbsTranslateX(-this._getThumbsTranslateX(this.state.currentIndex>0?1:0)*this.state.currentIndex),t.currentIndex!==this.state.currentIndex&&this._updateThumbnailTranslateX(t)}},{key:"componentWillMount",value:function(){this._slideLeft=u(this._slideLeft.bind(this),d,!0),this._slideRight=u(this._slideRight.bind(this),d,!0),this._handleResize=this._handleResize.bind(this),this._handleKeyDown=this._handleKeyDown.bind(this),this._thumbnailDelay=300}},{key:"componentDidMount",value:function(){var e=this;window.setTimeout(function(){return e._handleResize()},500),this.props.disableArrowKeys||window.addEventListener("keydown",this._handleKeyDown),window.addEventListener("resize",this._handleResize)}},{key:"componentWillUnmount",value:function(){this.props.disableArrowKeys||window.removeEventListener("keydown",this._handleKeyDown),window.removeEventListener("resize",this._handleResize),this._intervalId&&(window.clearInterval(this._intervalId),this._intervalId=null)}},{key:"fullScreen",value:function(){var e=this._imageGallery;e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen()}},{key:"slideToIndex",value:function(e,t){t&&t.preventDefault();var n=this.props.items.length-1,r=e;e<0?r=n:e>n&&(r=0),this.setState({previousIndex:this.state.currentIndex,currentIndex:r,offsetPercentage:0,style:{transition:"transform 0.45s ease-out"}})}},{key:"getCurrentIndex",value:function(){return this.state.currentIndex}},{key:"_handleResize",value:function(){this._imageGallery&&this.setState({galleryWidth:this._imageGallery.offsetWidth}),this._imageGalleryThumbnail&&this.setState({thumbnailWidth:this._imageGalleryThumbnail.offsetWidth})}},{key:"_handleKeyDown",value:function(e){var t=37,n=39,r=parseInt(e.keyCode||e.which||0);switch(r){case t:this._canSlideLeft()&&!this._intervalId&&this._slideLeft();break;case n:this._canSlideRight()&&!this._intervalId&&this._slideRight()}}},{key:"_handleMouseOverThumbnails",value:function(e){var t=this;this.props.slideOnThumbnailHover&&(this.setState({hovering:!0}),this._thumbnailTimer&&(window.clearTimeout(this._thumbnailTimer),this._thumbnailTimer=null),this._thumbnailTimer=window.setTimeout(function(){t.slideToIndex(e)},this._thumbnailDelay))}},{key:"_handleMouseLeaveThumbnails",value:function(){this._thumbnailTimer&&(window.clearTimeout(this._thumbnailTimer),this._thumbnailTimer=null),this.setState({hovering:!1})}},{key:"_handleMouseOver",value:function(){this.setState({hovering:!0})}},{key:"_handleMouseLeave",value:function(){this.setState({hovering:!1})}},{key:"_handleImageError",value:function(e){this.props.defaultImage&&-1===e.target.src.indexOf(this.props.defaultImage)&&(e.target.src=this.props.defaultImage)}},{key:"_canNavigate",value:function(){return this.props.items.length>=2}},{key:"_canSlideLeft",value:function(){return this.props.infinite||this.state.currentIndex>0}},{key:"_canSlideRight",value:function(){return this.props.infinite||this.state.currentIndex<this.props.items.length-1}},{key:"_updateThumbnailTranslateX",value:function(e){if(0===this.state.currentIndex)this._setThumbsTranslateX(0);else{var t=Math.abs(e.currentIndex-this.state.currentIndex),n=this._getThumbsTranslateX(t);n>0&&(e.currentIndex<this.state.currentIndex?this._setThumbsTranslateX(this.state.thumbsTranslateX-n):e.currentIndex>this.state.currentIndex&&this._setThumbsTranslateX(this.state.thumbsTranslateX+n))}}},{key:"_setThumbsTranslateX",value:function(e){this.setState({thumbsTranslateX:e})}},{key:"_getThumbsTranslateX",value:function(e){if(this.props.disableThumbnailScroll)return 0;var t=this.state.thumbnailWidth;if(this._thumbnails){if(this._thumbnails.scrollWidth<=t)return 0;var n=this._thumbnails.children.length,r=this._thumbnails.scrollWidth-t,o=r/(n-1);return e*o}}},{key:"_getAlignmentClassName",value:function(e){var t=this.state.currentIndex,n="",r="left",o="center",i="right";switch(e){case t-1:n=" "+r;break;case t:n=" "+o;break;case t+1:n=" "+i}return this.props.items.length>=3&&this.props.infinite&&(0===e&&t===this.props.items.length-1?n=" "+i:e===this.props.items.length-1&&0===t&&(n=" "+r)),n}},{key:"_getTranslateXForTwoSlide",value:function(e){var t=this.state,n=t.currentIndex,r=t.offsetPercentage,o=t.previousIndex,i=-100*n,a=i+100*e+r;return r>0?this.direction="left":r<0&&(this.direction="right"),0===n&&1===e&&r>0?a=-100+r:1===n&&0===e&&r<0&&(a=100+r),n!==o?0===o&&0===e&&0===r&&"left"===this.direction?a=100:1===o&&1===e&&0===r&&"right"===this.direction&&(a=-100):0===n&&1===e&&0===r&&"left"===this.direction?a=-100:1===n&&0===e&&0===r&&"right"===this.direction&&(a=100),a}},{key:"_getSlideStyle",value:function(e){var t=this.state,n=t.currentIndex,r=t.offsetPercentage,o=this.props,i=o.infinite,a=o.items,s=-100*n,u=a.length-1,l=s+100*e+r,c=1;e===n?c=3:e===this.state.previousIndex&&(c=2),i&&a.length>2&&(0===n&&e===u?l=-100+r:n===u&&0===e&&(l=100+r)),i&&2===a.length&&(l=this._getTranslateXForTwoSlide(e));var p="translate3d("+l+"%, 0, 0)";return{WebkitTransform:p,MozTransform:p,msTransform:p,OTransform:p,transform:p,zIndex:c}}},{key:"_getThumbnailStyle",value:function(){var e="translate3d("+this.state.thumbsTranslateX+"px, 0, 0)";return{WebkitTransform:e,MozTransform:e,msTransform:e,OTransform:e,transform:e}}},{key:"_slideLeft",value:function(e){this.slideToIndex(this.state.currentIndex-1,e)}},{key:"_slideRight",value:function(e){this.slideToIndex(this.state.currentIndex+1,e)}},{key:"_renderItem",value:function(e){return p.default.createElement("figure",{className:"image-gallery-image"},p.default.createElement("a",{href:e.original},p.default.createElement("img",{src:e.original,alt:e.originalAlt,srcSet:e.srcSet,sizes:e.sizes,onLoad:this.props.onImageLoad,onError:this._handleImageError.bind(this)})),e.description&&p.default.createElement("figcaption",{className:"image-gallery-description"},e.description))}},{key:"render",value:function(){var e=this,t=this.state.currentIndex,n=this._getThumbnailStyle(),r=this._slideLeft.bind(this),o=this._slideRight.bind(this),i=[],a=[];return this.props.items.map(function(n,r){var o=e._getAlignmentClassName(r),s=n.originalClass?" "+n.originalClass:"",u=n.thumbnailClass?" "+n.thumbnailClass:"",l=n.renderItem||e.props.renderItem||e._renderItem.bind(e),c=p.default.createElement("div",{key:r,className:"image-gallery-slide"+o+s,style:Object.assign(e._getSlideStyle(r),e.state.style),onClick:e.props.onClick},l(n));e.props.lazyLoad?o&&i.push(c):i.push(c),a.push(p.default.createElement("button",{type:"button",onMouseOver:e._handleMouseOverThumbnails.bind(e,r),onMouseLeave:e._handleMouseLeaveThumbnails.bind(e,r),key:r,className:"button-link image-gallery-thumbnail"+(t===r?" active":"")+u,onTouchStart:function(t){return e.slideToIndex.call(e,r,t)},onClick:function(t){return e.slideToIndex.call(e,r,t)}},p.default.createElement("img",{src:n.thumbnail,alt:n.thumbnailAlt,onError:e._handleImageError.bind(e)}),p.default.createElement("div",{className:"image-gallery-thumbnail-label"},n.thumbnailLabel)))}),p.default.createElement("section",{ref:function(t){return e._imageGallery=t},className:"image-gallery"},p.default.createElement("div",{onMouseOver:this._handleMouseOver.bind(this),onMouseLeave:this._handleMouseLeave.bind(this),className:"image-gallery-content"},this._canNavigate()?[this.props.showNav&&p.default.createElement("span",{key:"navigation"},this._canSlideLeft()&&p.default.createElement("button",{type:"button",className:"button-link image-gallery-left-nav",onTouchStart:r,onClick:r}),this._canSlideRight()&&p.default.createElement("button",{type:"button",className:"button-link image-gallery-right-nav",onTouchStart:o,onClick:o})),p.default.createElement("div",{key:this.state.currentIndex,className:"image-gallery-slides"},i)]:p.default.createElement("div",{className:"image-gallery-slides"},i),this.props.showIndex&&p.default.createElement("div",{className:"image-gallery-index"},p.default.createElement("span",{className:"image-gallery-index-current"},this.state.currentIndex+1),p.default.createElement("span",{className:"image-gallery-index-separator"},this.props.indexSeparator),p.default.createElement("span",{className:"image-gallery-index-total"},this.props.items.length))),p.default.createElement("div",{className:"image-gallery-thumbnails",ref:function(t){return e._imageGalleryThumbnail=t}},p.default.createElement("div",{ref:function(t){return e._thumbnails=t},className:"image-gallery-thumbnails-container",style:n},a)))}}]),t}(p.default.Component);t.default=f,f.propTypes={items:p.default.PropTypes.array.isRequired,showNav:p.default.PropTypes.bool,lazyLoad:p.default.PropTypes.bool,infinite:p.default.PropTypes.bool,showIndex:p.default.PropTypes.bool,showThumbnails:p.default.PropTypes.bool,slideOnThumbnailHover:p.default.PropTypes.bool,disableThumbnailScroll:p.default.PropTypes.bool,disableArrowKeys:p.default.PropTypes.bool,defaultImage:p.default.PropTypes.string,indexSeparator:p.default.PropTypes.string,startIndex:p.default.PropTypes.number,slideInterval:p.default.PropTypes.number,onClick:p.default.PropTypes.func,onImageLoad:p.default.PropTypes.func,onImageError:p.default.PropTypes.func,renderItem:p.default.PropTypes.func},f.defaultProps={items:[],showNav:!0,lazyLoad:!1,infinite:!0,showIndex:!1,showThumbnails:!0,slideOnThumbnailHover:!1,disableThumbnailScroll:!1,disableArrowKeys:!1,indexSeparator:" / ",startIndex:0,slideInterval:3e3}},function(e,t,n,r){"use strict";var o=n(r),i=(n(12),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),a=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},s=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},u=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},l=function(e){var t=this;e instanceof t?void 0:o("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=10,p=i,d=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||p,n.poolSize||(n.poolSize=c),n.release=l,n},f={addPoolingTo:d,oneArgumentPooler:i,twoArgumentPooler:a,threeArgumentPooler:s,fourArgumentPooler:u};e.exports=f}]));
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar-advanced.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar-advanced.php
index 2abbef48d..1b30dc89d 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar-advanced.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar-advanced.php
@@ -14,6 +14,7 @@ $widget_args = array(
 	'after_title'  => '</h4>',
 );
 
+the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Adopt_Me', array(), $widget_args );
 the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Meta', array(), $widget_args );
 the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Ratings', array(), $widget_args );
 the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Support', array(), $widget_args );
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar-closed.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar-closed.php
new file mode 100644
index 000000000..8616605ae
--- /dev/null
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar-closed.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Template part for displaying a Closed Plugin Sidebar.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package WordPressdotorg\Plugin_Directory\Theme
+ */
+
+namespace WordPressdotorg\Plugin_Directory\Theme;
+
+$widget_args = array(
+	'before_title' => '<h3 class="widget-title">',
+	'after_title'  => '</h3>',
+);
+
+the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Meta', array(), $widget_args + array( 'hide_tags' => true ) );
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar.php
index b056e3197..ee54abe58 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-sidebar.php
@@ -14,6 +14,7 @@ $widget_args = array(
 	'after_title'  => '</h3>',
 );
 
+the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Adopt_Me', array(), $widget_args );
 the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Meta', array(), $widget_args );
 the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Ratings', array(), $widget_args );
 the_widget( 'WordPressdotorg\Plugin_Directory\Widgets\Contributors', array(), array(
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-single.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-single.php
index ca178f451..9b4e3ef42 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-single.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/plugin-single.php
@@ -78,13 +78,15 @@ $plugin_title = $is_closed ? $post->post_name : get_the_title();
 		else :
 			$plugin_sections = Template::get_plugin_sections();
 
-			foreach ( array( 'description', 'screenshots', 'installation', 'faq', 'reviews', 'developers', 'changelog' ) as $section_slug ) :
+			foreach ( array( 'description', 'screenshots', 'blocks', 'installation', 'faq', 'reviews', 'developers', 'changelog' ) as $section_slug ) :
 				$section_content = '';
 
 				if ( 'description' === $section_slug && $is_closed ) {
 					// Don't show the description for closed plugins, show a notice instead.
 					$section_content = get_closed_plugin_notice();
 
+				} elseif ( 'blocks' === $section_slug ) {
+					$section_content = get_post_meta( get_the_ID(), 'all_blocks', true );
 				} elseif ( ! in_array( $section_slug, [ 'screenshots', 'installation', 'faq', 'changelog' ], true ) || ! $is_closed ) {
 					if ( isset( $content[ $section_slug ] ) ) {
 						$section_content = trim( apply_filters( 'the_content', $content[ $section_slug ], $section_slug ) );
@@ -98,13 +100,25 @@ $plugin_title = $is_closed ? $post->post_name : get_the_title();
 				$section = wp_list_filter( $plugin_sections, array( 'slug' => $section_slug ) );
 				$section = array_pop( $section );
 
-				get_template_part( 'template-parts/section' );
+				if ( 'blocks' === $section_slug ) {
+					get_template_part( 'template-parts/section-blocks' );
+				} else {
+					get_template_part( 'template-parts/section' );
+				}
 			endforeach;
 		endif; // plugin_advanced.
 		?>
 	</div><!-- .entry-content -->
 
 	<div class="entry-meta">
-		<?php get_template_part( 'template-parts/plugin-sidebar', get_query_var( 'plugin_advanced' ) ? 'advanced' : '' ); ?>
+		<?php
+			if ( get_query_var( 'plugin_advanced' ) && ( ! $is_closed || current_user_can( 'plugin_admin_view', $post ) ) ) {
+				get_template_part( 'template-parts/plugin-sidebar', 'advanced' );
+			} elseif ( $is_closed ) {
+				get_template_part( 'template-parts/plugin-sidebar', 'closed' );
+			} else {
+				get_template_part( 'template-parts/plugin-sidebar' );
+			}
+		?>
 	</div><!-- .entry-meta -->
 </article><!-- #post-## -->
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/section-blocks.php wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/section-blocks.php
new file mode 100644
index 000000000..0be1a639b
--- /dev/null
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/template-parts/section-blocks.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Template part for displaying a plugin readme section.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package WordPressdotorg\Plugin_Directory\Theme
+ */
+
+global $section, $section_slug, $section_content;
+
+$prefix = in_array( $section_slug, array( 'screenshots', 'faq', 'blocks' ), true ) ? '' : 'tab-';
+
+$classes = [ 'plugin-' . $section_slug, 'section' ];
+$classes = implode( ' ', $classes );
+?>
+
+<div id="<?php echo esc_attr( $prefix . $section_slug ); ?>" class="<?php echo esc_attr( $classes ); ?>">
+	<h2 id="<?php echo esc_attr( $section_slug . '-header' ); ?>"><?php echo esc_html( $section['title'] ); ?></h2>
+
+	<p><?php printf( esc_html( _n( 'This plugin provides %d block.', 'This plugin provides %d blocks.', count( $section_content ), 'wporg-plugins'  ) ), count( $section_content ) ); ?></p>
+	<dl>
+		<?php foreach ( $section_content as $block ) : ?>
+			<dt><?php if ( isset( $block->name ) ) echo esc_html( $block->name ); ?></dt>
+				<dd><?php if ( isset( $block->title ) ) echo esc_html( $block->title ); ?></dd>
+		<?php endforeach; ?>
+	</dl>
+</div>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-showcase/header.php wordpress.org/public_html/wp-content/themes/pub/wporg-showcase/header.php
index d5806971c..9c2acd1d6 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-showcase/header.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-showcase/header.php
@@ -1,5 +1,9 @@
 <?php
 $GLOBALS['pagetitle'] = wp_get_document_title();
+global $wporg_global_header_options;
+if ( !isset( $wporg_global_header_options['in_wrapper'] ) )
+	$wporg_global_header_options['in_wrapper'] = '';
+$wporg_global_header_options['in_wrapper'] .= '<a class="skip-link screen-reader-text" href="#pagebody">' . esc_html__( 'Skip to content', 'wporg-showcase' ) . '</a>';
 
 $prefix = is_ssl() ? 'https://' : 'http://s.';
 wp_enqueue_style( 'blog-wp4', $prefix.'wordpress.org/style/blog-wp4.css', array(), 4 );
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/content-single-topic-lead.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/content-single-topic-lead.php
index 50e80132c..749d96641 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/content-single-topic-lead.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/content-single-topic-lead.php
@@ -49,11 +49,9 @@ if ( bbp_is_single_view() || bbp_is_search_results() ) : ?>
 				<?php bbp_user_nicename( bbp_get_topic_author_id(), array( 'before' => '<p class="bbp-user-nicename">(@', 'after' => ')</p><br />' ) ); ?>
 
 				<?php if ( current_user_can( 'moderate', bbp_get_topic_id() ) && 'bbp_blocked' === bbp_get_user_role( bbp_get_topic_author_id() ) ) : ?>
-					<p class="wporg-bbp-user-is-blocked">[<?php esc_attr_e( 'This user is blocked', 'wporg-forums' ); ?>]</p>
+					<p class="wporg-bbp-user-is-blocked">[<?php esc_attr_e( 'This user is blocked', 'wporg-forums' ); ?>]</p><br />
 				<?php endif; ?>
 
-				<br>
-
 				<?php if ( $title = get_user_option( 'title', bbp_get_topic_author_id() ) ) : ?>
 
 					<p class="bbp-author-title"><?php echo esc_html( $title ); ?></p>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/form-topic.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/form-topic.php
index df1335964..1393e8f6f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/form-topic.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/form-topic.php
@@ -22,7 +22,7 @@
 							printf( __( 'Now Editing &ldquo;%s&rdquo;', 'wporg-forums' ), bbp_get_topic_title() );
 						} else {
 							if ( bbp_is_single_forum() ) {
-								printf( __( 'Create a new topic in &ldquo;%s Forum&rdquo;', 'wporg-forums' ), bbp_get_forum_title() );
+								printf( __( 'Create a new topic in &ldquo;%s&rdquo; Forum', 'wporg-forums' ), bbp_get_forum_title() );
 							} elseif ( bbp_is_single_view() && 'reviews' === bbp_get_view_id() ) {
 								_e( 'Create a new review', 'wporg-forums' );
 							} else {
@@ -49,11 +49,15 @@
 							<ul>
 								<li><?php
 									/* translators: %s: Handbook URL for forum welcome */
-									printf( __( '<strong>Read the <a href="%s">Forum Welcome</a></strong> to find out how to maximize your odds of getting help!', 'wporg-forums' ), esc_url( __( 'https://wordpress.org/support/welcome/', 'wporg-forums' ) ) );
+									printf( __( '<strong>Read the <a href="%s">Forum Welcome</a></strong> to find out how to maximize your odds of getting help!', 'wporg-forums' ),
+										esc_url( __( 'https://wordpress.org/support/welcome/', 'wporg-forums' ) )
+									);
 								?></li>
 								<li><?php
 									/* translators: %s: URL to search */
-									printf( __( '<strong><a href="%s">Search</a> the forums</strong> to see if your topic has been resolved already.', 'wporg-forums' ), esc_url( bbp_get_search_url() ) );
+									printf( __( '<strong><a href="%s">Search</a> the forums</strong> to see if your topic has been resolved already.', 'wporg-forums' ),
+										esc_url( bbp_get_search_url() )
+									);
 								?></li>
 								<li><?php _e( '<strong>Update to the latest versions</strong> of your plugins, themes, and WordPress.', 'wporg-forums' ); ?></li>
 								<li><?php _e( '<strong>Note the exact steps</strong> needed to reproduce your issue.', 'wporg-forums' ); ?></li>
@@ -69,6 +73,12 @@
 									);
 								?></li>
 								<?php endif; ?>
+								<li><?php
+									/* translators: %s: Handbook URL for reporting security issues */
+									printf( __( '<strong>Reporting a security issue?</strong> Please read <a href="%s">Reporting Security Vulnerabilities</a> to do that safely.', 'wporg-forums' ),
+										esc_url( __( 'https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/', 'wporg-forums' ) )
+									);
+								?></li>
 							</ul>
 
 						<?php endif; ?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-details.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-details.php
index dcd5b5381..9e6988e4a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-details.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-details.php
@@ -109,16 +109,16 @@ do_action( 'bbp_template_before_user_details' ); ?>
 						<a href="<?php bbp_user_profile_edit_url(); ?>" title="<?php
 							/* translators: %s: user's display name */
 							printf( esc_attr__( "Edit %s's Profile", 'wporg-forums' ), bbp_get_displayed_user_field( 'display_name' ) );
-						?>"><?php esc_html_e( 'Edit', 'wporg-forums' ); ?></a>
+						?>"><?php esc_html_e( 'Edit Forum Profile', 'wporg-forums' ); ?></a>
 					</span>
 				</li>
 
 				<li>
 					<span class="wporg-profile-edit-link">
-					<a href="https://profiles.wordpress.org/<?php echo bbp_get_displayed_user_field( 'user_nicename' ); ?>" title="<?php
-                            /* translators: %s: user's display name */
-                            printf( esc_attr__( "Edit %s's wordpress.org Profile", 'wporg-forums' ), bbp_get_displayed_user_field( 'display_name' ) );
-                        ?>"><?php esc_html_e( 'Edit Profile', 'wporg-forums' ); ?></a>
+					<a href="https://profiles.wordpress.org/<?php echo bbp_get_displayed_user_field( 'user_nicename' ); ?>/profile/edit/" title="<?php
+							/* translators: %s: user's display name */
+							printf( esc_attr__( "Edit %s's WordPress.org Profile", 'wporg-forums' ), bbp_get_displayed_user_field( 'display_name' ) );
+						?>"><?php esc_html_e( 'Edit WP.org Profile', 'wporg-forums' ); ?></a>
 					</span>
 				</li>
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-profile.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-profile.php
index 1b7020bde..45b124f68 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-profile.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/bbpress/user-profile.php
@@ -106,7 +106,7 @@ do_action( 'bbp_template_before_user_profile' ); ?>
 	
 			<p class="bbp-user-website"><?php
 			/* translators: %s: link to user's website */ 
-			printf( esc_html__( 'Website: %s', 'wporg-forums' ), sprintf( '<a href="%s">%s</a>', esc_url( $website ), esc_html( $website ) ) );
+			printf( esc_html__( 'Website: %s', 'wporg-forums' ), sprintf( '<a href="%s" rel="nofollow">%s</a>', esc_url( $website ), esc_html( $website ) ) );
 			?></p>
 	
 		<?php endif; ?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php
index 2c4ec0de6..d03a3998b 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php
@@ -19,7 +19,7 @@ add_filter( 'bbp_show_lead_topic', '__return_true' );
  */
 function wporg_support_scripts() {
 
-	wp_enqueue_style( 'forum-wp4-style', get_stylesheet_uri(), [], '20181204' );
+	wp_enqueue_style( 'forum-wp4-style', get_stylesheet_uri(), [], '20190311' );
 	wp_style_add_data( 'forum-wp4-style', 'rtl', 'replace' );
 
 	wp_enqueue_script( 'wporg-support-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20181209', true );
@@ -187,10 +187,19 @@ add_filter( 'excerpt_length', 'wporg_support_excerpt_length' );
  * @package WPBBP
  */
 function wporg_get_global_header() {
-	$GLOBALS['pagetitle'] = wp_title( '&#124;', false, 'right' ) . ' ' . __( 'WordPress.org', 'wporg-forums' );
+	$GLOBALS['pagetitle'] = wp_title( '&#124;', false, 'right' ) . __( 'WordPress.org', 'wporg-forums' );
 	require WPORGPATH . 'header.php';
 }
 
+function wporg_support_bbp_raw_title( $title ) {
+	if ( $page = get_query_var( 'paged' ) ) {
+		$title .= " - page {$page}";
+	}
+
+	return $title;
+}
+add_filter( 'bbp_raw_title', 'wporg_support_bbp_raw_title' );
+
 /**
  * The Footer for our theme.
  *
@@ -781,36 +790,10 @@ function bb_base_single_topic_description() {
 
 function bb_base_single_forum_description() {
 
-	// Validate forum_id
-	$forum_id = bbp_get_forum_id();
-
 	// Unhook the 'view all' query var adder
 	remove_filter( 'bbp_get_forum_permalink', 'bbp_add_view_all' );
 
-	// Get some forum data
-	$topic_count = bbp_get_forum_topic_count( $forum_id, true, true );
-	$reply_count = bbp_get_forum_reply_count( $forum_id, true, true );
-	$last_active = bbp_get_forum_last_active_id( $forum_id );
-
-	// Has replies
-	if ( !empty( $reply_count ) ) {
-		$reply_text = sprintf( _n( '%s reply', '%s replies', $reply_count, 'wporg-forums' ), bbp_number_format( $reply_count ) );
-	} else {
-		$reply_text = '';
-	}
-
-	// Forum has active data
-	if ( !empty( $last_active ) ) {
-		$topic_text      = bbp_get_forum_topics_link( $forum_id );
-		$time_since      = bbp_get_forum_freshness_link( $forum_id );
-
-	// Forum has no last active data
-	} else {
-		$topic_text      = sprintf( _n( '%s topic', '%s topics', $topic_count, 'wporg-forums' ), bbp_number_format( $topic_count ) );
-	}
-	?>
-
-	<?php if ( bbp_get_forum_parent_id() ) : ?>
+	if ( bbp_get_forum_parent_id() ) : ?>
 		<li class="topic-parent"><?php
 			/* translators: %s: forum title */
 			printf( __( 'In: %s', 'wporg-forums' ),
@@ -820,26 +803,6 @@ function bb_base_single_forum_description() {
 				)
 			);
 		?></li>
-	<?php endif; ?>
-	<?php //if ( !empty( $topic_count ) ) : ?>
-		<!-- <li class="topic-count"><?php echo $topic_text; ?></li> -->
-	<?php //endif; ?>
-	<?php //if ( !empty( $reply_count ) ) : ?>
-		<!-- <li class="reply-count"><?php echo $reply_text; ?></li> -->
-	<?php //endif; ?>
-	<?php //if ( !empty( $last_active  ) ) : ?>
-		<!-- <li class="forum-freshness-author"> --><?php
-			/* translators: %s: post author link */
-			//printf( __( 'Last post by: %s', 'wporg-forums' ),
-			//	bbp_get_author_link( array( 'type' => 'name', 'post_id' => $last_active ) )
-			//);
-		?><!-- </li> -->
-	<?php //endif; ?>
-	<?php if ( !empty( $time_since  ) ) : ?>
-		<li class="forum-freshness-time"><?php
-			/* translators: %s: date/time link to the latest post */
-			printf( __( 'Last activity: %s', 'wporg-forums' ), $time_since );
-		?></li>
 	<?php endif;
 }
 
@@ -847,3 +810,7 @@ function bb_is_intl_forum() {
 	return get_locale() != 'en_US';
 }
 
+/**
+ * Include the Strings for the supporg/update-php page.
+ */
+include_once __DIR__ . '/helphub-update-php-strings.php';
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/header.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/header.php
index 3b0e4ecd4..c3e924364 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/header.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/header.php
@@ -18,6 +18,10 @@ $menu_items = array(
 	_x( 'https://make.wordpress.org/support/handbook/', 'header menu', 'wporg-forums' ) => _x( 'Get Involved', 'header menu', 'wporg-forums' ),
 );
 
+global $wporg_global_header_options;
+if ( !isset( $wporg_global_header_options['in_wrapper'] ) )
+	$wporg_global_header_options['in_wrapper'] = '';
+$wporg_global_header_options['in_wrapper'] .= '<a class="skip-link screen-reader-text" href="#content">' . esc_html__( 'Skip to content', 'wporg-forums' ) . '</a>';
 wporg_get_global_header();
 ?>
 
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/helphub-update-php-strings.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/helphub-update-php-strings.php
new file mode 100644
index 000000000..a71ad90d6
--- /dev/null
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/helphub-update-php-strings.php
@@ -0,0 +1,147 @@
+<?php
+/**
+ * Injects the hard-coded page content for the Update PHP page, based on whether the page template is selected.
+ *
+ * @package HelpHub_Update_PHP
+ */
+
+use WordPressdotorg\API\Serve_Happy\RECOMMENDED_PHP;
+use WordPressdotorg\API\Serve_Happy\MINIMUM_PHP;
+
+/**
+ * Injects the title for the Update PHP page if the Update PHP page template is selected.
+ *
+ * @param string $title Post title.
+ * @param int    $id    Post ID.
+ * @return string Filtered post title.
+ */
+function wporg_support_filter_update_php_title( $title, $id ) {
+	if ( is_admin() ) {
+		return $title;
+	}
+
+	if ( 'page-update-php.php' !== get_page_template_slug( $id ) ) {
+		return $title;
+	}
+
+	return __( 'Get a faster, more secure website: update your PHP today', 'wporg-forums' );
+}
+add_filter( 'the_title', 'wporg_support_filter_update_php_title', 5, 2 );
+
+/**
+ * Injects the content for the Update PHP page if the Update PHP page template is selected.
+ *
+ * @param string $content Post content.
+ * @return string Filtered post content.
+ */
+function wporg_support_filter_update_php_content( $content ) {
+	if ( is_admin() ) {
+		return $content;
+	}
+
+	if ( ! in_the_loop() || get_the_ID() !== get_queried_object_id() ) {
+		return $content;
+	}
+
+	if ( ! is_page_template( 'page-update-php.php' ) ) {
+		return $content;
+	}
+
+	// Introduction.
+	$content  = '<p><strong>' . __( 'Your WordPress site can be faster, and more secure, and you can make this happen!', 'wporg-forums' ) . '</strong></p>';
+	$content .= '<p>' . __( 'This page will explain why this matters to you, and then how you can fix it.', 'wporg-forums' ) . '</p>';
+
+	// Section "Why PHP Matters To You".
+	$content .= '<h3>' . __( 'Why PHP Matters To You', 'wporg-forums' ) . '</h3>';
+	$content .= '<p>';
+	$content .= sprintf(
+		/* translators: %s: link URL about keeping WordPress up to date */
+		__( 'PHP is the coding language WordPress is built on, and its version is set at the server-level by your hosting company. Whilst you may be familiar with the importance of <a href="%s">keeping WordPress, and your themes and plugins up-to-date</a>, keeping PHP up-to-date is just as important.', 'wporg-forums' ),
+		esc_url( _x( 'https://wordpress.org/support/article/administration-screens/#updates', 'link URL about keeping WordPress up to date', 'wporg-forums' ) )
+	);
+	$content .= '</p>';
+	$content .= '<p>' . __( 'There are two main benefits to keeping PHP up-to-date:', 'wporg-forums' ) . '</p>';
+	$content .= '<ul>';
+	$content .= '<li>';
+	$content .= sprintf(
+		/* translators: %s: recommended PHP version */
+		__( '<strong>Your website will be faster</strong> as the latest version of PHP is more efficient. Updating to the latest supported version (currently %s) can deliver a huge performance increase; up to 3 or 4x faster for older versions.', 'wporg-forums' ),
+		RECOMMENDED_PHP
+	);
+	$content .= '</li>';
+	$content .= '<li>' . __( '<strong>Your website will be more secure.</strong> PHP, like WordPress, is maintained by its community. Because PHP is so popular, it is a target for hackers – but the latest version will have the latest security features. Older versions of PHP <em>do not have this</em>, so updating is essential to keep your WordPress site secure.', 'wporg-forums' ) . '</li>';
+	$content .= '</ul>';
+	$content .= '<p>' . __( 'And then there are a number of secondary benefits:', 'wporg-forums' ) . '</p>';
+	$content .= '<ul>';
+	$content .= '<li>' . __( '<strong>A faster WordPress website will be rewarded by search engines</strong>, so you&#8217;ll rank higher in search!', 'wporg-forums' ) . '</li>';
+	$content .= '<li>' . __( '<strong>A faster website will retain visitors better</strong> (they&#8217;ll leave if it takes too long to load), making your website more effective.', 'wporg-forums' ) . '</li>';
+	$content .= '<li>' . __( '<strong>A more secure website is better protected against hackers</strong>, and the cost and reputational damage associated with a hacked website.', 'wporg-forums' ) . '</li>';
+	$content .= '</ul>';
+	$content .= '<p>' . __( 'These benefits are good for you, and good for your website&#8217;s visitors. These are the reasons you should update PHP today. The next section will show you how to do this.', 'wporg-forums' ) . '</p>';
+
+	// Section "Before you update your PHP version".
+	$content .= '<h3>' . __( 'Before you update your PHP version', 'wporg-forums' ) . '</h3>';
+	$content .= '<p>' . __( 'This section starts off with some warnings, but don&#8217;t be afraid! As with most things technical, we just need to cover some background before we can get to the part where you update your PHP version.', 'wporg-forums' ) . '</p>';
+	$content .= '<p>';
+	$content .= sprintf(
+		/* translators: 1: minimum required PHP version, 2: recommended PHP version */
+		__( 'Updating your PHP version should not be a problem, but we can&#8217;t <em>guarantee</em> that it&#8217;s not. WordPress itself works with PHP versions as far back as %1$s (we&#8217;re currently recommending version %2$s, so this is <em>great</em> backward compatibility!), but we don&#8217;t know if your themes or plugins will work. They should, and popular or reputable ones almost certainly will be, but we can&#8217;t guarantee it.', 'wporg-forums' ),
+		MINIMUM_PHP,
+		RECOMMENDED_PHP
+	);
+	$content .= '</p>';
+	$content .= '<p>' . __( 'There are a couple of steps you should take to mitigate any risk before proceeding:', 'wporg-forums' ) . '</p>';
+	$content .= '<ul>';
+	$content .= '<li>';
+	$content .= sprintf(
+		/* translators: %s: link URL for free backup plugins */
+		__( '<strong>Make a backup of your website:</strong> a backup will let you revert your site to how it is right now in the event anything goes wrong. There are <a href="%s">plenty of free backup plugins available</a>, so if you don&#8217;t have a backup solution already – use one of these. In order to revert this backup, you&#8217;ll also need your web host to move your PHP version back to your current version (we&#8217;ll cover how to do this later).', 'wporg-forums' ),
+		esc_url( _x( 'https://wordpress.org/plugins/search/backup/', 'link URL for free backup plugins', 'wporg-forums' ) )
+	);
+	$content .= '</li>';
+	$content .= '<li>' . __( '<strong>Update WordPress, themes, and plugins:</strong> from your WordPress Dashboard, head to Updates, and then update all. You should do this regularly anyway. :) When done, check your site is working as expected.', 'wporg-forums' ) . '</li>';
+	$content .= '<li>';
+	$content .= sprintf(
+		/* translators: %s: link URL to the PHP Compatibility Checker plugin */
+		__( '<strong>Check PHP compatibility:</strong> install the <a href="%s">PHP Compatibility Checker plugin</a> to check your themes and plugins for possible issues. This plugin isn&#8217;t perfect and may miss items or flag false positives, but it does work in most cases.', 'wporg-forums' ),
+		esc_url( _x( 'https://wordpress.org/plugins/php-compatibility-checker/', 'link URL to the PHP Compatibility Checker plugin', 'wporg-forums' ) )
+	);
+	$content .= '</li>';
+	$content .= '<li>';
+	$content .= sprintf(
+		/* translators: %s: link URL to wordpress.org */
+		__( '<strong>Fix any PHP compatibility issues:</strong> if the PHP Compatibility Checker plugin picks up any issues, get in touch with the theme or plugin developer and ask them to investigate. If they can&#8217;t or won&#8217;t get back to you, have a look for themes or plugins on <a href="%s">WordPress.org</a> with similar functionality and use one of these instead.', 'wporg-forums' ),
+		esc_url( _x( 'https://wordpress.org/', 'link URL to wordpress.org', 'wporg-forums' ) )
+	);
+	$content .= '</li>';
+	$content .= '</ul>';
+	$content .= '<p>' . __( 'Run through these steps, and you&#8217;ll be ready to update the PHP version on your WordPress site – and enjoy all of the benefits that come with this!', 'wporg-forums' ) . '</p>';
+	$content .= '<p>' . __( 'If you run into any issues whilst doing this or need help, you should contact a professional web developer, your hosting company, or your theme and plugins authors. All of these will be happy to help here.', 'wporg-forums' ) . '</p>';
+	$content .= '<p>' . __( 'We can now get on to the final part: actually updating your website&#8217;s PHP version.', 'wporg-forums' ) . '</p>';
+
+	// Section "How to update your website's PHP version for a faster, more secure website".
+	$content .= '<h3>' . __( 'How to update your website&#8217;s PHP version for a faster, more secure website', 'wporg-forums' ) . '</h3>';
+	$content .= '<p>' . __( 'You&#8217;re now ready to update your website&#8217;s PHP version! You&#8217;ve done due diligence, got backups, and are in the best possible shape to do the update.', 'wporg-forums' ) . '</p>';
+	$content .= '<p>' . __( 'As the PHP version is set at the server level by your hosting company, updating involves either interacting with your host&#8217;s settings or asking them to do it.', 'wporg-forums' ) . '</p>';
+	$content .= '<p>';
+	$content .= sprintf(
+		/* translators: %s: link URL to hosting-specific update resources */
+		__( 'Thus, exactly <em>how</em> to do the update depends on your hosting company. We&#8217;ve asked hosting companies to submit instructions on how to update your PHP version on their hosting, and <a href="%s">you&#8217;ll find a list of hosts who have instructions available here</a>.', 'wporg-forums' ),
+		esc_url( _x( 'https://github.com/WordPress/servehappy-resources/blob/master/tutorials/hosting-specific/tutorials-en.md', 'link URL to hosting-specific update resources', 'wporg-forums' ) )
+	);
+	$content .= '</p>';
+	$content .= '<p>' . __( 'If you can&#8217;t find your host on this list, then email your hosting company and ask them to help! Here&#8217;s some template text you can use:', 'wporg-forums' ) . '</p>';
+	$content .= '<pre>' . __( 'Dear Hosting Provider,<br><br>I want my website to be as performant and secure as<br>possible with the latest version of PHP. For the server<br>my WordPress site is hosted on, I want to ensure that<br>is the case. If I am not already on the latest version<br>of PHP, please let me know what steps I need to take<br>to update.<br><br>Thanks!', 'wporg-forums' ) . '</pre>';
+	$content .= '<p>' . __( 'If you run into any issues at this stage, either change the PHP version back yourself, contact your hosting company or a professional web developer. In the unlikely event something goes wrong and you need to restore your backup, contact your host and ask them to restore the previous version of PHP you had running. You can then restore your backup.', 'wporg-forums' ) . '</p>';
+	$content .= '<p>' . __( 'You should now have all the information you need to update! Nice work! With an up-to-date version of PHP you&#8217;ll enjoy a faster, more secure website and happier visitors.', 'wporg-forums' ) . '</p>';
+
+	// Section "Faster, more secure WordPress websites for all".
+	$content .= '<h3>' . __( 'Faster, more secure WordPress websites for all', 'wporg-forums' ) . '</h3>';
+	$content .= '<p>' . __( 'Making sure you have the latest version of PHP ensures your website is as fast, and secure as possible.', 'wporg-forums' ) . '</p>';
+	$content .= '<p>' . __( 'You now have all the information you need to update to the latest version of PHP, and you know how to update in the future as well. Look out for more PHP update messages on your WordPress Dashboard going forwards, or keep an eye on your hosting company&#8217;s news for more information.', 'wporg-forums' ) . '</p>';
+	$content .= '<p>' . __( 'As a final reminder: contact your hosting company, a professional web developer, or your theme and/or plugin authors for any additional questions. They&#8217;ll all be able to help out with their areas of expertise.', 'wporg-forums' ) . '</p>';
+	$content .= '<p><strong>' . __( 'Thanks for making the internet a better place!', 'wporg-forums' ) . '</strong></p>';
+
+	return $content;
+}
+add_filter( 'the_content', 'wporg_support_filter_update_php_content', 5 );
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/page-update-php.php wordpress.org/public_html/wp-content/themes/pub/wporg-support/page-update-php.php
new file mode 100644
index 000000000..55a0b0edb
--- /dev/null
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/page-update-php.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Template Name: Update PHP
+ *
+ * @package WPOrg
+ * @subpackage Theme
+ */
+
+/*
+Use the default template for pages. This specific template is only used to indicate that the content needs to be
+manually injected, which happens in `helphub-update-php-strings.php`
+ */
+if ( 'en_US' == get_locale() ) {
+	// Helphub will be active, so we need it's sidebar
+	require get_stylesheet_directory() . '/page.php';
+} else {
+	// Helphub may be active, but we're loading in a non-en_US locale so shouldn't display the EN sidebar
+	require get_stylesheet_directory() . '/page-full-width.php';
+}
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/navigation/_links.scss wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/navigation/_links.scss
index afb39cdf2..751de5601 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/navigation/_links.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/navigation/_links.scss
@@ -9,6 +9,10 @@ a {
 		color: $color__link;
 	}
 
+	&.wp-block-button__link:visited {
+		color: $color__link-visited;
+	}
+
 	&:hover,
 	&:focus,
 	&:active {
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/site/_bbpress.scss wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/site/_bbpress.scss
index af5155691..8e2c8d7bf 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/site/_bbpress.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/site/_bbpress.scss
@@ -150,9 +150,9 @@ section {
 
 			a {
 				color: $color__wp-blue;
+				text-decoration: underline;
 
 				&:hover {
-					text-decoration: underline;
 					color: $color__wp-blue;
 				}
 			}
@@ -257,6 +257,7 @@ section {
 			div.bbp-topic-author img.avatar {
 				position: relative;
 				top: 0;
+				margin-bottom: 40px;
 			}
 		}
 
@@ -275,6 +276,10 @@ section {
 			width: 100%;
 			margin: 1rem 0 2rem;
 			padding-left: 10%;
+
+			@media screen and ( max-width: 480px ) {
+				min-height: auto;
+			}
 		}
 
 		.bbp-user-replies-created div.bbp-reply-author,
@@ -314,6 +319,10 @@ section {
 		div.bbp-topic-content {
 			padding: 0;
 			margin: 0 0 0 10%;
+
+			@media screen and ( max-width: 480px ) {
+				margin-bottom: 5%;
+			}
 		}
 
 		div.bbp-reply-content {
@@ -351,6 +360,10 @@ section {
 			background: #fbfbfb;
 			padding: 3px 10px;
 
+			@media screen and ( max-width: 480px ) {
+				padding: 3px 7px;
+			}
+
 			a {
 				color: #0073aa;
 				text-transform: inherit;
@@ -547,6 +560,8 @@ section {
 			&::before {
 				font: 400 16px/1 dashicons;
 				margin-right: 100px;
+				-moz-osx-font-smoothing: grayscale;
+				-webkit-font-smoothing: antialiased;
 
 				@media (min-width: 321px) {
 					font: 400 21px/1 dashicons;
@@ -588,6 +603,10 @@ section {
 		font-size: ms(-2);
 	}
 
+	.bbp-reply-form {
+		clear: both;
+	}
+
 	.bbp-topic-form fieldset.bbp-form button,
 	.bbp-reply-form fieldset.bbp-form button { // specifc overwrites
 		float: none;
@@ -665,7 +684,13 @@ section {
 			font-size: ms(-2);
 		}
 
+		em#site_url_description {
+			display: inline-block;
+			margin-bottom: 12px;
+		}
+
 		input[type="checkbox"],
+		input#site_url,
 		input#bbp_topic_tags {
 			margin-bottom: 0;
 		}
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/style-original.scss wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/style-original.scss
index f6540cfe7..f5edeb48f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/style-original.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/sass/style-original.scss
@@ -167,15 +167,19 @@ div.sidebar #bbpress-forums {
 }
 
 #bbpress-forums .bbp-pagination-count {
-	display: inline-block;
 	float: none;
 }
 
 #bbpress-forums .bbp-pagination-links {
-	display: inline-block;
 	float: right;
 }
 
+#bbpress-forums .bbp-pagination-count,
+#bbpress-forums .bbp-pagination-links {
+	display: inline-block;
+	margin-bottom: 10px;
+}
+
 #bbpress-forums fieldset.bbp-form button {
 	padding: 10px;
 	font-size: 15px;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/style-rtl.css wordpress.org/public_html/wp-content/themes/pub/wporg-support/style-rtl.css
index d76bee990..25780b5e8 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/style-rtl.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/style-rtl.css
@@ -400,15 +400,19 @@ div.sidebar #bbpress-forums {
 }
 
 #bbpress-forums .bbp-pagination-count {
-	display: inline-block;
 	float: none;
 }
 
 #bbpress-forums .bbp-pagination-links {
-	display: inline-block;
 	float: left;
 }
 
+#bbpress-forums .bbp-pagination-count,
+#bbpress-forums .bbp-pagination-links {
+	display: inline-block;
+	margin-bottom: 10px;
+}
+
 #bbpress-forums fieldset.bbp-form button {
 	padding: 10px;
 	font-size: 15px;
@@ -2212,6 +2216,10 @@ a:visited {
 	color: #0073aa;
 }
 
+a.wp-block-button__link:visited {
+	color: #4ca6cf;
+}
+
 a:hover, a:focus, a:active {
 	/* Override wp4.css */
 	color: #0073aa;
@@ -3475,10 +3483,10 @@ section {
 
 .bbpress #bbpress-forums div.bbp-template-notice a {
 	color: #0073aa;
+	text-decoration: underline;
 }
 
 .bbpress #bbpress-forums div.bbp-template-notice a:hover {
-	text-decoration: underline;
 	color: #0073aa;
 }
 
@@ -3581,6 +3589,7 @@ section {
 	.bbpress #bbpress-forums div.bbp-topic-author img.avatar {
 		position: relative;
 		top: 0;
+		margin-bottom: 40px;
 	}
 }
 
@@ -3601,6 +3610,13 @@ section {
 	padding-right: 10%;
 }
 
+@media screen and (max-width: 480px) {
+	.bbpress #bbpress-forums div.bbp-reply-author,
+	.bbpress #bbpress-forums div.bbp-topic-author {
+		min-height: auto;
+	}
+}
+
 .bbpress #bbpress-forums .bbp-user-replies-created div.bbp-reply-author,
 .bbpress #bbpress-forums .bbp-user-replies-created div.bbp-topic-author {
 	padding-right: 1.5rem;
@@ -3640,6 +3656,13 @@ section {
 	margin: 0 10% 0 0;
 }
 
+@media screen and (max-width: 480px) {
+	.bbpress #bbpress-forums div.bbp-reply-content,
+	.bbpress #bbpress-forums div.bbp-topic-content {
+		margin-bottom: 5%;
+	}
+}
+
 .bbpress #bbpress-forums div.bbp-reply-content {
 	margin-right: 11%;
 }
@@ -3676,6 +3699,13 @@ section {
 	padding: 3px 10px;
 }
 
+@media screen and (max-width: 480px) {
+	.bbpress #bbpress-forums li.bbp-body div.type-topic span.bbp-admin-links,
+	.bbpress #bbpress-forums li.bbp-body div.type-reply span.bbp-admin-links {
+		padding: 3px 7px;
+	}
+}
+
 .bbpress #bbpress-forums li.bbp-body div.type-topic span.bbp-admin-links a,
 .bbpress #bbpress-forums li.bbp-body div.type-reply span.bbp-admin-links a {
 	color: #0073aa;
@@ -3867,6 +3897,8 @@ section {
 .bbpress .forum-titles .bbp-topic-reply-count::before {
 	font: 400 16px/1 dashicons;
 	margin-left: 100px;
+	-moz-osx-font-smoothing: grayscale;
+	-webkit-font-smoothing: antialiased;
 }
 
 @media (min-width: 321px) {
@@ -3898,6 +3930,10 @@ section {
 	font-size: 0.8rem;
 }
 
+#bbpress-forums .bbp-reply-form {
+	clear: both;
+}
+
 #bbpress-forums .bbp-topic-form fieldset.bbp-form button,
 #bbpress-forums .bbp-reply-form fieldset.bbp-form button {
 	float: none;
@@ -3957,7 +3993,13 @@ section {
 	font-size: 0.8rem;
 }
 
+#bbpress-forums fieldset.bbp-form em#site_url_description {
+	display: inline-block;
+	margin-bottom: 12px;
+}
+
 #bbpress-forums fieldset.bbp-form input[type="checkbox"],
+#bbpress-forums fieldset.bbp-form input#site_url,
 #bbpress-forums fieldset.bbp-form input#bbp_topic_tags {
 	margin-bottom: 0;
 }
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css
index f2cef4b16..b90a2c9ed 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css
@@ -400,15 +400,19 @@ div.sidebar #bbpress-forums {
 }
 
 #bbpress-forums .bbp-pagination-count {
-	display: inline-block;
 	float: none;
 }
 
 #bbpress-forums .bbp-pagination-links {
-	display: inline-block;
 	float: right;
 }
 
+#bbpress-forums .bbp-pagination-count,
+#bbpress-forums .bbp-pagination-links {
+	display: inline-block;
+	margin-bottom: 10px;
+}
+
 #bbpress-forums fieldset.bbp-form button {
 	padding: 10px;
 	font-size: 15px;
@@ -2214,6 +2218,10 @@ a:visited {
 	color: #0073aa;
 }
 
+a.wp-block-button__link:visited {
+	color: #4ca6cf;
+}
+
 a:hover, a:focus, a:active {
 	/* Override wp4.css */
 	color: #0073aa;
@@ -3477,10 +3485,10 @@ section {
 
 .bbpress #bbpress-forums div.bbp-template-notice a {
 	color: #0073aa;
+	text-decoration: underline;
 }
 
 .bbpress #bbpress-forums div.bbp-template-notice a:hover {
-	text-decoration: underline;
 	color: #0073aa;
 }
 
@@ -3583,6 +3591,7 @@ section {
 	.bbpress #bbpress-forums div.bbp-topic-author img.avatar {
 		position: relative;
 		top: 0;
+		margin-bottom: 40px;
 	}
 }
 
@@ -3603,6 +3612,13 @@ section {
 	padding-left: 10%;
 }
 
+@media screen and (max-width: 480px) {
+	.bbpress #bbpress-forums div.bbp-reply-author,
+	.bbpress #bbpress-forums div.bbp-topic-author {
+		min-height: auto;
+	}
+}
+
 .bbpress #bbpress-forums .bbp-user-replies-created div.bbp-reply-author,
 .bbpress #bbpress-forums .bbp-user-replies-created div.bbp-topic-author {
 	padding-left: 1.5rem;
@@ -3642,6 +3658,13 @@ section {
 	margin: 0 0 0 10%;
 }
 
+@media screen and (max-width: 480px) {
+	.bbpress #bbpress-forums div.bbp-reply-content,
+	.bbpress #bbpress-forums div.bbp-topic-content {
+		margin-bottom: 5%;
+	}
+}
+
 .bbpress #bbpress-forums div.bbp-reply-content {
 	margin-left: 11%;
 }
@@ -3678,6 +3701,13 @@ section {
 	padding: 3px 10px;
 }
 
+@media screen and (max-width: 480px) {
+	.bbpress #bbpress-forums li.bbp-body div.type-topic span.bbp-admin-links,
+	.bbpress #bbpress-forums li.bbp-body div.type-reply span.bbp-admin-links {
+		padding: 3px 7px;
+	}
+}
+
 .bbpress #bbpress-forums li.bbp-body div.type-topic span.bbp-admin-links a,
 .bbpress #bbpress-forums li.bbp-body div.type-reply span.bbp-admin-links a {
 	color: #0073aa;
@@ -3869,6 +3899,8 @@ section {
 .bbpress .forum-titles .bbp-topic-reply-count::before {
 	font: 400 16px/1 dashicons;
 	margin-right: 100px;
+	-moz-osx-font-smoothing: grayscale;
+	-webkit-font-smoothing: antialiased;
 }
 
 @media (min-width: 321px) {
@@ -3900,6 +3932,10 @@ section {
 	font-size: 0.8rem;
 }
 
+#bbpress-forums .bbp-reply-form {
+	clear: both;
+}
+
 #bbpress-forums .bbp-topic-form fieldset.bbp-form button,
 #bbpress-forums .bbp-reply-form fieldset.bbp-form button {
 	float: none;
@@ -3959,7 +3995,13 @@ section {
 	font-size: 0.8rem;
 }
 
+#bbpress-forums fieldset.bbp-form em#site_url_description {
+	display: inline-block;
+	margin-bottom: 12px;
+}
+
 #bbpress-forums fieldset.bbp-form input[type="checkbox"],
+#bbpress-forums fieldset.bbp-form input#site_url,
 #bbpress-forums fieldset.bbp-form input#bbp_topic_tags {
 	margin-bottom: 0;
 }
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css.map wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css.map
index 202131c0c..17d410120 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css.map
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-support/style.css.map
@@ -42,5 +42,5 @@
 		"sass/media/_galleries.scss"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/Gruntfile.js wordpress.org/public_html/wp-content/themes/pub/wporg-themes/Gruntfile.js
index ca8ebb033..5b948abce 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/Gruntfile.js
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/Gruntfile.js
@@ -30,6 +30,9 @@ module.exports = function( grunt ) {
 						cascade: false
 					} ),
 					require( 'pixrem' ),
+					require('cssnano')({
+						mergeRules: false
+					})
 				]
 			},
 			dist: {
@@ -42,6 +45,7 @@ module.exports = function( grunt ) {
 		},
 		sass: {
 			options: {
+				implementation: require( 'node-sass' ),
 				sourceMap: true,
 				// Don't add source map URL in built version.
 				omitSourceMapUrl: 'build' === process.argv[2],
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/components/_main.scss wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/components/_main.scss
index ea336176c..49655193a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/components/_main.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/components/_main.scss
@@ -168,7 +168,7 @@ ul, ol {
 /**
  * Theme Screenshot
  *
- * Has a fixed aspect ratio of 1.5 to 1 regardless of screenshot size
+ * Has a fixed aspect ratio of 1.33 to 1 regardless of screenshot size
  * It is also responsive.
  */
 .theme-browser .theme .theme-screenshot {
@@ -181,7 +181,6 @@ ul, ol {
 .theme-browser .theme .theme-screenshot:after {
 	content: '';
 	display: block;
-	padding-top: 66.66666%; /* using a 3/2 aspect ratio */
 }
 
 .theme-browser .theme:hover .theme-screenshot,
@@ -192,7 +191,7 @@ ul, ol {
 .theme-browser .theme .theme-screenshot img {
 	height: auto;
 	left: 0;
-	position: absolute;
+	position: inherit;
 	top: 0;
 	-webkit-transform: translateZ( 0 );
 	transition: opacity 0.2s ease-in-out;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style-rtl.css wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style-rtl.css
index 3a5638ee3..d7b847c0f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style-rtl.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style-rtl.css
@@ -1 +1 @@
-html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem}h1,h2{font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;letter-spacing:0.16px;letter-spacing:.01rem}h5,h6{font-weight:600;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:8}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-left:-1px;z-index:2}.button-group>.button-primary{z-index:5}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{border-radius:0 3px 3px 0}.button-group>.button:last-child{border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:0.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 0 0 4px;min-width:16px;outline:0;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px -4px 0 0}input[type=radio]{border-radius:50%;line-height:10px;margin-left:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-right:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;transform:rotate(0deg)}15%{width:185px;height:185px;transform:rotate(0deg)}20%{width:180px;height:180px;transform:rotate(-5deg)}40%{transform-origin:top right;animation-timing-function:ease-in-out}60%{transform:rotate(-40deg);transform-origin:top right;animation-timing-function:ease-in-out}40%,80%{transform:rotate(-60deg);transform-origin:top right;animation-timing-function:ease-in-out;opacity:1}to{transform:translate3d(0,700px,0);opacity:0}}.hinge{animation-duration:2s;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content>:last-child,.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0;clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;transition:right .3s;z-index:8}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:7}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body{background:#f1f1f1}.chart>div>div>div>div{right:-10000px!important;left:auto!important}.clear:after,.clear:before,.main-navigation:after,.main-navigation:before,.theme-wrap .theme-about:after,.theme-wrap .theme-about:before{content:"";display:table}.clear:after,.main-navigation:after,.theme-wrap .theme-about:after{clear:both}h2{font-size:28px}ol,ul{margin:0 0 22px;padding-right:26px}.type-page{margin:30px auto}.site-title a{text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.entry-title{font-size:36px;font-weight:300;line-height:1.3;margin:0 0 20px}.wrap{box-sizing:border-box;margin-right:auto;margin-left:auto;max-width:960px;padding:0 10px 100px;position:relative}.theme-browser .themes{clear:both;font-size:0}.modal-open .rendered .themes,.modal-open .wp-filter{display:none}.theme-browser .theme{border:1px solid #dedede;box-shadow:0 1px 1px -1px rgba(0,0,0,.1);cursor:pointer;display:inline-block;margin:0 0 4% 4%;position:relative;width:30.6%}.ie8 .theme-browser .theme{width:30%;margin:0 0 4% 3%}.theme-browser .theme:nth-child(3n){margin-left:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme:focus,.theme-browser .theme:hover{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme .url{box-sizing:content-box}.theme-browser .theme .url:hover{text-decoration:none}.theme-browser .theme .entry-title{background:#fff;background:hsla(0,0%,100%,.65);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-sizing:content-box;color:#555;font-size:15px;font-weight:600;height:18px;margin:0;overflow:hidden;padding:15px;text-overflow:ellipsis;white-space:nowrap}.theme-browser .theme .theme-actions{background:hsla(0,0%,96%,.7);bottom:0;border-right:1px solid rgba(0,0,0,.05);box-sizing:content-box;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";height:38px;opacity:0;padding:9px 10px 0;position:absolute;left:0;transition:opacity .1s ease-in-out}.theme-browser .theme .theme-actions .button{font-size:13px}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:"";display:block;padding-top:66.66666%}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser .theme .theme-screenshot img{height:auto;right:0;position:absolute;top:0;-webkit-transform:translateZ(0);transition:opacity .2s ease-in-out;width:100%}.theme-browser .theme:focus .theme-screenshot img,.theme-browser .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{background:#23282d;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";font-size:15px;-webkit-font-smoothing:antialiased;font-weight:600;right:25%;opacity:0;padding:15px 12px;position:absolute;left:25%;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.6);top:35%;transition:opacity .1s ease-in-out}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser .theme .more-details:focus,.theme-browser .theme:focus .more-details,.theme-browser .theme:hover .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author,body.author .theme-browser .theme .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-navigation{background:#fff;border:1px solid #e5e5e5;box-sizing:border-box;box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 0 25px}.theme-navigation .post-navigation{float:left}.theme-navigation .close{background-color:transparent;border:0;color:#21759b;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;margin:0;padding:17px 15px;transition:color .1s ease-in-out}.theme-navigation a.close{padding:16.5px 15px}.theme-navigation .close:before{content:"\2190";margin-left:5px}.theme-navigation .close:active,.theme-navigation .close:hover{color:#d54e21;outline:none}.theme-navigation .left,.theme-navigation .nav-links a,.theme-navigation .right{background-color:transparent;border:0;border-right:1px solid #ddd;color:#777;cursor:pointer;float:right;height:56px;text-align:center;transition:color .1s ease-in-out,background .1s ease-in-out;width:59px}.theme-navigation .left:before,.theme-navigation .nav-links a:before,.theme-navigation .right:before{text-decoration:inherit;-webkit-font-smoothing:antialiased}.theme-navigation .left:focus,.theme-navigation .left:hover,.theme-navigation .nav-links a:focus,.theme-navigation .nav-links a:hover,.theme-navigation .right:focus,.theme-navigation .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-navigation .left:focus,.theme-navigation .right:focus{box-shadow:none;outline:none}.theme-navigation .dashicons-arrow-left-alt2:before{content:"\f345"}.theme-navigation .dashicons-arrow-right-alt2:before{content:"\f341"}.theme-navigation .left.disabled,.theme-navigation .left.disabled:hover,.theme-navigation .right.disabled,.theme-navigation .right.disabled:hover{background:inherit;color:#ccc;cursor:inherit}.theme-wrap{background:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:10px;-webkit-overflow-scrolling:touch}.theme-wrap .theme-about{padding:2% 4%}.theme-wrap .theme-name{color:#222;display:inline-block}.theme-wrap .theme-author{border:none;color:#686868;display:inline-block;font-size:14px;font-style:italic;margin:0 5px}.theme-wrap .theme-actions{margin:0 0 1.5em;text-align:center}.theme-wrap .theme-actions a{height:36px;padding:4px 10px;width:48%}.ie8 .theme-wrap .theme-actions{border:1px solid #eee}.theme-wrap .theme-meta-info .active_installs,.theme-wrap .theme-meta-info .updated,.theme-wrap .theme-meta-info .version{margin:0 0 .5em}.theme-wrap .theme-meta-info a:after{content:"\2192";margin-right:5px}.theme-wrap .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-wrap .screenshot{border:1px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2);box-sizing:border-box;overflow:hidden;position:relative}.theme-wrap .screenshot:after{content:"";display:block;padding-top:75%}.theme-wrap .screenshot img{height:auto;position:absolute;right:0;top:0;vertical-align:middle;width:100%}.theme-wrap .screenshot.selected{background:transparent;border:2px solid #00a0d2}.theme-wrap .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-wrap .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-wrap .theme-info{width:calc(70% - 30px);float:right}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-meta{float:left;width:calc(32% - 30px)}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:50px}.theme-wrap h4{font-size:14px;margin:16px 0;margin:1rem 0}.theme-wrap h5{font-size:1em;text-transform:none}.theme-wrap .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5}.theme-wrap .theme-tags{font-size:13px}.theme-wrap .theme-downloads .total-downloads{color:#555;font-size:14px;font-weight:400;line-height:1.5;margin:1.5em 0 0}.theme-wrap .theme-devs,.theme-wrap .theme-meta-info,.theme-wrap .theme-report,.theme-wrap .theme-support,.theme-wrap .theme-translations{font-size:1.4em}.theme-wrap .theme-devs h5{margin:1em 0 0}.theme-wrap .theme-devs li{line-height:1.5}.theme-install-overlay iframe{border:0;height:100%;width:100%;z-index:3;transition:opacity .3s}.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center;display:none}.no-results .no-themes{display:block}.theme-browser .no-themes{margin:100px 0 150px}.rating{margin:0 0 1.5em;min-height:26px}.rating span[class]:before{color:#ffb900;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rtl .rating-10 span.one:before,.rtl .rating-30 span.two:before,.rtl .rating-50 span.three:before,.rtl .rating-70 span.four:before,.rtl .rating-90 span.five:before{transform:rotateY(180deg)}.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before,.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.theme-ratings{position:relative}.theme-ratings .reviews-link{font-size:12px;font-size:10.665px;font-size:.6666rem;position:absolute;left:0;top:0}[dir=ltr] .theme-ratings .reviews-link:after,[dir=rtl] .theme-ratings .reviews-link:before{content:"\f341";font-family:dashicons;float:left;padding-right:3px;position:relative;top:1px}.theme-ratings .description{color:#aa9;display:inline-block;font-style:italic;margin:0 5px;vertical-align:bottom}.theme-ratings ul{list-style-type:none;padding:0}.theme-ratings .counter-container,.theme-ratings .counter-container a{display:inline-block;width:100%}.theme-ratings .counter-count,.theme-ratings .counter-label{line-height:1.75}.theme-ratings .counter-label{float:right;margin-left:5px;min-width:58px}.theme-ratings .counter-back,.theme-ratings .counter-bar{float:right;height:17px}.theme-ratings .counter-back{background-color:#ececec;width:64%;width:calc(100% - 88px);overflow:hidden}.theme-ratings .counter-bar{background-color:#ffc733}.theme-ratings .counter-count{float:right;margin-right:5px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:transparent;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%;min-width:0}.wp-full-overlay-sidebar{border:1px solid #ddd;box-sizing:border-box;position:fixed;width:300px;height:calc(100% - 32px);top:0;bottom:0;right:0;padding:0;margin:0;z-index:2;background:#eee}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:32px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px}.wp-full-overlay-sidebar:after{content:"";display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:6}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:2;margin:0;border-top:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:right;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:normal 22px/1 dashicons;content:"\f335";position:relative;top:5px;right:10px}.theme-install-overlay .previous-theme:before{font:normal 20px/1 dashicons;content:"\f345";position:relative;top:4px;right:11px}.theme-install-overlay .next-theme:before{font:normal 20px/1 dashicons;content:"\f341";position:relative;top:4px;right:12px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;right:0;z-index:4;display:block;width:29px;height:25px;margin-right:15px;padding:0;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{height:27px;right:100%;position:absolute}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-right:0;display:block;width:auto;height:auto;background:none}.wp-full-overlay .collapse-sidebar-arrow:before{border-radius:50%;float:right;content:"\f148";background:#eee;font:normal 30px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{transform:rotate(-180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{font-size:16px;right:100%;line-height:1.8;margin-right:10px;position:absolute}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay-main,.wp-full-overlay-sidebar,.wp-full-overlay .collapse-sidebar{transition-property:right,left,top,bottom,width,margin;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(/wp-admin/images/spinner.gif) no-repeat fixed 50%;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:3;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .rating{margin:16px 0 14px;float:left}.theme-details .theme-description{float:right;color:#777;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;margin:8px 0 0 10px}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:#fff url(/wp-admin/images/spinner.gif) no-repeat 50%;background-size:20px 20px}.spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:25% auto 70%}.loading-content .spinner{display:block}.wp-filter{display:inline-block;position:relative;box-sizing:border-box;margin:20px 0 25px;padding:0 20px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4.3em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-links{padding:0}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:left;margin:10px 0;display:inline-block}.wp-filter .wp-filter-search{margin:0;padding:3px 5px;width:270px;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{height:33px;vertical-align:top}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:sub;content:"\f111";margin:0 0 0 5px;width:16px;height:16px;color:#777;transition:color .1s ease-in;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}@media only screen and (max-width:480px){.filter-drawer{margin:0 -10px}}.show-filters .filter-drawer{display:block;overflow:hidden}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{background:#fff;border:1px solid #e5e5e5;box-sizing:border-box;float:right;margin:0 0 0 1%;padding:10px;width:calc(100% / 4 - 7px);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group:last-of-type{margin-left:0}.filter-group.wide{width:38%}.filter-group h4{font-size:14px;position:relative;margin:0}.filter-drawer ol{list-style-type:none;font-size:12px;margin:20px 0 0;padding:0}.filter-drawer li{display:inline-block;list-style-type:none;margin:5px 0;padding-left:25px;width:100%}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 10px 0 0}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{background:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);display:inline-block;font-size:11px;margin:2px 5px;padding:1px 8px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.wp-filter-search{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:none;transition:border-color .05s ease-in-out;border-radius:0;margin:0;padding:3px 5px;width:280px;font-size:16px;font-weight:300;line-height:1.5}.main-navigation{background:#dfdfdf}.main-navigation .menu{font-size:13px;font-weight:700;list-style:none;margin:0 auto;max-width:960px;padding:10px 0}.main-navigation .menu li{display:inline-block;padding-right:20px}.main-navigation .menu li:first-of-type{padding-right:10px}.main-navigation a{color:#636363;font-size:14px;text-decoration:none}@media (max-width:740px){#headline h2{float:none}.main-navigation .menu{margin:0;padding:8px 0;width:100%}}.commercial .theme .more-details{font-size:13px;top:23%;left:5%;right:5%}.commercial .theme .more-details p{margin:0}.commercial .themes{padding:0}.posts-navigation{font-size:18px;overflow:hidden;text-align:center}.posts-navigation .nav-links a{padding:8px 10px;display:inline-block}span.favorite{color:#ccc;float:left;cursor:pointer}span.favorite.dashicons,span.favorite.dashicons:before{font-size:40px;width:40px;line-height:1.5}span.favorite.favorited,span.favorite:hover{color:#e02020}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dppx),print{.wp-full-overlay .collapse-sidebar-arrow{background-image:url(/wp-admin/images/arrows-2x.png);background-size:15px 123px}.customize-loading #customize-container,.spinner,.theme-install-overlay .wp-full-overlay-main{background-image:url(/wp-admin/images/spinner-2x.gif)}}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{height:auto;margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}.theme-browser .theme{width:47.5%;margin-left:0}.theme-browser .theme:nth-child(2n){margin-left:0}.theme-browser .theme:nth-child(odd){margin-left:5%}}@media only screen and (max-width:782px){.theme:focus .more-details,.theme:focus .theme-actions,.theme:hover .more-details,.theme:hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}.wp-filter .search-form{float:none;margin:20px 0;width:100%}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-meta{float:none;width:auto}.theme-wrap .theme-about .theme-info{margin-bottom:50px}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{font-size:18px;height:auto}.theme-wrap .screenshot{margin:0 auto;width:100%}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:46px}.wp-full-overlay-sidebar{height:calc(100% - 46px)}}@media only screen and (max-width:650px){.theme-wrap .theme-description,.theme-wrap .theme-update{margin-right:0}.theme-wrap .theme-info{width:100%}.theme-wrap .theme-author{margin:5px 0 15px}.theme-wrap .current-label{margin-top:10px;font-size:13px}}@media only screen and (max-width:600px){.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:0}.wp-full-overlay-sidebar{height:100%}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-left:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-left:0}#headline .login{float:right;margin-right:10px}.wp-filter{padding:0 10px}.wp-filter .filter-links{padding:0}.wp-filter .drawer-toggle{display:none}.wp-filter .search-form,.wp-filter .wp-filter-search{width:100%}.theme-browser .themes .theme{margin-left:0}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{width:100%;margin:5px 0}.theme-wrap .theme-name{display:block;margin:0}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:30px}.theme-install-overlay .wp-full-overlay-header .theme-install{margin:2px}.theme-navigation .close:before{content:"";margin:0}.theme-wrap .theme-devs,.theme-wrap .theme-support{margin:auto;width:100%}.posts-navigation{margin-top:40px}}
\ No newline at end of file
+html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-right:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-right:16px;padding-right:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 1.5em 1.5em 0;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:right;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:8}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:right;margin-left:1.5em}.alignright{display:inline;float:left;margin-right:1.5em}.aligncenter{clear:both;display:block;margin-right:auto;margin-left:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-right:auto;margin-left:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,-1px 0 1px #006799,0 1px 1px #006799,1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-left:-1px;z-index:2}.button-group>.button-primary{z-index:5}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:rtl}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 0 0 4px;min-width:16px;outline:0;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:right;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px -4px 0 0}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-left:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-right-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-right-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-right-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-right-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{right:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}40%{-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(-40deg);transform:rotate(-40deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(-60deg);transform:rotate(-60deg);-webkit-transform-origin:top right;transform-origin:top right;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-right:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:right;height:24px;margin-left:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-right:1em}.comments-area .pingback .edit-link{margin-right:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 1.3333em 1.6em 0}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 0 0 32px;margin:0 0 0 2rem;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:right;margin-bottom:20px;margin-right:24px;overflow:auto;padding-right:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-right:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-right:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-right:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-right:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-right:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 100% no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;right:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:right;top:100%;-webkit-transition:right .3s;transition:right .3s;z-index:8}#wporg-header #wporg-header-menu.toggled{right:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:left;height:34px;margin-left:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;right:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:7}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:left;margin-left:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-right:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:right;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:right;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-right:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:right;padding-right:10px}#wporg-header h2.rosetta{float:right;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:right;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:right;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-right:9px solid transparent;border-left:9px solid transparent;content:"";height:0;right:50%;margin:-8px -9px 0 0;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-right:9px solid transparent;border-left:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:right;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;right:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:right;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body{background:#f1f1f1}.chart>div>div>div>div{right:-10000px!important;left:auto!important}.clear:after,.clear:before,.main-navigation:after,.main-navigation:before,.theme-wrap .theme-about:after,.theme-wrap .theme-about:before{content:"";display:table}.clear:after,.main-navigation:after,.theme-wrap .theme-about:after{clear:both}h2{font-size:28px}ol,ul{margin:0 0 22px;padding-right:26px}.type-page{margin:30px auto}.site-title a{text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.entry-title{font-size:36px;font-weight:300;line-height:1.3;margin:0 0 20px}.wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-right:auto;margin-left:auto;max-width:960px;padding:0 10px 100px;position:relative}.theme-browser .themes{clear:both;font-size:0}.modal-open .rendered .themes,.modal-open .wp-filter{display:none}.theme-browser .theme{border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);cursor:pointer;display:inline-block;margin:0 0 4% 4%;position:relative;width:30.6%}.ie8 .theme-browser .theme{width:30%;margin:0 0 4% 3%}.theme-browser .theme:nth-child(3n){margin-left:0}.theme-browser .theme:focus,.theme-browser .theme:hover{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);cursor:pointer}.theme-browser .theme:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme .url{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.theme-browser .theme .url:hover{text-decoration:none}.theme-browser .theme .entry-title{background:#fff;background:hsla(0,0%,100%,.65);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#555;font-size:15px;font-weight:600;height:18px;margin:0;overflow:hidden;padding:15px;text-overflow:ellipsis;white-space:nowrap}.theme-browser .theme .theme-actions{background:hsla(0,0%,96%,.7);bottom:0;border-right:1px solid rgba(0,0,0,.05);-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";height:38px;opacity:0;padding:9px 10px 0;position:absolute;left:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme .theme-actions .button{font-size:13px}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:"";display:block}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser .theme .theme-screenshot img{height:auto;right:0;position:inherit;top:0;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;width:100%}.theme-browser .theme:focus .theme-screenshot img,.theme-browser .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{background:#23282d;background:rgba(0,0,0,.7);-webkit-border-radius:3px;border-radius:3px;color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";font-size:15px;-webkit-font-smoothing:antialiased;font-weight:600;right:25%;opacity:0;padding:15px 12px;position:absolute;left:25%;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.6);top:35%;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser .theme .more-details:focus,.theme-browser .theme:focus .more-details,.theme-browser .theme:hover .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author,body.author .theme-browser .theme .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-navigation{background:#fff;border:1px solid #e5e5e5;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 0 25px}.theme-navigation .post-navigation{float:left}.theme-navigation .close{background-color:transparent;border:0;color:#21759b;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;margin:0;padding:17px 15px;-webkit-transition:color .1s ease-in-out;transition:color .1s ease-in-out}.theme-navigation a.close{padding:16.5px 15px}.theme-navigation .close:before{content:"\2190";margin-left:5px}.theme-navigation .close:active,.theme-navigation .close:hover{color:#d54e21;outline:none}.theme-navigation .left,.theme-navigation .nav-links a,.theme-navigation .right{background-color:transparent;border:0;border-right:1px solid #ddd;color:#777;cursor:pointer;float:right;height:56px;text-align:center;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;width:59px}.theme-navigation .left:before,.theme-navigation .nav-links a:before,.theme-navigation .right:before{text-decoration:inherit;-webkit-font-smoothing:antialiased}.theme-navigation .left:focus,.theme-navigation .left:hover,.theme-navigation .nav-links a:focus,.theme-navigation .nav-links a:hover,.theme-navigation .right:focus,.theme-navigation .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-navigation .left:focus,.theme-navigation .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.theme-navigation .dashicons-arrow-left-alt2:before{content:"\f345"}.theme-navigation .dashicons-arrow-right-alt2:before{content:"\f341"}.theme-navigation .left.disabled,.theme-navigation .left.disabled:hover,.theme-navigation .right.disabled,.theme-navigation .right.disabled:hover{background:inherit;color:#ccc;cursor:inherit}.theme-wrap{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:10px;-webkit-overflow-scrolling:touch}.theme-wrap .theme-about{padding:2% 4%}.theme-wrap .theme-name{color:#222;display:inline-block}.theme-wrap .theme-author{border:none;color:#686868;display:inline-block;font-size:14px;font-style:italic;margin:0 5px}.theme-wrap .theme-actions{margin:0 0 1.5em;text-align:center}.theme-wrap .theme-actions a{height:36px;padding:4px 10px;width:48%}.ie8 .theme-wrap .theme-actions{border:1px solid #eee}.theme-wrap .theme-meta-info .active_installs,.theme-wrap .theme-meta-info .updated,.theme-wrap .theme-meta-info .version{margin:0 0 .5em}.theme-wrap .theme-meta-info a:after{content:"\2192";margin-right:5px}.theme-wrap .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-wrap .screenshot{border:1px solid #fff;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.theme-wrap .screenshot:after{content:"";display:block;padding-top:75%}.theme-wrap .screenshot img{height:auto;position:absolute;right:0;top:0;vertical-align:middle;width:100%}.theme-wrap .screenshot.selected{background:transparent;border:2px solid #00a0d2}.theme-wrap .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-wrap .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-wrap .theme-info{width:-webkit-calc(70% - 30px);width:calc(70% - 30px);float:right}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-meta{float:left;width:-webkit-calc(32% - 30px);width:calc(32% - 30px)}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:50px}.theme-wrap h4{font-size:14px;margin:16px 0;margin:1rem 0}.theme-wrap h5{font-size:1em;text-transform:none}.theme-wrap .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5}.theme-wrap .theme-tags{font-size:13px}.theme-wrap .theme-downloads .total-downloads{color:#555;font-size:14px;font-weight:400;line-height:1.5;margin:1.5em 0 0}.theme-wrap .theme-devs,.theme-wrap .theme-meta-info,.theme-wrap .theme-report,.theme-wrap .theme-support,.theme-wrap .theme-translations{font-size:1.4em}.theme-wrap .theme-devs h5{margin:1em 0 0}.theme-wrap .theme-devs li{line-height:1.5}.theme-install-overlay iframe{border:0;height:100%;width:100%;z-index:3;-webkit-transition:opacity .3s;transition:opacity .3s}.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center;display:none}.no-results .no-themes{display:block}.theme-browser .no-themes{margin:100px 0 150px}.rating{margin:0 0 1.5em;min-height:26px}.rating span[class]:before{color:#ffb900;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rtl .rating-10 span.one:before,.rtl .rating-30 span.two:before,.rtl .rating-50 span.three:before,.rtl .rating-70 span.four:before,.rtl .rating-90 span.five:before{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.rating-20 span.one:before{content:"\f155"}.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before{content:"\f155"}.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before{content:"\f155"}.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before{content:"\f155"}.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before,.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.theme-ratings{position:relative}.theme-ratings .reviews-link{font-size:12px;font-size:10.665px;font-size:.6666rem;position:absolute;left:0;top:0}[dir=ltr] .theme-ratings .reviews-link:after,[dir=rtl] .theme-ratings .reviews-link:before{content:"\f341";font-family:dashicons;float:left;padding-right:3px;position:relative;top:1px}.theme-ratings .description{color:#aa9;display:inline-block;font-style:italic;margin:0 5px;vertical-align:bottom}.theme-ratings ul{list-style-type:none;padding:0}.theme-ratings .counter-container,.theme-ratings .counter-container a{display:inline-block;width:100%}.theme-ratings .counter-count,.theme-ratings .counter-label{line-height:1.75}.theme-ratings .counter-label{float:right;margin-left:5px;min-width:58px}.theme-ratings .counter-back,.theme-ratings .counter-bar{float:right;height:17px}.theme-ratings .counter-back{background-color:#ececec;width:60%;width:-webkit-calc(100% - 100px);width:calc(100% - 100px);overflow:hidden}.theme-ratings .counter-bar{background-color:#ffc733}.theme-ratings .counter-count{float:right;margin-right:5px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:transparent;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%;min-width:0}.wp-full-overlay-sidebar{border:1px solid #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:-webkit-calc(100% - 32px);height:calc(100% - 32px);top:0;bottom:0;right:0;padding:0;margin:0;z-index:2;background:#eee}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:32px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px}.wp-full-overlay-sidebar:after{content:"";display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:6}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:2;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:right;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:none;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:normal 22px/1 dashicons;content:"\f335";position:relative;top:5px;right:10px}.theme-install-overlay .previous-theme:before{font:normal 20px/1 dashicons;content:"\f345";position:relative;top:4px;right:11px}.theme-install-overlay .next-theme:before{font:normal 20px/1 dashicons;content:"\f341";position:relative;top:4px;right:12px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;right:0;z-index:4;display:block;width:29px;height:25px;margin-right:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{height:27px;right:100%;position:absolute}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-right:0;display:block;width:auto;height:auto;background:none}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:right;content:"\f148";background:#eee;font:normal 30px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{font-size:16px;right:100%;line-height:1.8;margin-right:10px;position:absolute}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay-main,.wp-full-overlay-sidebar,.wp-full-overlay .collapse-sidebar{-webkit-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(/wp-admin/images/spinner.gif) no-repeat fixed 50%;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:3;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .rating{margin:16px 0 14px;float:left}.theme-details .theme-description{float:right;color:#777;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;margin:8px 0 0 10px}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:#fff url(/wp-admin/images/spinner.gif) no-repeat 50%;-webkit-background-size:20px 20px;background-size:20px 20px}.spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:25% auto 70%}.loading-content .spinner{display:block}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:20px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4.3em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-links{display:inline-block;margin:0;padding:0}.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:left;margin:10px 0;display:inline-block}.wp-filter .wp-filter-search{margin:0;padding:3px 5px;width:270px;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{height:33px;vertical-align:top}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:sub;content:"\f111";margin:0 0 0 5px;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}@media only screen and (max-width:480px){.filter-drawer{margin:0 -10px}}.show-filters .filter-drawer{display:block;overflow:hidden}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{background:#fff;border:1px solid #e5e5e5;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:right;margin:0 0 0 1%;padding:10px;width:-webkit-calc(100%/4 - 7px);width:calc(100% / 4 - 7px);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group:last-of-type{margin-left:0}.filter-group.wide{width:38%}.filter-group h4{font-size:14px;position:relative;margin:0}.filter-drawer ol{list-style-type:none;font-size:12px;margin:20px 0 0;padding:0}.filter-drawer li{display:inline-block;list-style-type:none;margin:5px 0;padding-left:25px;width:100%}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 10px 0 0}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);display:inline-block;font-size:11px;margin:2px 5px;padding:1px 8px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.wp-filter-search{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;-webkit-border-radius:0;border-radius:0;margin:0;padding:3px 5px;width:280px;font-size:16px;font-weight:300;line-height:1.5}.main-navigation{background:#dfdfdf}.main-navigation .menu{font-size:13px;font-weight:700;list-style:none;margin:0 auto;max-width:960px;padding:10px 0}.main-navigation .menu li{display:inline-block;padding-right:20px}.main-navigation .menu li:first-of-type{padding-right:10px}.main-navigation a{color:#636363;font-size:14px;text-decoration:none}@media (max-width:740px){#headline h2{float:none}.main-navigation .menu{margin:0;padding:8px 0;width:100%}}.commercial .theme .more-details{font-size:13px;top:23%;left:5%;right:5%}.commercial .theme .more-details p{margin:0}.commercial .themes{padding:0}.posts-navigation{font-size:18px;overflow:hidden;text-align:center}.posts-navigation .nav-links a{padding:8px 10px;display:inline-block}span.favorite{color:#ccc;float:left;cursor:pointer}span.favorite.dashicons,span.favorite.dashicons:before{font-size:40px;width:40px;line-height:1.5}span.favorite.favorited,span.favorite:hover{color:#e02020}@media (-webkit-min-device-pixel-ratio:1.25),(-webkit-min-device-pixel-ratio:120),(min-resolution:120dppx),print{.wp-full-overlay .collapse-sidebar-arrow{background-image:url(/wp-admin/images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}.customize-loading #customize-container,.spinner,.theme-install-overlay .wp-full-overlay-main{background-image:url(/wp-admin/images/spinner-2x.gif)}}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{height:auto;margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}.theme-browser .theme{width:47.5%;margin-left:0}.theme-browser .theme:nth-child(2n){margin-left:0}.theme-browser .theme:nth-child(odd){margin-left:5%}}@media only screen and (max-width:782px){.theme:focus .more-details,.theme:focus .theme-actions,.theme:hover .more-details,.theme:hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}.wp-filter .search-form{float:none;margin:20px 0;width:100%}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-meta{float:none;width:auto}.theme-wrap .theme-about .theme-info{margin-bottom:50px}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{font-size:18px;height:auto}.theme-wrap .screenshot{margin:0 auto;width:100%}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:46px}.wp-full-overlay-sidebar{height:-webkit-calc(100% - 46px);height:calc(100% - 46px)}}@media only screen and (max-width:650px){.theme-wrap .theme-description,.theme-wrap .theme-update{margin-right:0}.theme-wrap .theme-info{width:100%}.theme-wrap .theme-author{margin:5px 0 15px}.theme-wrap .current-label{margin-top:10px;font-size:13px}}@media only screen and (max-width:600px){.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:0}.wp-full-overlay-sidebar{height:100%}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-left:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-left:0}#headline .login{float:right;margin-right:10px}.wp-filter{padding:0 10px}.wp-filter .filter-links{padding:0}.wp-filter .drawer-toggle{display:none}.wp-filter .search-form,.wp-filter .wp-filter-search{width:100%}.theme-browser .themes .theme{margin-left:0}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{width:100%;margin:5px 0}.theme-wrap .theme-name{display:block;margin:0}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:30px}.theme-install-overlay .wp-full-overlay-header .theme-install{margin:2px}.theme-navigation .close:before{content:"";margin:0}.theme-wrap .theme-devs,.theme-wrap .theme-support{margin:auto;width:100%}.posts-navigation{margin-top:40px}}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css
index f017935b6..2a6ea1f0e 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css
@@ -1 +1,2 @@
-html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem}h1,h2{font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;letter-spacing:0.16px;letter-spacing:.01rem}h5,h6{font-weight:600;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;letter-spacing:.8px}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:8}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;border-radius:3px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;transform:none!important}.button-link{background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary,.button-primary:visited,.download-button,.download-button:visited,.plugin-upload-form .button-primary,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{border-radius:0;display:inline-block;margin-right:-1px;z-index:2}.button-group>.button-primary{z-index:5}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{border-radius:3px 0 0 3px}.button-group>.button:last-child{border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro,p.subheading{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:0.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 4px 0 0;min-width:16px;outline:0;padding:0!important;text-align:center;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px 0 0 -4px}input[type=radio]{border-radius:50%;line-height:10px;margin-right:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.error-404 .page-content,.error-404 .page-title{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@keyframes a{10%{width:180px;height:180px;transform:rotate(0deg)}15%{width:185px;height:185px;transform:rotate(0deg)}20%{width:180px;height:180px;transform:rotate(5deg)}40%{transform-origin:top left;animation-timing-function:ease-in-out}60%{transform:rotate(40deg);transform-origin:top left;animation-timing-function:ease-in-out}40%,80%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out;opacity:1}to{transform:translate3d(0,700px,0);opacity:0}}.hinge{animation-duration:2s;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link,.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content>:last-child,.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;padding:22px 14px 65px}#wporg-footer,#wporg-footer .wrapper{clear:both;margin:0 auto;overflow:auto}#wporg-footer .wrapper{max-width:930px}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0;clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;transition:left .3s;z-index:8}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:7}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;border-radius:0;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;border-radius:0;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body{background:#f1f1f1}.chart>div>div>div>div{left:-10000px!important;right:auto!important}.clear:after,.clear:before,.main-navigation:after,.main-navigation:before,.theme-wrap .theme-about:after,.theme-wrap .theme-about:before{content:"";display:table}.clear:after,.main-navigation:after,.theme-wrap .theme-about:after{clear:both}h2{font-size:28px}ol,ul{margin:0 0 22px;padding-left:26px}.type-page{margin:30px auto}.site-title a{text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.entry-title{font-size:36px;font-weight:300;line-height:1.3;margin:0 0 20px}.wrap{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:960px;padding:0 10px 100px;position:relative}.theme-browser .themes{clear:both;font-size:0}.modal-open .rendered .themes,.modal-open .wp-filter{display:none}.theme-browser .theme{border:1px solid #dedede;box-shadow:0 1px 1px -1px rgba(0,0,0,.1);cursor:pointer;display:inline-block;margin:0 4% 4% 0;position:relative;width:30.6%}.ie8 .theme-browser .theme{width:30%;margin:0 3% 4% 0}.theme-browser .theme:nth-child(3n){margin-right:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme:focus,.theme-browser .theme:hover{border-color:#5b9dd9;box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme .url{box-sizing:content-box}.theme-browser .theme .url:hover{text-decoration:none}.theme-browser .theme .entry-title{background:#fff;background:hsla(0,0%,100%,.65);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-sizing:content-box;color:#555;font-size:15px;font-weight:600;height:18px;margin:0;overflow:hidden;padding:15px;text-overflow:ellipsis;white-space:nowrap}.theme-browser .theme .theme-actions{background:hsla(0,0%,96%,.7);bottom:0;border-left:1px solid rgba(0,0,0,.05);box-sizing:content-box;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";height:38px;opacity:0;padding:9px 10px 0;position:absolute;right:0;transition:opacity .1s ease-in-out}.theme-browser .theme .theme-actions .button{font-size:13px}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:"";display:block;padding-top:66.66666%}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser .theme .theme-screenshot img{height:auto;left:0;position:absolute;top:0;-webkit-transform:translateZ(0);transition:opacity .2s ease-in-out;width:100%}.theme-browser .theme:focus .theme-screenshot img,.theme-browser .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{background:#23282d;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";font-size:15px;-webkit-font-smoothing:antialiased;font-weight:600;left:25%;opacity:0;padding:15px 12px;position:absolute;right:25%;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.6);top:35%;transition:opacity .1s ease-in-out}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser .theme .more-details:focus,.theme-browser .theme:focus .more-details,.theme-browser .theme:hover .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author,body.author .theme-browser .theme .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-navigation{background:#fff;border:1px solid #e5e5e5;box-sizing:border-box;box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 0 25px}.theme-navigation .post-navigation{float:right}.theme-navigation .close{background-color:transparent;border:0;color:#21759b;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;margin:0;padding:17px 15px;transition:color .1s ease-in-out}.theme-navigation a.close{padding:16.5px 15px}.theme-navigation .close:before{content:"\2190";margin-right:5px}.theme-navigation .close:active,.theme-navigation .close:hover{color:#d54e21;outline:none}.theme-navigation .left,.theme-navigation .nav-links a,.theme-navigation .right{background-color:transparent;border:0;border-left:1px solid #ddd;color:#777;cursor:pointer;float:left;height:56px;text-align:center;transition:color .1s ease-in-out,background .1s ease-in-out;width:59px}.theme-navigation .left:before,.theme-navigation .nav-links a:before,.theme-navigation .right:before{text-decoration:inherit;-webkit-font-smoothing:antialiased}.theme-navigation .left:focus,.theme-navigation .left:hover,.theme-navigation .nav-links a:focus,.theme-navigation .nav-links a:hover,.theme-navigation .right:focus,.theme-navigation .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-navigation .left:focus,.theme-navigation .right:focus{box-shadow:none;outline:none}.theme-navigation .dashicons-arrow-left-alt2:before{content:"\f341"}.theme-navigation .dashicons-arrow-right-alt2:before{content:"\f345"}.theme-navigation .left.disabled,.theme-navigation .left.disabled:hover,.theme-navigation .right.disabled,.theme-navigation .right.disabled:hover{background:inherit;color:#ccc;cursor:inherit}.theme-wrap{background:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:10px;-webkit-overflow-scrolling:touch}.theme-wrap .theme-about{padding:2% 4%}.theme-wrap .theme-name{color:#222;display:inline-block}.theme-wrap .theme-author{border:none;color:#686868;display:inline-block;font-size:14px;font-style:italic;margin:0 5px}.theme-wrap .theme-actions{margin:0 0 1.5em;text-align:center}.theme-wrap .theme-actions a{height:36px;padding:4px 10px;width:48%}.ie8 .theme-wrap .theme-actions{border:1px solid #eee}.theme-wrap .theme-meta-info .active_installs,.theme-wrap .theme-meta-info .updated,.theme-wrap .theme-meta-info .version{margin:0 0 .5em}.theme-wrap .theme-meta-info a:after{content:"\2192";margin-left:5px}.theme-wrap .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-wrap .screenshot{border:1px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2);box-sizing:border-box;overflow:hidden;position:relative}.theme-wrap .screenshot:after{content:"";display:block;padding-top:75%}.theme-wrap .screenshot img{height:auto;position:absolute;left:0;top:0;vertical-align:middle;width:100%}.theme-wrap .screenshot.selected{background:transparent;border:2px solid #00a0d2}.theme-wrap .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-wrap .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-wrap .theme-info{width:calc(70% - 30px);float:left}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-meta{float:right;width:calc(32% - 30px)}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:50px}.theme-wrap h4{font-size:14px;margin:16px 0;margin:1rem 0}.theme-wrap h5{font-size:1em;text-transform:none}.theme-wrap .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5}.theme-wrap .theme-tags{font-size:13px}.theme-wrap .theme-downloads .total-downloads{color:#555;font-size:14px;font-weight:400;line-height:1.5;margin:1.5em 0 0}.theme-wrap .theme-devs,.theme-wrap .theme-meta-info,.theme-wrap .theme-report,.theme-wrap .theme-support,.theme-wrap .theme-translations{font-size:1.4em}.theme-wrap .theme-devs h5{margin:1em 0 0}.theme-wrap .theme-devs li{line-height:1.5}.theme-install-overlay iframe{border:0;height:100%;width:100%;z-index:3;transition:opacity .3s}.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center;display:none}.no-results .no-themes{display:block}.theme-browser .no-themes{margin:100px 0 150px}.rating{margin:0 0 1.5em;min-height:26px}.rating span[class]:before{color:#ffb900;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rtl .rating-10 span.one:before,.rtl .rating-30 span.two:before,.rtl .rating-50 span.three:before,.rtl .rating-70 span.four:before,.rtl .rating-90 span.five:before{transform:rotateY(180deg)}.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before,.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.theme-ratings{position:relative}.theme-ratings .reviews-link{font-size:12px;font-size:10.665px;font-size:.6666rem;position:absolute;right:0;top:0}[dir=ltr] .theme-ratings .reviews-link:after,[dir=rtl] .theme-ratings .reviews-link:before{content:"\f345";font-family:dashicons;float:right;padding-left:3px;position:relative;top:1px}.theme-ratings .description{color:#aa9;display:inline-block;font-style:italic;margin:0 5px;vertical-align:bottom}.theme-ratings ul{list-style-type:none;padding:0}.theme-ratings .counter-container,.theme-ratings .counter-container a{display:inline-block;width:100%}.theme-ratings .counter-count,.theme-ratings .counter-label{line-height:1.75}.theme-ratings .counter-label{float:left;margin-right:5px;min-width:58px}.theme-ratings .counter-back,.theme-ratings .counter-bar{float:left;height:17px}.theme-ratings .counter-back{background-color:#ececec;width:60%;width:calc(100% - 100px);overflow:hidden}.theme-ratings .counter-bar{background-color:#ffc733}.theme-ratings .counter-count{float:left;margin-left:5px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:transparent;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{border:1px solid #ddd;box-sizing:border-box;position:fixed;width:300px;height:calc(100% - 32px);top:0;bottom:0;left:0;padding:0;margin:0;z-index:2;background:#eee}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:32px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:"";display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:6}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:2;margin:0;border-top:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:left;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:normal 22px/1 dashicons;content:"\f335";position:relative;top:5px;left:10px}.theme-install-overlay .previous-theme:before{font:normal 20px/1 dashicons;content:"\f341";position:relative;top:4px;left:11px}.theme-install-overlay .next-theme:before{font:normal 20px/1 dashicons;content:"\f345";position:relative;top:4px;left:12px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;left:0;z-index:4;display:block;width:29px;height:25px;margin-left:15px;padding:0;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{height:27px;left:100%;position:absolute}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-left:0;display:block;width:auto;height:auto;background:none}.wp-full-overlay .collapse-sidebar-arrow:before{border-radius:50%;float:left;content:"\f148";background:#eee;font:normal 30px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{font-size:16px;left:100%;line-height:1.8;margin-left:10px;position:absolute}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay-main,.wp-full-overlay-sidebar,.wp-full-overlay .collapse-sidebar{transition-property:left,right,top,bottom,width,margin;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(/wp-admin/images/spinner.gif) no-repeat fixed 50%;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:3;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .rating{margin:16px 0 14px;float:right}.theme-details .theme-description{float:left;color:#777;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;margin:8px 10px 0 0}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:#fff url(/wp-admin/images/spinner.gif) no-repeat 50%;background-size:20px 20px}.spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:25% auto 70%}.loading-content .spinner{display:block}.wp-filter{display:inline-block;position:relative;box-sizing:border-box;margin:20px 0 25px;padding:0 20px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4.3em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-links{padding:0}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:right;margin:10px 0;display:inline-block}.wp-filter .wp-filter-search{margin:0;padding:3px 5px;width:270px;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{height:33px;vertical-align:top}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:sub;content:"\f111";margin:0 5px 0 0;width:16px;height:16px;color:#777;transition:color .1s ease-in;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}@media only screen and (max-width:480px){.filter-drawer{margin:0 -10px}}.show-filters .filter-drawer{display:block;overflow:hidden}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{background:#fff;border:1px solid #e5e5e5;box-sizing:border-box;float:left;margin:0 1% 0 0;padding:10px;width:calc(100% / 4 - 7px);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group:last-of-type{margin-right:0}.filter-group.wide{width:38%}.filter-group h4{font-size:14px;position:relative;margin:0}.filter-drawer ol{list-style-type:none;font-size:12px;margin:20px 0 0;padding:0}.filter-drawer li{display:inline-block;list-style-type:none;margin:5px 0;padding-right:25px;width:100%}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 0 0 10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{background:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);display:inline-block;font-size:11px;margin:2px 5px;padding:1px 8px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.wp-filter-search{border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:none;transition:border-color .05s ease-in-out;border-radius:0;margin:0;padding:3px 5px;width:280px;font-size:16px;font-weight:300;line-height:1.5}.main-navigation{background:#dfdfdf}.main-navigation .menu{font-size:13px;font-weight:700;list-style:none;margin:0 auto;max-width:960px;padding:10px 0}.main-navigation .menu li{display:inline-block;padding-left:20px}.main-navigation .menu li:first-of-type{padding-left:10px}.main-navigation a{color:#636363;font-size:14px;text-decoration:none}@media (max-width:740px){#headline h2{float:none}.main-navigation .menu{margin:0;padding:8px 0;width:100%}}.commercial .theme .more-details{font-size:13px;top:23%;right:5%;left:5%}.commercial .theme .more-details p{margin:0}.commercial .themes{padding:0}.posts-navigation{font-size:18px;overflow:hidden;text-align:center}.posts-navigation .nav-links a{padding:8px 10px;display:inline-block}span.favorite{color:#ccc;float:right;cursor:pointer}span.favorite.dashicons,span.favorite.dashicons:before{font-size:40px;width:40px;line-height:1.5}span.favorite.favorited,span.favorite:hover{color:#e02020}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dppx),print{.wp-full-overlay .collapse-sidebar-arrow{background-image:url(/wp-admin/images/arrows-2x.png);background-size:15px 123px}.customize-loading #customize-container,.spinner,.theme-install-overlay .wp-full-overlay-main{background-image:url(/wp-admin/images/spinner-2x.gif)}}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{height:auto;margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}.theme-browser .theme{width:47.5%;margin-right:0}.theme-browser .theme:nth-child(2n){margin-right:0}.theme-browser .theme:nth-child(odd){margin-right:5%}}@media only screen and (max-width:782px){.theme:focus .more-details,.theme:focus .theme-actions,.theme:hover .more-details,.theme:hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}.wp-filter .search-form{float:none;margin:20px 0;width:100%}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-meta{float:none;width:auto}.theme-wrap .theme-about .theme-info{margin-bottom:50px}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{font-size:18px;height:auto}.theme-wrap .screenshot{margin:0 auto;width:100%}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:46px}.wp-full-overlay-sidebar{height:calc(100% - 46px)}}@media only screen and (max-width:650px){.theme-wrap .theme-description,.theme-wrap .theme-update{margin-left:0}.theme-wrap .theme-info{width:100%}.theme-wrap .theme-author{margin:5px 0 15px}.theme-wrap .current-label{margin-top:10px;font-size:13px}}@media only screen and (max-width:600px){.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:0}.wp-full-overlay-sidebar{height:100%}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-right:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-right:0}#headline .login{float:left;margin-left:10px}.wp-filter{padding:0 10px}.wp-filter .filter-links{padding:0}.wp-filter .drawer-toggle{display:none}.wp-filter .search-form,.wp-filter .wp-filter-search{width:100%}.theme-browser .themes .theme{margin-right:0}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{width:100%;margin:5px 0}.theme-wrap .theme-name{display:block;margin:0}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:30px}.theme-install-overlay .wp-full-overlay-header .theme-install{margin:2px}.theme-navigation .close:before{content:"";margin:0}.theme-wrap .theme-devs,.theme-wrap .theme-support{margin:auto;width:100%}.posts-navigation{margin-top:40px}}
\ No newline at end of file
+html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}optgroup{font-weight:700}table{border-spacing:0}td,th{padding:0}p{margin:16px 0;margin:1rem 0}cite,dfn,em,i{font-style:italic}blockquote{margin:0 24px;margin:0 1.5rem}address{margin:0 0 24px;margin:0 0 1.5rem}pre{background:#eee;font-family:Courier\ 10 Pitch,Courier,monospace;font-size:15px;font-size:.9375rem;line-height:1.6;margin-bottom:25.6px;margin-bottom:1.6rem;max-width:100%;overflow:auto;padding:25.6px;padding:1.6rem}code,kbd,tt,var{font-family:Monaco,Consolas,Andale Mono,DejaVu Sans Mono,monospace;font-size:15px;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{background:#fff}blockquote,q{quotes:"" ""}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote{border-left:2px solid #eee;color:#82878c;font-style:italic;margin:16px 0;margin:1rem 0;padding-left:16px;padding-left:1rem}blockquote cite{font-size:12.8px;font-size:.8rem}figure{margin:0}hr{background-color:#eee;border:0;height:2px;margin:80px auto;margin:5rem auto}img{height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{clear:both;line-height:1.5;margin:32px 0 16px;margin:2rem 0 1rem}h1{font-size:61.035px;font-size:3.8146972656rem;font-weight:300}h2{font-size:39.062px;font-size:2.44140625rem;font-weight:300}h3{font-size:25px;font-size:1.5625rem;font-weight:400}h4{font-size:20px;font-size:1.25rem;color:#32373c;font-weight:600;padding:0}h5{font-size:16px;font-size:1rem;font-weight:600;letter-spacing:.16px;letter-spacing:.01rem;text-transform:uppercase}h6{font-size:12.8px;font-size:.8rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}a{color:#0073aa;text-decoration:none}a:active,a:focus,a:hover{text-decoration:underline}a:focus{outline:thin dotted}a:active,a:hover{outline:0}li>a,p a{text-decoration:underline}li>a:hover,p a:hover{color:#d54e21}ol,ul{margin:0 0 1.5em 1.5em;padding:0}ul{list-style:square}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}table{border:1px solid #eee;border-collapse:collapse;font-size:12.8px;font-size:.8rem;margin:0 0 16px;margin:0 0 1rem;padding:0;width:100%}table thead{background:#32373c;color:#fff}table td,table th{border:1px solid #eee;font-weight:400;margin:0;padding:6.4px;padding:.4rem;text-align:left;vertical-align:top}table tbody tr:nth-child(2n){background:#f7f7f7}html{font-size:100%}body,button,input,select,textarea{color:#32373c;font-family:Open Sans,sans-serif;font-size:100%;line-height:1.5}@media screen and (min-width:737px){html{font-size:1.125rem}}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.screen-reader-text:focus{background-color:#f1f1f1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:8}.site-content[tabindex="-1"]:focus{outline:0}.no-js .hide-if-no-js{display:none}.alignleft{display:inline;float:left;margin-right:1.5em}.alignright{display:inline;float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}@media screen and (max-width:480px){.alignleft,.alignright{display:block;float:none;margin-left:auto;margin-right:auto}}.button,.button-primary,.button-secondary,.plugin-upload-form .button-primary{border:1px solid;-webkit-border-radius:3px;border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:12.8px;font-size:.8rem;height:25px;height:1.5625rem;line-height:1;margin:0;padding:0 12.8px;padding:0 .8rem;text-decoration:none;white-space:nowrap;-webkit-appearance:none}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0 none;padding:0}.button-group.button-xl .button,.button.button-xl{font-size:16px;font-size:1rem;height:39.062px;height:2.44140625rem;line-height:1;padding:0 24px;padding:0 1.5rem}.button-group.button-large .button,.button.button-large{height:31.25px;height:1.953125rem;line-height:1;padding:0 16px;padding:0 1rem}.button-group.button-small .button,.button.button-small{font-size:10.24px;font-size:.64rem;height:20px;height:1.25rem;line-height:1;padding:0 8px;padding:0 .5rem}a.button,a.button-primary,a.button-secondary{line-height:25px;line-height:1.5625rem}.button-group.button-large a.button,a.button.button-large{line-height:31.25px;line-height:1.953125rem}.button-group.button-xl a.button,a.button.button-xl{line-height:39.062px;line-height:2.44140625rem}.button-group.button-small a.button,a.button.button-small{line-height:20px;line-height:1.25rem}.button:active,.button:focus{outline:none}.button.hidden{display:none}input[type=reset],input[type=reset]:active,input[type=reset]:focus,input[type=reset]:hover{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.button,.button-secondary,.button:visited{background:#f7f7f7;border-color:#ccc;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;color:#555;vertical-align:top}p .button{vertical-align:baseline}.button-secondary:focus,.button-secondary:hover,.button.focus,.button.hover,.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#23282d}.button-link:focus,.button-secondary:focus,.button.focus,.button:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 3px rgba(0,115,170,.8);box-shadow:0 0 3px rgba(0,115,170,.8)}.button-secondary:active,.button.active,.button.active:hover,.button:active{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.button.active:focus{border-color:#5b9dd9;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 3px rgba(0,115,170,.8)}.button-disabled,.button-secondary.disabled,.button-secondary:disabled,.button-secondary[disabled],.button.disabled,.button:disabled,.button[disabled]{background:#f7f7f7!important;border-color:#ddd!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#a0a5aa!important;cursor:default;text-shadow:0 1px 0 #fff!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.button-link{background:none;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;margin:0;outline:none;padding:0}.button-link:focus{outline:1px solid #5b9dd9}.button-primary,.download-button,.plugin-upload-form .button-primary{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.button-primary:visited,.download-button:visited,.plugin-upload-form .button-primary:visited{background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary.hover,.button-primary:focus,.button-primary:hover,.download-button.focus,.download-button.hover,.download-button:focus,.download-button:hover,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary.hover,.plugin-upload-form .button-primary:focus,.plugin-upload-form .button-primary:hover{background:#008ec2;border-color:#006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff}.button-primary.focus,.button-primary:focus,.download-button.focus,.download-button:focus,.plugin-upload-form .button-primary.focus,.plugin-upload-form .button-primary:focus{-webkit-box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db}.button-primary.active,.button-primary.active:focus,.button-primary.active:hover,.button-primary:active,.download-button.active,.download-button.active:focus,.download-button.active:hover,.download-button:active,.plugin-upload-form .button-primary.active,.plugin-upload-form .button-primary.active:focus,.plugin-upload-form .button-primary.active:hover,.plugin-upload-form .button-primary:active{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.button-primary.disabled,.button-primary:disabled,.button-primary[disabled],.download-button.disabled,.download-button:disabled,.download-button[disabled],.plugin-upload-form .button-primary.disabled,.plugin-upload-form .button-primary:disabled,.plugin-upload-form .button-primary[disabled]{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-primary.button.button-hero,.download-button.button.button-hero,.plugin-upload-form .button-primary.button.button-hero{-webkit-box-shadow:0 2px 0 #006799;box-shadow:0 2px 0 #006799}.button-primary.button.button-hero.active,.button-primary.button.button-hero.active:focus,.button-primary.button.button-hero.active:hover,.button-primary.button.button-hero:active,.download-button.button.button-hero.active,.download-button.button.button-hero.active:focus,.download-button.button.button-hero.active:hover,.download-button.button.button-hero:active,.plugin-upload-form .button-primary.button.button-hero.active,.plugin-upload-form .button-primary.button.button-hero.active:focus,.plugin-upload-form .button-primary.button.button-hero.active:hover,.plugin-upload-form .button-primary.button.button-hero:active{-webkit-box-shadow:inset 0 3px 0 #006799;box-shadow:inset 0 3px 0 #006799}.button-primary-disabled{background:#008ec2!important;border-color:#007cb2!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#66c6e4!important;cursor:default;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}.button-group{display:inline-block;font-size:0;position:relative;vertical-align:middle;white-space:nowrap}.button-group>.button{-webkit-border-radius:0;border-radius:0;display:inline-block;margin-right:-1px;z-index:2}.button-group>.button-primary{z-index:5}.button-group>.button:hover{z-index:3}.button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:737px){.button,.button.button-large,.button.button-small,.plugin-upload-form .button-primary{font-size:14px;height:auto;line-height:normal;margin-bottom:4px;padding:6px 14px;vertical-align:middle}}.clear:after,.clear:before,.comment-content:after,.comment-content:before,.entry-content:after,.entry-content:before,.home-below:after,.home-below:before,.site-content:after,.site-content:before,.site-footer:after,.site-footer:before,.site-header:after,.site-header:before{content:"";display:table;table-layout:fixed}.clear:after,.comment-content:after,.entry-content:after,.home-below:after,.site-content:after,.site-footer:after,.site-header:after{clear:both}p.subheading{color:#82878c;font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}p.intro{font-size:20px;font-size:1.25rem}p.aside{font-size:12.8px;font-size:.8rem}p.note{font-size:10.24px;font-size:.64rem;letter-spacing:.16px;letter-spacing:.01rem;max-width:291.038px;max-width:18.1898940355rem}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{background-color:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);color:#32373c;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=number]{height:28px;line-height:inherit}input[type=checkbox],input[type=radio]{background:#fff;border:1px solid #b4b9be;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);clear:none;color:#555;cursor:pointer;display:inline-block;height:16px;line-height:0;margin:-4px 4px 0 0;min-width:16px;outline:0;padding:0!important;text-align:center;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;vertical-align:middle;width:16px;-webkit-appearance:none}input[type=checkbox]:checked:before,input[type=radio]:checked:before{display:inline-block;float:left;font:normal 21px/1 dashicons;vertical-align:middle;width:16px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}input[type=checkbox]:checked:before{color:#1e8cbe;content:"\f147";margin:-3px 0 0 -4px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;line-height:10px;margin-right:4px}input[type=radio]:checked+label:before{color:#82878c}input[type=radio]:checked:before{background-color:#1e8cbe;-webkit-border-radius:50px;border-radius:50px;content:"\2022";font-size:24px;height:6px;line-height:16px;margin:4px;text-indent:-9999px;width:6px}input[type=reset]:active,input[type=reset]:hover{color:#00a0d2}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{-webkit-border-radius:0;border-radius:0;font-size:14px;padding:3px 5px}textarea{line-height:1.4;overflow:auto;padding:2px 6px;resize:vertical}textarea.code{line-height:1.4;padding:4px 6px 1px}label{cursor:pointer;vertical-align:middle}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:hsla(0,0%,100%,.5);border-color:hsla(0,0%,87%,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:none;-webkit-box-shadow:none;box-shadow:none}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{padding:1px 6px;width:50px}input[type=number].small-text{width:65px}input.tiny-text{width:35px}input[type=number].tiny-text{width:45px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input[type=number]{height:40px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox]{-webkit-appearance:none;padding:10px}input[type=checkbox]:checked:before{font:normal 30px/1 dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}input,textarea{font-size:16px}input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}input.regular-text{width:100%}label{font-size:14px}fieldset label{display:block}}a.button:active,a.button:focus,a.button:hover{text-decoration:none}.notice{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:1em 0;padding:1px 12px}.notice p{font-size:12.8px;font-size:.8rem;margin:.5em 0;padding:2px}.notice.notice-alt{-webkit-box-shadow:none;box-shadow:none}.notice.notice-large{padding:10px 20px}.notice.notice-success{border-left-color:#46b450}.notice.notice-success.notice-alt{background-color:#ecf7ed}.notice.notice-warning{border-left-color:#ffb900}.notice.notice-warning.notice-alt{background-color:#fff8e5}.notice.notice-error{border-left-color:#dc3232}.notice.notice-error.notice-alt{background-color:#fbeaea}.notice.notice-info{border-left-color:#00a0d2}.notice.notice-info.notice-alt{background-color:#e5f5fa}.error-404 .page-title{text-align:center}.error-404 .page-content{text-align:center}.error-404 .page-content .logo-swing{height:160px;height:10rem;margin:96px auto;margin:6rem auto;position:relative;text-align:center;width:160px;width:10rem}.error-404 .page-content .logo-swing .wp-logo{left:0;max-width:none;position:absolute;top:0;width:160px;width:10rem}@-webkit-keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes a{10%{width:180px;height:180px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}15%{width:185px;height:185px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}20%{width:180px;height:180px;-webkit-transform:rotate(5deg);transform:rotate(5deg)}40%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:a;animation-name:a}.comments-area{margin-top:5em}.comments-area>:last-child{margin-bottom:0}.comments-area .comment-list+.comment-respond{border-top:1px solid #eaeaea}.comments-area .comment-list+.comment-respond,.comments-area .comment-navigation+.comment-respond{padding-top:1.6em}.comments-area .comments-title{margin-bottom:1.3333em}.comments-area .comment-list{list-style:none;margin:0}.comments-area .comment-list .pingback,.comments-area .comment-list .trackback,.comments-area .comment-list article{border-top:1px solid #eaeaea;padding:1.6em 0}.comments-area .comment-list article:not(:only-child){padding-bottom:0}.comments-area .comment-list article+.comment-respond{padding-bottom:1.6em}.comments-area .comment-list .children{list-style:none;margin:0}.comments-area .comment-list .children>li{padding-left:.8em}.comments-area .comment-list .alt{background:none}.comments-area .comment-author{color:#999;margin-bottom:.4em}.comments-area .comment-author .avatar{float:left;height:24px;margin-right:.8em;width:24px}.comments-area .comment-metadata,.comments-area .pingback .edit-link{color:#999;line-height:1.5}.comments-area .comment-metadata a,.comments-area .pingback .edit-link a{color:#777}.comments-area .comment-metadata{font-size:12.8px;font-size:.8rem;margin-bottom:1.6em}.comments-area .comment-metadata .edit-link{margin-left:1em}.comments-area .pingback .edit-link{margin-left:1em}.comments-area .pingback .edit-link:before{top:5px}.comments-area .comment-content ol,.comments-area .comment-content ul{margin:0 0 1.6em 1.3333em}.comments-area .comment-content li>ol,.comments-area .comment-content li>ul{margin-bottom:0}.comments-area .comment-content>:last-child{margin-bottom:0}.comments-area .comment-content .reply{font-size:12px}.comments-area .comment-content .reply a{border:1px solid #eaeaea;color:#707070;display:inline-block;font-weight:700;line-height:1;margin-top:2em;padding:.4167em .8333em;text-transform:uppercase}.comments-area .comment-content .reply a:focus,.comments-area .comment-content .reply a:hover{border-color:#333;color:#333;outline:0}.comments-area .comment-reply-title a{font-weight:inherit}.comments-area .comment-form label{font-size:12.8px;font-size:.8rem;font-weight:700;display:block;letter-spacing:.04em;line-height:1.5}.comments-area .comment-form input[type=email],.comments-area .comment-form input[type=text],.comments-area .comment-form input[type=url],.comments-area .comment-form textarea{width:100%}.comments-area .comment-awaiting-moderation,.comments-area .comment-notes,.comments-area .form-allowed-tags,.comments-area .logged-in-as{font-size:16px;font-size:1rem;line-height:1.5;margin-bottom:2em}.comments-area .no-comments{border-top:1px solid #eaeaea;color:#999;font-weight:700;padding-top:1.6em}.comments-area .comment-navigation+.no-comments{border-top:0}.comments-area .form-allowed-tags code{font-family:Inconsolata,monospace}.comments-area .form-submit{margin-bottom:0}.comments-area .required{color:#c0392b}.entry-content{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}.entry-content>p:first-child{margin-top:0}.entry-content [class*=col-]~h1,.entry-content [class*=col-]~h2,.entry-content [class*=col-]~h3,.entry-content [class*=col-]~h4,.entry-content [class*=col-]~h5,.entry-content [class*=col-]~h6{clear:none}.entry-header{position:relative}.entry-header .sticky-post{color:#999;font-size:12.8px;font-size:.8rem;font-style:italic;position:absolute;top:-12.8px;top:-.8rem}.entry-summary{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}body:not(.single):not(.search) .site-main .post{margin-bottom:48.828px;margin-bottom:3.0517578125rem;max-width:40em}.gallery{margin-bottom:24px;margin-bottom:1.5rem}.gallery .gallery-item{display:inline-block;margin:0;text-align:center;vertical-align:top;width:100%}.gallery.gallery-columns-2 .gallery-item{max-width:50%}.gallery.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery.gallery-columns-4 .gallery-item{max-width:25%}.gallery.gallery-columns-5 .gallery-item{max-width:20%}.gallery.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery .gallery-caption{display:block}.pagination .nav-links{text-align:center}.pagination .nav-links .page-numbers{background-color:#f9f9f9;cursor:hand;display:inline-block;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.dots,.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{background:none;font-size:.9em;width:auto}.pagination .nav-links .page-numbers.dots{cursor:inherit}@media screen and (max-width:737px){.pagination .nav-links .page-numbers.next,.pagination .nav-links .page-numbers.prev{font-size:0;min-width:0;padding:0}.pagination .nav-links .page-numbers.next:after,.pagination .nav-links .page-numbers.prev:before{background-color:#f9f9f9;display:inline-block;font-size:1rem;line-height:1.5;min-width:2em;padding:8px}.pagination .nav-links .page-numbers.prev:before{content:"\2039"}.pagination .nav-links .page-numbers.next:after{content:"\203A"}}.pagination .nav-links span.page-numbers{background-color:#f7f7f7;font-weight:700}.search-form .search-field{line-height:normal;margin:0;padding:4px 5px;vertical-align:text-bottom}.site-content{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-content{padding:0 10px 3.0517578125rem}}@media screen and (max-width:737px){.site-content .site-main{float:none;margin:0;width:auto}}.home .site-content,.page .site-content,.site-content.page{margin:auto;max-width:none;padding:0}.site-content .page-title{font-size:20px;font-size:1.25rem;font-weight:400}.site-content .no-results{margin:0 auto 48.828px;margin:0 auto 3.0517578125rem;max-width:40em;padding:0 32px;padding:0 2rem}.site-description{color:hsla(0,0%,100%,.8);font-size:20px;font-size:1.25rem;font-weight:300;margin:-6.4px auto 32px;margin:-.4rem auto 2rem;text-align:center}.site-header{background:#0073aa;padding:16px 0;padding:1rem 0;position:relative}.site-header .site-branding{margin:0 auto;max-width:960px;padding:0 25px;padding:0 1.5625rem}@media screen and (min-width:737px){.site-header .site-branding{padding:0 10px}}.site-header.home{padding:25px 18.288px;padding:1.5625rem 1.143rem;text-align:center}.site-title{display:inline-block;font-size:25px;font-size:1.5625rem;font-weight:300;line-height:1;margin:0 32px 0 0;margin:0 2rem 0 0;max-width:none}.site-title a{color:#fff;font-weight:300}.site-title a:active,.site-title a:focus,.site-title a:hover{text-decoration:none}.site-header.home .site-title{display:inherit;font-size:61.035px;font-size:3.8146972656rem;margin:32px 0 16px;margin:2rem 0 1rem}#wporg-footer{background-color:#f7f7f7;border-top:1px solid #dfdfdf;clear:both;margin:0 auto;overflow:auto;padding:22px 14px 65px}#wporg-footer .wrapper{clear:both;margin:0 auto;max-width:930px;overflow:auto}#wporg-footer ul{float:left;margin-bottom:20px;margin-left:24px;overflow:auto;padding-left:0;width:135px}@media screen and (min-width:960px){#wporg-footer ul:first-child{margin-left:0}}#wporg-footer ul li{color:#bbb;font-size:14px;list-style-type:none;margin-bottom:1px}#wporg-footer ul li a{text-decoration:none;text-decoration-skip-ink:none}#wporg-footer ul li a:hover{color:#0073aa;text-decoration:underline}#wporg-footer .cip{clear:both;color:#ccc;float:none;font-size:12.8px;font-size:.8rem;letter-spacing:.3em;margin:35px auto 0;text-align:center;text-transform:uppercase}#wporg-footer .cip.cip-image{background:url(//s.w.org/style/images/codeispoetry.png?1) 50% no-repeat;-webkit-background-size:190px 15px;background-size:190px 15px;height:15px;text-indent:-9999px;width:190px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:1.5dppx),only screen and (min-resolution:144dpi){#wporg-footer .cip.cip-image{background-image:url(//s.w.org/style/images/codeispoetry-2x.png?1)}}@media screen and (min-width:561px) and (max-width:959px){#wporg-footer .wrapper{max-width:600px}#wporg-footer ul{margin-left:2%;width:32%}#wporg-footer ul:nth-child(3n+1){margin-left:0}#wporg-footer ul:nth-child(4n){clear:both}}@media screen and (max-width:560px){#wporg-footer .wrapper{max-width:360px}#wporg-footer ul{margin-left:4%;width:48%}#wporg-footer ul:nth-child(odd){margin-left:0}#wporg-footer ul:nth-child(odd){clear:both}}#wporg-header{background:#23282d;height:140px;position:relative;text-align:center;width:100%}#wporg-header .wrapper{margin:0 auto;max-width:960px}#wporg-header h1{display:inline-block;margin:auto;width:303px}#wporg-header h1 a{background:url(//s.w.org/style/images/wporg-logo.svg?3) 0 no-repeat;-webkit-background-size:290px 46px;background-size:290px 46px;display:block;height:88px;text-indent:-9999px}#wporg-header h2.rosetta{clear:none;color:#dfdfdf;font-family:Georgia,Times New Roman,serif;font-size:30px;margin:0}#wporg-header h2.rosetta a{border-bottom:none;color:#dfdfdf;display:block;height:52px;line-height:22px;padding:0}#wporg-header h2.rosetta a:hover{text-decoration:none}#wporg-header #wporg-header-menu{background:#23282d;left:-75%;list-style:none;margin:0;max-width:75%;min-width:200px;position:absolute;text-align:left;top:100%;-webkit-transition:left .3s;transition:left .3s;z-index:8}#wporg-header #wporg-header-menu.toggled{left:0}#wporg-header ul li{list-style-type:none;position:relative}#wporg-header ul li a{color:#eee;display:block;font-family:Open Sans,Helvetica,Arial,Liberation Sans,sans-serif;font-size:13px;font-weight:600;height:34px;line-height:34px;margin:0 4px;padding:10px 30px;text-decoration:none}#wporg-header ul li a.subcurrent{font-weight:700}@media (max-width:768px){#wporg-header ul li a{height:auto}}#wporg-header ul li.current-menu-item a,#wporg-header ul li.current_page_parent a,#wporg-header ul li a.current,#wporg-header ul li a:hover{color:#00a0d2}#wporg-header ul li#download,#wporg-header ul li.download{float:right;height:34px;margin-right:14px;overflow:hidden;padding:0 0 34px}@media screen and (max-width:820px){#wporg-header ul li#download,#wporg-header ul li.download{display:none}}@media screen and (max-width:768px){#wporg-header ul li#download,#wporg-header ul li.download{display:block;float:none;margin:10px 20px 20px;padding-bottom:0;height:auto}#wporg-header ul li#download a,#wporg-header ul li.download a{padding:4px 10px}}#wporg-header ul li#download a,#wporg-header ul li.download a{margin:0;padding:0 16px}#wporg-header ul li#download a:hover,#wporg-header ul li.download a:hover{color:#eee}#wporg-header ul li#download.current,#wporg-header ul li#download.current-menu-item,#wporg-header ul li#download .uparrow,#wporg-header ul li.download.current,#wporg-header ul li.download.current-menu-item,#wporg-header ul li.download .uparrow{display:none}#wporg-header ul li .nav-submenu{clip:rect(1px,1px,1px,1px);height:1px;left:-2px;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;z-index:7}#wporg-header ul li .nav-submenu li a{height:24px;line-height:24px;margin:0}@media screen and (min-width:768px){#wporg-header #head-search{float:right;margin-right:14px;padding-top:30px}}#wporg-header #head-search form{border-bottom:1px solid #3f3f3f;display:inline-block;margin-left:60px;width:288px}#wporg-header #head-search form input.text{background:#191e23;border:0;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#b4b9be;float:left;font-family:Open Sans,sans-serif;font-size:12px;height:24px;margin:0;outline:none;padding:3px;vertical-align:top;width:256px}#wporg-header #head-search form input.text::-moz-placeholder{color:#eee}@media screen and (max-width:480px){#wporg-header #head-search form input.text{width:216px}}#wporg-header #head-search form .button{background:#191e23 url(//s.w.org/wp-includes/images/admin-bar-sprite.png?d=20120831) no-repeat 2px 5px;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none;float:left;height:30px;margin:0;padding:0;text-shadow:none!important;width:26px}@media screen and (max-width:480px){#wporg-header #head-search form{width:248px}}@media screen and (min-width:480px){#wporg-header #head-search form{margin-left:0}}@media screen and (min-width:768px){#wporg-header{height:120px;text-align:inherit}#wporg-header h1{float:left;padding-left:10px}#wporg-header h2.rosetta{float:left;padding:36px 27px 0}#wporg-header #headline h2{text-rendering:optimizeLegibility}#wporg-header #wporg-header-menu{float:left;height:46px;list-style:none;margin:-15px 0 0;max-width:inherit;min-width:0;padding:0;position:static;width:100%}#wporg-header ul li{float:left;position:relative}#wporg-header ul li a{height:46px;padding:0 6px}#wporg-header ul li a.current~.uparrow{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-8px auto 0;width:0}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after{border-bottom:9px solid #f7f7f7;border-left:9px solid transparent;border-right:9px solid transparent;content:"";height:0;left:50%;margin:-8px 0 0 -9px;position:absolute;width:0}#wporg-header ul li .nav-submenu:hover~.uparrow,#wporg-header ul li:hover .nav-submenu~.uparrow{border-bottom:9px solid #32373c;border-left:9px solid transparent;border-right:9px solid transparent;height:0;margin:-10px auto 0;width:0}#wporg-header ul li .nav-submenu{background:#32373c;border:1px solid #32373c;border-top:0;margin-top:-1px;min-width:0}#wporg-header ul li .nav-submenu li{float:none}#wporg-header ul li .nav-submenu li a{height:34px;line-height:34px}#wporg-header .nav-menu .focus>ul,#wporg-header .nav-menu ul li:hover>ul,#wporg-header ul.nav-menu .focus>ul,#wporg-header ul.nav-menu li:hover>ul{clip:inherit;height:inherit;overflow:inherit;width:inherit}#wporg-header ul li.current-menu-item:after,#wporg-header ul li.current_page_parent:after,#wporg-header ul li a.current~.uparrow{border-bottom-color:#0073aa}}.page-download #wporg-header #download,.page-parent-download #wporg-header #download{display:none}#mobile-menu-button{background:none;border:none;-webkit-box-shadow:none;box-shadow:none;display:block;float:left;font-family:dashicons;font-size:16px;font-style:normal;font-weight:400;left:10px;line-height:1;padding:1px;position:absolute;text-align:center;text-decoration:inherit;text-shadow:none;top:75px;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;vertical-align:top;-webkit-font-smoothing:antialiased}#mobile-menu-button:before{border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#888;content:"\f228";display:inline-block;float:left;font:normal 50px/1 Dashicons;margin:0;outline:none;padding:3px;text-decoration:none;vertical-align:middle;-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){#mobile-menu-button{display:none}}#download-mobile{background:#f7f7f7;border-bottom:1px solid #ddd}#download-mobile .wrapper{padding:20px 0;text-align:center}#download-mobile span.download-ready{font-size:1.6em;margin:0 .25em}#download-mobile a.download-button{font-size:1.6em;height:inherit;margin:10px .25em;padding:10px 15px}body{background:#f1f1f1}.chart>div>div>div>div{left:-10000px!important;right:auto!important}.clear:after,.clear:before,.main-navigation:after,.main-navigation:before,.theme-wrap .theme-about:after,.theme-wrap .theme-about:before{content:"";display:table}.clear:after,.main-navigation:after,.theme-wrap .theme-about:after{clear:both}h2{font-size:28px}ol,ul{margin:0 0 22px;padding-left:26px}.type-page{margin:30px auto}.site-title a{text-decoration:none}.site-title a:active,.site-title a:focus,.site-title a:hover{color:#fff}.entry-title{font-size:36px;font-weight:300;line-height:1.3;margin:0 0 20px}.wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:960px;padding:0 10px 100px;position:relative}.theme-browser .themes{clear:both;font-size:0}.modal-open .rendered .themes,.modal-open .wp-filter{display:none}.theme-browser .theme{border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);cursor:pointer;display:inline-block;margin:0 4% 4% 0;position:relative;width:30.6%}.ie8 .theme-browser .theme{width:30%;margin:0 3% 4% 0}.theme-browser .theme:nth-child(3n){margin-right:0}.theme-browser .theme:focus,.theme-browser .theme:hover{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);cursor:pointer}.theme-browser .theme:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme .url{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.theme-browser .theme .url:hover{text-decoration:none}.theme-browser .theme .entry-title{background:#fff;background:hsla(0,0%,100%,.65);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;color:#555;font-size:15px;font-weight:600;height:18px;margin:0;overflow:hidden;padding:15px;text-overflow:ellipsis;white-space:nowrap}.theme-browser .theme .theme-actions{background:hsla(0,0%,96%,.7);bottom:0;border-left:1px solid rgba(0,0,0,.05);-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";height:38px;opacity:0;padding:9px 10px 0;position:absolute;right:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme .theme-actions .button{font-size:13px}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:"";display:block}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser .theme .theme-screenshot img{height:auto;left:0;position:inherit;top:0;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;width:100%}.theme-browser .theme:focus .theme-screenshot img,.theme-browser .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{background:#23282d;background:rgba(0,0,0,.7);-webkit-border-radius:3px;border-radius:3px;color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";font-size:15px;-webkit-font-smoothing:antialiased;font-weight:600;left:25%;opacity:0;padding:15px 12px;position:absolute;right:25%;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.6);top:35%;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser .theme .more-details:focus,.theme-browser .theme:focus .more-details,.theme-browser .theme:hover .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author,body.author .theme-browser .theme .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-navigation{background:#fff;border:1px solid #e5e5e5;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 0 25px}.theme-navigation .post-navigation{float:right}.theme-navigation .close{background-color:transparent;border:0;color:#21759b;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;margin:0;padding:17px 15px;-webkit-transition:color .1s ease-in-out;transition:color .1s ease-in-out}.theme-navigation a.close{padding:16.5px 15px}.theme-navigation .close:before{content:"\2190";margin-right:5px}.theme-navigation .close:active,.theme-navigation .close:hover{color:#d54e21;outline:none}.theme-navigation .left,.theme-navigation .nav-links a,.theme-navigation .right{background-color:transparent;border:0;border-left:1px solid #ddd;color:#777;cursor:pointer;float:left;height:56px;text-align:center;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;width:59px}.theme-navigation .left:before,.theme-navigation .nav-links a:before,.theme-navigation .right:before{text-decoration:inherit;-webkit-font-smoothing:antialiased}.theme-navigation .left:focus,.theme-navigation .left:hover,.theme-navigation .nav-links a:focus,.theme-navigation .nav-links a:hover,.theme-navigation .right:focus,.theme-navigation .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-navigation .left:focus,.theme-navigation .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.theme-navigation .dashicons-arrow-left-alt2:before{content:"\f341"}.theme-navigation .dashicons-arrow-right-alt2:before{content:"\f345"}.theme-navigation .left.disabled,.theme-navigation .left.disabled:hover,.theme-navigation .right.disabled,.theme-navigation .right.disabled:hover{background:inherit;color:#ccc;cursor:inherit}.theme-wrap{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:10px;-webkit-overflow-scrolling:touch}.theme-wrap .theme-about{padding:2% 4%}.theme-wrap .theme-name{color:#222;display:inline-block}.theme-wrap .theme-author{border:none;color:#686868;display:inline-block;font-size:14px;font-style:italic;margin:0 5px}.theme-wrap .theme-actions{margin:0 0 1.5em;text-align:center}.theme-wrap .theme-actions a{height:36px;padding:4px 10px;width:48%}.ie8 .theme-wrap .theme-actions{border:1px solid #eee}.theme-wrap .theme-meta-info .active_installs,.theme-wrap .theme-meta-info .updated,.theme-wrap .theme-meta-info .version{margin:0 0 .5em}.theme-wrap .theme-meta-info a:after{content:"\2192";margin-left:5px}.theme-wrap .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-wrap .screenshot{border:1px solid #fff;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.theme-wrap .screenshot:after{content:"";display:block;padding-top:75%}.theme-wrap .screenshot img{height:auto;position:absolute;left:0;top:0;vertical-align:middle;width:100%}.theme-wrap .screenshot.selected{background:transparent;border:2px solid #00a0d2}.theme-wrap .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-wrap .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-wrap .theme-info{width:-webkit-calc(70% - 30px);width:calc(70% - 30px);float:left}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-meta{float:right;width:-webkit-calc(32% - 30px);width:calc(32% - 30px)}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:50px}.theme-wrap h4{font-size:14px;margin:16px 0;margin:1rem 0}.theme-wrap h5{font-size:1em;text-transform:none}.theme-wrap .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5}.theme-wrap .theme-tags{font-size:13px}.theme-wrap .theme-downloads .total-downloads{color:#555;font-size:14px;font-weight:400;line-height:1.5;margin:1.5em 0 0}.theme-wrap .theme-devs,.theme-wrap .theme-meta-info,.theme-wrap .theme-report,.theme-wrap .theme-support,.theme-wrap .theme-translations{font-size:1.4em}.theme-wrap .theme-devs h5{margin:1em 0 0}.theme-wrap .theme-devs li{line-height:1.5}.theme-install-overlay iframe{border:0;height:100%;width:100%;z-index:3;-webkit-transition:opacity .3s;transition:opacity .3s}.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center;display:none}.no-results .no-themes{display:block}.theme-browser .no-themes{margin:100px 0 150px}.rating{margin:0 0 1.5em;min-height:26px}.rating span[class]:before{color:#ffb900;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rtl .rating-10 span.one:before,.rtl .rating-30 span.two:before,.rtl .rating-50 span.three:before,.rtl .rating-70 span.four:before,.rtl .rating-90 span.five:before{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.rating-20 span.one:before{content:"\f155"}.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before{content:"\f155"}.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before{content:"\f155"}.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before{content:"\f155"}.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before,.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.theme-ratings{position:relative}.theme-ratings .reviews-link{font-size:12px;font-size:10.665px;font-size:.6666rem;position:absolute;right:0;top:0}[dir=ltr] .theme-ratings .reviews-link:after,[dir=rtl] .theme-ratings .reviews-link:before{content:"\f345";font-family:dashicons;float:right;padding-left:3px;position:relative;top:1px}.theme-ratings .description{color:#aa9;display:inline-block;font-style:italic;margin:0 5px;vertical-align:bottom}.theme-ratings ul{list-style-type:none;padding:0}.theme-ratings .counter-container,.theme-ratings .counter-container a{display:inline-block;width:100%}.theme-ratings .counter-count,.theme-ratings .counter-label{line-height:1.75}.theme-ratings .counter-label{float:left;margin-right:5px;min-width:58px}.theme-ratings .counter-back,.theme-ratings .counter-bar{float:left;height:17px}.theme-ratings .counter-back{background-color:#ececec;width:60%;width:-webkit-calc(100% - 100px);width:calc(100% - 100px);overflow:hidden}.theme-ratings .counter-bar{background-color:#ffc733}.theme-ratings .counter-count{float:left;margin-left:5px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:transparent;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{border:1px solid #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:-webkit-calc(100% - 32px);height:calc(100% - 32px);top:0;bottom:0;left:0;padding:0;margin:0;z-index:2;background:#eee}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:32px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:"";display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:6}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:2;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:left;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:none;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:normal 22px/1 dashicons;content:"\f335";position:relative;top:5px;left:10px}.theme-install-overlay .previous-theme:before{font:normal 20px/1 dashicons;content:"\f341";position:relative;top:4px;left:11px}.theme-install-overlay .next-theme:before{font:normal 20px/1 dashicons;content:"\f345";position:relative;top:4px;left:12px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;left:0;z-index:4;display:block;width:29px;height:25px;margin-left:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{height:27px;left:100%;position:absolute}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-left:0;display:block;width:auto;height:auto;background:none}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:left;content:"\f148";background:#eee;font:normal 30px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{font-size:16px;left:100%;line-height:1.8;margin-left:10px;position:absolute}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay-main,.wp-full-overlay-sidebar,.wp-full-overlay .collapse-sidebar{-webkit-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:9;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(/wp-admin/images/spinner.gif) no-repeat fixed 50%;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:3;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .rating{margin:16px 0 14px;float:right}.theme-details .theme-description{float:left;color:#777;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;margin:8px 10px 0 0}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:#fff url(/wp-admin/images/spinner.gif) no-repeat 50%;-webkit-background-size:20px 20px;background-size:20px 20px}.spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:25% auto 70%}.loading-content .spinner{display:block}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:20px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4.3em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-links{display:inline-block;margin:0;padding:0}.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:right;margin:10px 0;display:inline-block}.wp-filter .wp-filter-search{margin:0;padding:3px 5px;width:270px;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{height:33px;vertical-align:top}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:sub;content:"\f111";margin:0 5px 0 0;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in;transition:color .1s ease-in;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}@media only screen and (max-width:480px){.filter-drawer{margin:0 -10px}}.show-filters .filter-drawer{display:block;overflow:hidden}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{background:#fff;border:1px solid #e5e5e5;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin:0 1% 0 0;padding:10px;width:-webkit-calc(100%/4 - 7px);width:calc(100% / 4 - 7px);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group:last-of-type{margin-right:0}.filter-group.wide{width:38%}.filter-group h4{font-size:14px;position:relative;margin:0}.filter-drawer ol{list-style-type:none;font-size:12px;margin:20px 0 0;padding:0}.filter-drawer li{display:inline-block;list-style-type:none;margin:5px 0;padding-right:25px;width:100%}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 0 0 10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);display:inline-block;font-size:11px;margin:2px 5px;padding:1px 8px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.wp-filter-search{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:none;-webkit-transition:border-color .05s ease-in-out;transition:border-color .05s ease-in-out;-webkit-border-radius:0;border-radius:0;margin:0;padding:3px 5px;width:280px;font-size:16px;font-weight:300;line-height:1.5}.main-navigation{background:#dfdfdf}.main-navigation .menu{font-size:13px;font-weight:700;list-style:none;margin:0 auto;max-width:960px;padding:10px 0}.main-navigation .menu li{display:inline-block;padding-left:20px}.main-navigation .menu li:first-of-type{padding-left:10px}.main-navigation a{color:#636363;font-size:14px;text-decoration:none}@media (max-width:740px){#headline h2{float:none}.main-navigation .menu{margin:0;padding:8px 0;width:100%}}.commercial .theme .more-details{font-size:13px;top:23%;right:5%;left:5%}.commercial .theme .more-details p{margin:0}.commercial .themes{padding:0}.posts-navigation{font-size:18px;overflow:hidden;text-align:center}.posts-navigation .nav-links a{padding:8px 10px;display:inline-block}span.favorite{color:#ccc;float:right;cursor:pointer}span.favorite.dashicons,span.favorite.dashicons:before{font-size:40px;width:40px;line-height:1.5}span.favorite.favorited,span.favorite:hover{color:#e02020}@media (-webkit-min-device-pixel-ratio:1.25),(-webkit-min-device-pixel-ratio:120),(min-resolution:120dppx),print{.wp-full-overlay .collapse-sidebar-arrow{background-image:url(/wp-admin/images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}.customize-loading #customize-container,.spinner,.theme-install-overlay .wp-full-overlay-main{background-image:url(/wp-admin/images/spinner-2x.gif)}}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{height:auto;margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}.theme-browser .theme{width:47.5%;margin-right:0}.theme-browser .theme:nth-child(2n){margin-right:0}.theme-browser .theme:nth-child(odd){margin-right:5%}}@media only screen and (max-width:782px){.theme:focus .more-details,.theme:focus .theme-actions,.theme:hover .more-details,.theme:hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}.wp-filter .search-form{float:none;margin:20px 0;width:100%}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-meta{float:none;width:auto}.theme-wrap .theme-about .theme-info{margin-bottom:50px}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{font-size:18px;height:auto}.theme-wrap .screenshot{margin:0 auto;width:100%}.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:46px}.wp-full-overlay-sidebar{height:-webkit-calc(100% - 46px);height:calc(100% - 46px)}}@media only screen and (max-width:650px){.theme-wrap .theme-description,.theme-wrap .theme-update{margin-left:0}.theme-wrap .theme-info{width:100%}.theme-wrap .theme-author{margin:5px 0 15px}.theme-wrap .current-label{margin-top:10px;font-size:13px}}@media only screen and (max-width:600px){.wp-full-overlay,.wp-full-overlay-sidebar{margin-top:0}.wp-full-overlay-sidebar{height:100%}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-right:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-right:0}#headline .login{float:left;margin-left:10px}.wp-filter{padding:0 10px}.wp-filter .filter-links{padding:0}.wp-filter .drawer-toggle{display:none}.wp-filter .search-form,.wp-filter .wp-filter-search{width:100%}.theme-browser .themes .theme{margin-right:0}.theme-wrap .theme-actions .button-primary,.theme-wrap .theme-actions .button-secondary{width:100%;margin:5px 0}.theme-wrap .theme-name{display:block;margin:0}.theme-wrap .theme-about .theme-head,.theme-wrap .theme-about .theme-info,.theme-wrap .theme-about .theme-info>div:not(:last-of-type),.theme-wrap .theme-about .theme-meta>div:not(:last-of-type){margin-bottom:30px}.theme-install-overlay .wp-full-overlay-header .theme-install{margin:2px}.theme-navigation .close:before{content:"";margin:0}.theme-wrap .theme-devs,.theme-wrap .theme-support{margin:auto;width:100%}.posts-navigation{margin-top:40px}}
+/*# sourceMappingURL=style.css.map */
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css.map wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css.map
index a8cdba64f..83f8d9945 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css.map
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/css/style.css.map
@@ -1,53 +1 @@
-{
-	"version": 3,
-	"file": "style.css",
-	"sources": [
-		"style.scss",
-		"settings/_settings.scss",
-		"../../wporg/css/settings/_colors.scss",
-		"../../wporg/css/settings/_modular-scale.scss",
-		"../../wporg/css/settings/_structure.scss",
-		"../../wporg/css/settings/_typography.scss",
-		"tools/_tools.scss",
-		"../../wporg/css/tools/_breakpoint.scss",
-		"../../wporg/css/tools/_modular-scale.scss",
-		"generic/_generic.scss",
-		"../../wporg/css/generic/_normalize.scss",
-		"base/_base.scss",
-		"../../wporg/css/base/_copy.scss",
-		"../../wporg/css/base/_elements.scss",
-		"../../wporg/css/base/_headings.scss",
-		"../../wporg/css/base/_links.scss",
-		"../../wporg/css/base/_lists.scss",
-		"../../wporg/css/base/_tables.scss",
-		"../../wporg/css/base/_typography.scss",
-		"objects/_objects.scss",
-		"../../wporg/css/objects/_accessibility.scss",
-		"../../wporg/css/objects/_alignments.scss",
-		"../../wporg/css/objects/_buttons.scss",
-		"../../wporg/css/objects/_clearings.scss",
-		"../../wporg/css/objects/_copy.scss",
-		"../../wporg/css/objects/_inputs.scss",
-		"../../wporg/css/objects/_links.scss",
-		"../../wporg/css/objects/_notices.scss",
-		"components/_components.scss",
-		"../../wporg/css/components/_404.scss",
-		"../../wporg/css/components/_comments.scss",
-		"../../wporg/css/components/_entry-content.scss",
-		"../../wporg/css/components/_entry-header.scss",
-		"../../wporg/css/components/_entry-summary.scss",
-		"../../wporg/css/components/_entry.scss",
-		"../../wporg/css/components/_gallery.scss",
-		"../../wporg/css/components/_posts-navigation.scss",
-		"../../wporg/css/components/_search-form.scss",
-		"../../wporg/css/components/_site-content.scss",
-		"../../wporg/css/components/_site-description.scss",
-		"../../wporg/css/components/_site-header.scss",
-		"../../wporg/css/components/_site-title.scss",
-		"../../wporg/css/components/_wporg-footer.scss",
-		"../../wporg/css/components/_wporg-header.scss",
-		"components/_main.scss"
-	],
-	"mappings": "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",
-	"names": []
-}
\ No newline at end of file
+{"version":3,"sources":["../../wporg/css/generic/_normalize.scss","style.css","../../wporg/css/base/_copy.scss","../../wporg/css/base/_elements.scss","../../wporg/css/tools/_modular-scale.scss","../../wporg/css/base/_headings.scss","../../wporg/css/settings/_typography.scss","../../wporg/css/settings/_colors.scss","../../wporg/css/settings/_modular-scale.scss","../../wporg/css/base/_links.scss","../../wporg/css/base/_lists.scss","../../wporg/css/base/_tables.scss","../../wporg/css/base/_typography.scss","../../wporg/css/tools/_breakpoint.scss","../../wporg/css/objects/_accessibility.scss","../../wporg/css/objects/_alignments.scss","../../wporg/css/objects/_buttons.scss","../../wporg/css/objects/_clearings.scss","../../wporg/css/objects/_copy.scss","../../wporg/css/objects/_inputs.scss","../../wporg/css/objects/_links.scss","../../wporg/css/objects/_notices.scss","../../wporg/css/components/_404.scss","../../wporg/css/components/_comments.scss","../../wporg/css/components/_entry-content.scss","../../wporg/css/components/_entry-header.scss","../../wporg/css/components/_entry-summary.scss","../../wporg/css/components/_entry.scss","../../wporg/css/components/_gallery.scss","../../wporg/css/components/_posts-navigation.scss","../../wporg/css/components/_search-form.scss","../../wporg/css/components/_site-content.scss","../../wporg/css/settings/_structure.scss","../../wporg/css/components/_site-description.scss","../../wporg/css/components/_site-header.scss","../../wporg/css/components/_site-title.scss","../../wporg/css/components/_wporg-footer.scss","../../wporg/css/components/_wporg-header.scss","components/_main.scss"],"names":[],"mappings":"AAAA,KACC,uBAAuB,AACvB,8BAA8B,AAC9B,yBAA8B,CAC9B,AAED,KACC,QAAS,CACT,AAED,oFAYC,aAAc,CACd,AAED,4BAIC,qBAAqB,AACrB,uBAAwB,CACxB,AAED,sBACC,aAAa,AACb,QAAS,CACT,ACED,kBDEC,YAAa,CACb,AAED,EACC,4BAA6B,CAC7B,AAOD,YACC,wBAAyB,CACzB,AAED,SAEC,eAAiB,CACjB,AAED,IACC,iBAAkB,CAClB,AAED,GACC,cAAc,AACd,cAAgB,CAChB,AAED,KACC,gBAAgB,AAChB,UAAW,CACX,AAED,MACC,aAAc,CACd,AAED,QAEC,cAAc,AACd,cAAc,AACd,kBAAkB,AAClB,uBAAwB,CACxB,AAED,IACC,SAAW,CACX,AAED,IACC,aAAe,CACf,AAED,IACC,QAAS,CACT,AAED,eACC,eAAgB,CAChB,AAED,OACC,eAAgB,CAChB,AAED,GACC,+BAAuB,AAAvB,4BAAuB,AAAvB,uBAAuB,AACvB,QAAS,CACT,AAMD,kBAIC,gCAAiC,AACjC,aAAc,CACd,AAED,sCAKC,cAAc,AACd,aAAa,AACb,QAAS,CACT,AAED,OACC,gBAAiB,CACjB,AAED,cAEC,mBAAoB,CACpB,AAED,oEAIC,0BAA0B,AAC1B,cAAe,CACf,AAED,sCAEC,cAAe,CACf,AAED,iDAEC,SAAS,AACT,SAAU,CACV,AAED,MACC,kBAAmB,CACnB,AAED,uCAEC,8BAAsB,AAAtB,2BAAsB,AAAtB,sBAAsB,AACtB,SAAU,CACV,AAED,4FAEC,WAAY,CACZ,AAED,+FAEC,uBAAwB,CACxB,AAED,SACC,wBAAyB,AACzB,aAAa,AACb,0BAA8B,CAC9B,AAED,OACC,SAAS,AACT,SAAU,CACV,AAMD,SACC,eAAiB,CACjB,AAED,MAEC,gBAAiB,CACjB,AAED,MAEC,SAAU,CACV,AEjND,EACC,cAAc,AAAd,aAAc,CACd,AAED,cACC,iBAAkB,CAClB,AAED,WACC,cAAgB,AAAhB,eAAgB,CAChB,AAED,QACC,gBAAkB,AAAlB,iBAAkB,CAClB,AAED,IACC,gBAAgB,AAChB,gDA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vB,AAED,6JAGC,kBAAmB,CACnB,AAED,eACC,eAAe,AACf,cAAmB,AAAnB,aAAmB,CACnB,AAED,eACC,cAAc,AACd,mBAAoB,CACpB,AAED,+BACC,WAAW,AACX,eAAe,AACf,gBAAgB,AAChB,eAAgB,CAChB,AAED,wBACC,cAAe,CACf,AAED,8CACC,WAAW,AACX,eAAe,AACf,gBAAgB,AAChB,gBAAgB,AAChB,gBAAmB,CACnB,AAED,0IAKC,eAAgB,CAChB,AAED,2BACC,cAAiB,CACjB,AACD,2BACC,eAAgB,CAChB,AAED,8BACC,SAAS,AACT,YAAY,AACZ,WAAW,AACX,UAAW,AACX,+BAAwB,AAAxB,sBAAwB,CACxB,AAOD,WACC,WAAW,AACX,WAAW,AACX,eAAe,AACf,kBAAkB,AAClB,SAAS,AACT,kBAAkB,AAClB,kBAAkB,AAClB,YAAa,CACb,AAED,uBACC,aAAc,CACd,AAED,0BACC,oBAAqB,CACrB,AAID,QACC,iBAAiB,AACjB,eAAgB,CAChB,AAED,2BACC,cAAc,AACd,gBAAgB,AAChB,qBAAqB,AACrB,mCAAmC,AACnC,6BAA+B,AAC/B,kBAAmB,CACnB,AAGD,2IAKC,eAAgB,CAChB,AAED,oKAKC,kCAA0B,AAA1B,yBAA0B,CAC1B,AAGD,2BACC,eAAgB,CAChB,AACD,iFAGC,eAAgB,CAChB,AACD,yIAKC,eAAgB,CAChB,AACD,kMAOC,eAAgB,CAChB,AACD,+PASC,eAAgB,CAChB,AACD,iBACC,cAAc,AACd,iBAAiB,AACjB,UAAW,CACX,AAED,eACC,iBAAkB,CAClB,AAED,6BACC,eAAe,AACf,mBAAoB,AAApB,mBAAoB,AACpB,kBAAkB,AAClB,QAAQ,AACR,KAAM,CACN,ArCivED,2FqC7uEC,gBAAgB,AAChB,sBAAsB,AACtB,YAAY,AACZ,iBAAiB,AACjB,kBAAkB,AAClB,OAAQ,CACR,AAED,4BACC,WAAW,AACX,qBAAqB,AACrB,kBAAkB,AAClB,aAAa,AACb,qBAAsB,CACtB,AACD,kBACC,qBAAqB,AACrB,SAAU,CACV,AACD,sEAEC,qBAAqB,AACrB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YAAY,AACZ,gBAAgB,AAChB,UAAW,CACX,AAED,+CACC,UAAW,CACX,AAED,cACC,gBAAgB,AAChB,yBAAyB,AACzB,8BAAsB,AAAtB,2BAAsB,AAAtB,sBAAsB,AACtB,WAAW,AACX,gBAAgB,AAChB,aAAa,AACb,iCAA2B,AAA3B,2BAA2B,AAC3B,6CAAsC,AAAtC,oCAAsC,CACtC,AAED,2BACC,cAAe,CACf,AAED,mBACC,SAAU,CACV,AAED,iBACC,eAAe,AACf,kBAAkB,AAClB,QAAS,CACT,AAED,kBACC,qBAAqB,AACrB,eAAe,AACf,gBAAgB,AAChB,SAAU,CACV,AAED,kBACC,qBAAqB,AACrB,qBAAqB,AACrB,aAAa,AACb,mBAAmB,AACnB,UAAW,CACX,AAED,wBACC,kBAAmB,CACnB,AAED,qCACC,qBAAqB,AACrB,WAAY,AACZ,eAAe,AACf,gBAAiB,CACjB,AAED,iCACC,aAAa,AACb,iBAAkB,CAClB,AAED,aACC,aAAa,AACb,QAAS,CACT,AAED,kBACC,eAAgB,CAChB,AAED,eACC,gBAAiB,CACjB,AAED,mBACC,cAAe,CACf,AAED,kBACC,gBAAgB,AAChB,yBAAyB,AACzB,6CAAsC,AAAtC,qCAAsC,AACtC,qBAAqB,AACrB,eAAe,AACf,eAAe,AACf,eAAgB,CAChB,AAED,2GAGC,sBAAwB,CACxB,AAED,8BACC,aAAc,CACd,AAED,oKAIC,YAAa,CACb,AAED,kDACC,aAAc,CACd,AAED,kBACC,sBAAsB,AACtB,mDAAiD,AAAjD,2CAAiD,AACjD,sBAAsB,AACtB,WAAW,AACX,aAAa,AACb,iDAA0C,AAA1C,yCAA0C,AAC1C,wBAAgB,AAAhB,gBAAgB,AAChB,SAAS,AACT,gBAAgB,AAChB,YAAY,AACZ,eAAe,AACf,gBAAgB,AAChB,eAAgB,CAChB,AAGD,iBACC,kBAAmB,CACnB,AAED,uBACC,eAAe,AACf,gBAAiB,AACjB,gBAAgB,AAChB,cAAc,AACd,gBAAgB,AAChB,cAAe,CACf,AAED,0BACC,qBAAqB,AACrB,iBAAkB,CAClB,AACD,wCACC,iBAAkB,CAClB,AAED,mBACC,cAAc,AACd,eAAe,AACf,oBAAqB,CACrB,AAGD,yBACC,aACC,UAAW,CACX,AACD,uBACC,SAAS,AACT,cAAc,AACd,UAAW,CACX,CrCyvED,AqCrvED,iCACC,eAAe,AACf,QAAQ,AACR,SAAS,AACT,OAAQ,CACR,AAED,mCACC,QAAS,CACT,AAED,oBACC,SAAU,CACV,AAGD,kBACC,eAAe,AACf,gBAAgB,AAChB,iBAAkB,CAClB,AAED,+BACC,iBAAiB,AACjB,oBAAqB,CACrB,AAID,cACC,WAAc,AACd,YAAY,AACZ,cAAe,CACf,AAED,uDAEC,eAAe,AACf,WAAW,AACX,eAAgB,CAChB,AAED,4CAEC,aAAc,CACd,AASD,iHAGC,yCACC,qDAAqD,AACrD,mCAA2B,AAA3B,0BAA2B,CAC3B,AAED,8FAGC,qDAAsD,CACtD,CrCovED,AqCjvED,0CACC,eACC,4BAA6B,CAC7B,AAED,cACC,YAAY,AACZ,gBAAgB,AAChB,eAAe,AACf,UAAW,CACX,AAED,iBACC,aAAc,CACd,AAED,sBACC,YAAY,AACZ,cAAe,CACf,AAED,oCACC,cAAe,CACf,AAED,qCACC,eAAgB,CAChB,CrC+uED,AqC5uED,yCACC,8GAIC,YAAa,CACb,AAED,sHAEC,SAAY,CACZ,AAED,wBACC,WAAW,AACX,cAAc,AACd,UAAW,CACX,AAED,+GAGC,WAAW,AACX,UAAW,CACX,AAED,qCACC,kBAAmB,CACnB,AAED,wFAEC,eAAe,AACf,WAAY,CACZ,AAED,wBACC,cAAc,AACd,UAAW,CACX,AAED,0CAEC,eAAgB,CAChB,AAED,yBACC,iCAA0B,AAA1B,wBAA0B,CAC1B,CrCuuED,AqCpuED,yCACC,yDAEC,aAAc,CACd,AAED,wBACC,UAAW,CACX,AAED,0BACC,iBAAoB,CACpB,AAED,2BACC,gBAAgB,AAChB,cAAe,CACf,CrCouED,AqCjuED,yCACC,0CAEC,YAAa,CACb,AAED,yBACC,WAAY,CACZ,CrCmuED,AqChuED,yCACC,sBACC,WAAW,AACX,cAAe,CACf,AAED,wEAEC,cAAe,CACf,AAGD,iBACC,WAAW,AACX,gBAAiB,CACjB,AAED,WACC,cAAe,CACf,AAED,yBACC,SAAU,CACV,AAGD,0BACC,YAAa,CACb,AAGD,qDAEC,UAAW,CACX,AAED,8BACC,cAAe,CACf,AAED,wFAEC,WAAW,AACX,YAAa,CACb,AAED,wBACC,cAAc,AACd,QAAS,CACT,AAED,kMAIC,kBAAmB,CACnB,AAED,8DACC,UAAW,CACX,AAED,gCACC,WAAW,AACX,QAAS,CACT,AAID,mDAEC,YAAY,AACZ,UAAW,CACX,AAED,kBACC,eAAgB,CAChB,CrCotED","file":"style.css"}
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php
index 7d53c7d6a..6963b70c2 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php
@@ -37,7 +37,13 @@ add_action( 'after_setup_theme', 'wporg_themes_setup' );
  */
 function wporg_themes_trailing_slashes() {
 	if ( '/themes' === $_SERVER['REQUEST_URI'] ) {
-		wp_safe_redirect( '/themes/' );
+		wp_safe_redirect( '/themes/', 301 );
+		die();
+	}
+
+	if ( false !== stripos( $_SERVER['REQUEST_URI'], '/index.php' ) ) {
+		$url = str_ireplace( '/index.php', '/', $_SERVER['REQUEST_URI'] );
+		wp_safe_redirect( $url, 301 );
 		die();
 	}
 }
@@ -54,12 +60,12 @@ function wporg_themes_scripts() {
 		$GLOBALS['concatenate_scripts'] = true;
 	}
 
-	wp_enqueue_style( 'wporg-themes', get_theme_file_uri( '/css/style.css' ), [ 'dashicons', 'open-sans' ], '20181209' );
+	wp_enqueue_style( 'wporg-themes', get_theme_file_uri( '/css/style.css' ), [ 'dashicons', 'open-sans' ], '20190304' );
 	wp_style_add_data( 'wporg-themes', 'rtl', 'replace' );
 
 	if ( ! is_singular( 'page' ) ) {
 		wp_enqueue_script( 'google-charts-loader', 'https://www.gstatic.com/charts/loader.js', array(), null, true );
-		wp_enqueue_script( 'wporg-theme', get_template_directory_uri() . "/js/theme{$suffix}.js", array( 'wp-backbone' ), 20, true );
+		wp_enqueue_script( 'wporg-theme', get_template_directory_uri() . "/js/theme{$suffix}.js", array( 'wp-backbone' ), 21, true );
 
 		wp_localize_script( 'wporg-theme', '_wpThemeSettings', array(
 			'themes'   => false,
@@ -169,6 +175,9 @@ function wporg_themes_document_title( $title ) {
 	}
 
 	if ( ! is_front_page() ) {
+		if ( is_singular( 'repopackage' ) ) {
+			$title['title'] .= ' - ' . __( 'WordPress theme', 'wporg-themes' );
+		}
 		$title['site'] = __( 'WordPress.org', 'wporg-themes' );
 	}
 
@@ -199,6 +208,16 @@ function wporg_themes_meta_tags( $tags ) {
 }
 add_filter( 'jetpack_seo_meta_tags', 'wporg_themes_meta_tags' );
 
+/**
+ * Outputs `noindex,follow` robots tag for search results.
+ */
+function wporg_themes_noindex_for_search() {
+	if ( is_search() ) {
+		wp_no_robots();
+	}
+}
+add_action( 'wp_head', 'wporg_themes_noindex_for_search' );
+
 /**
  * Overrides feeds to use a custom RSS2 feed which contains the current requests themes.
  */
@@ -246,9 +265,11 @@ function wporg_themes_get_feature_list( $include = 'active' ) {
 				'four-columns'  => __( 'Four Columns', 'wporg-themes' ),
 				'left-sidebar'  => __( 'Left Sidebar', 'wporg-themes' ),
 				'right-sidebar' => __( 'Right Sidebar', 'wporg-themes' ),
+				'wide-blocks'   => __( 'Wide Blocks', 'wporg-themes' ),
 			),
 			__( 'Features', 'wporg-themes' ) => array(
 				'accessibility-ready'   => __( 'Accessibility Ready', 'wporg-themes' ),
+				'block-styles'          => __( 'Block Editor Styles', 'wporg-themes' ),
 				'buddypress'            => __( 'BuddyPress', 'wporg-themes' ),
 				'custom-background'     => __( 'Custom Background', 'wporg-themes' ),
 				'custom-colors'         => __( 'Custom Colors', 'wporg-themes' ),
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/header.php wordpress.org/public_html/wp-content/themes/pub/wporg-themes/header.php
index af0bcbbeb..f025ea97e 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/header.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/header.php
@@ -6,6 +6,10 @@
  */
 
 $GLOBALS['pagetitle'] = wp_get_document_title();
+global $wporg_global_header_options;
+if ( !isset( $wporg_global_header_options['in_wrapper'] ) )
+	$wporg_global_header_options['in_wrapper'] = '';
+$wporg_global_header_options['in_wrapper'] .= '<a class="skip-link screen-reader-text" href="#themes">' . esc_html__( 'Skip to content', 'wporg-themes' ) . '</a>';
 
 require WPORGPATH . 'header.php';
 ?>
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.js wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.js
index 80eee4148..faf9d4e00 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.js
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.js
@@ -1582,12 +1582,12 @@ window.wp = window.wp || {};
 
 	themes.Router = Backbone.Router.extend({
 		routes: {
-			'browse/:sort(/)'  : 'sort',
-			'tags/:tag(/)'     : 'tag',
-			'search/:query(/)' : 'search',
-			'author/:author(/)': 'author',
-			':slug(/)'         : 'preview',
-			''                 : 'sort'
+			'browse/:sort(/page/:page)(/)'   : 'sort',
+			'tags/:tag(/page/:page)(/)'      : 'tag',
+			'search/:query(/page/:page)(/)'  : 'search',
+			'author/:author(/page/:page)(/)' : 'author',
+			':slug(/)'                       : 'preview',
+			''                               : 'sort'
 		},
 
 		baseUrl: function( url ) {
@@ -1659,7 +1659,11 @@ window.wp = window.wp || {};
 			// Handles sorting / browsing routes
 			// Also handles the root URL triggering a sort request
 			// for `featured`, the default view
-			themes.router.on( 'route:sort', function( sort ) {
+			themes.router.on( 'route:sort', function( sort, page ) {
+				if ( page ) {
+					themes.router.navigate( 'browse/' + sort + '/', { replace: true } );
+				}
+
 				self.view.collection.queries.push( themes.data.query );
 
 				if ( ! sort ) {
@@ -1670,14 +1674,22 @@ window.wp = window.wp || {};
 			});
 
 			// The `search` route event. The router populates the input field.
-			themes.router.on( 'route:search', function() {
+			themes.router.on( 'route:search', function( query, page ) {
+				if ( page ) {
+					themes.router.navigate( 'search/' + query + '/', { replace: true } );
+				}
+
 				self.view.collection.queries.push( themes.data.query );
 
 				$( '.wp-filter-search' ).focus().trigger( 'keyup' );
 				self.view.trigger( 'theme:close' );
 			});
 
-			themes.router.on( 'route:tag', function( tag ) {
+			themes.router.on( 'route:tag', function( tag, page ) {
+				if ( page ) {
+					themes.router.navigate( 'tags/' + tag + '/', { replace: true } );
+				}
+
 				self.view.collection.queries.push( themes.data.query );
 
 				_.each( tag.split( '+' ), function( tag ) {
@@ -1689,7 +1701,11 @@ window.wp = window.wp || {};
 				self.view.trigger( 'theme:close' );
 			});
 
-			themes.router.on( 'route:author', function( author ) {
+			themes.router.on( 'route:author', function( author, page ) {
+				if ( page ) {
+					themes.router.navigate( 'author/' + author + '/', { replace: true } );
+				}
+
 				self.view.collection.queries.push( themes.data.query );
 
 				request.author = author;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js
index 7a64624ce..5944ea2db 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/js/theme.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b,c=wp.themes=wp.themes||{};c.data=_wpThemeSettings,b=c.data.l10n,_.extend(c,{model:{},view:{},routes:{},router:{},template:wp.template}),c.utils={title:function(b){document.title=a("<div/>").html(c.data.settings.title.replace("%s",a("<div/>").text(b).html())).text()}},c.Model=Backbone.Model.extend({initialize:function(){var a;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(a=this.get("sections").description,this.set({description:a}))}}),c.view.Appearance=wp.Backbone.View.extend({el:"#themes .theme-browser",window:a(window),page:0,initialize:function(a){_.bindAll(this,"scroller"),this.SearchView=a.SearchView?a.SearchView:c.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new c.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.find(".themes").remove(),this.$el.append(this.view.el).addClass("rendered")},searchContainer:"",search:function(){var c,d=this;c=new this.SearchView({collection:d.collection,parent:this}),c.render(),this.searchContainer.append(a.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+b.search+"</label>")).append(c.el)},scroller:function(){var a,b,c=this;a=this.window.scrollTop()+c.window.height(),b=c.$el.offset().top+c.$el.outerHeight(!1)-c.window.height(),b=Math.round(.9*b),a>b&&this.trigger("theme:scroll")}}),c.Collection=Backbone.Collection.extend({model:c.Model,terms:"",queries:[],currentQuery:{page:1,request:{}},count:!1,loadingThemes:!1,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(c.data.themes),this.trigger("themes:update"))},search:function(b){var d,e,f,g,h,i;this.reset(c.data.themes,{silent:!0}),b=b.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),b=b.replace(/ /g,")(?=.*"),d=new RegExp("^(?=.*"+b+").+","i"),e=this.filter(function(a){return g=a.get("name").replace(/(<([^>]+)>)/gi,""),h=a.get("description").replace(/(<([^>]+)>)/gi,""),i=a.get("author").replace(/(<([^>]+)>)/gi,""),f=_.union([g,a.get("id"),h,i,a.get("tags")]),d.test(a.get("author"))&&b.length>2&&a.set("displayAuthor",!0),d.test(f)}),0===e.length?this.trigger("query:empty"):a("body").removeClass("no-results"),this.reset(e)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(c.data.settings.postsPerPage*a)),b=_(b.first(c.data.settings.postsPerPage))},query:function(b){var c,d,e,f=this.queries,g=this;if(this.currentQuery.request=b,c=_.find(f,function(a){return _.isEqual(a.request,b)}),d=_.has(b,"page"),d||(this.currentQuery.page=1),c||d){if(d)return this.apiCall(b,d).done(function(a){g.add(a.themes),g.trigger("query:success",a.info.results),g.loadingThemes=!1}).fail(function(){g.trigger("query:fail")});0===c.themes.length?g.trigger("query:empty"):a("body").removeClass("no-results"),_.isNumber(c.total)&&(this.count=c.total),this.reset(c.themes),c.total||(this.count=this.length),this.trigger("themes:update"),this.trigger("query:success",this.count)}else c=this.apiCall(b).done(function(a){a.themes&&(g.reset(a.themes),e=a.info.results,f.push({themes:a.themes,request:b,total:e})),g.trigger("themes:update"),g.trigger("query:success",e),a.themes&&0===a.themes.length&&g.trigger("query:empty")}).fail(function(){g.trigger("query:fail")})},apiCall:function(b,d){var e={type:"POST",url:"https://api.wordpress.org/themes/info/1.1/",jsonp:"callback",dataType:"jsonp",data:{action:"query_themes",request:_.extend({per_page:c.data.settings.postsPerPage,locale:c.data.settings.locale,fields:{description:!0,sections:!1,tested:!0,requires:!0,downloaded:!1,downloadlink:!0,last_updated:!0,homepage:!0,theme_url:!0,parent:!0,tags:!0,rating:!0,ratings:!0,num_ratings:!0,extended_author:!0,photon_screenshots:!0,active_installs:!0}},b)},beforeSend:function(){d||a("body").addClass("loading-content").removeClass("no-results")}};return a.Deferred(function(b){a.ajax(e).done(function(a){b.resolveWith(this,[a])}).fail(function(){b.rejectWith(this,arguments)})}).promise()}}),c.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:wp.themes.template("theme"),events:{click:"expand",keydown:"expand",touchend:"expand",keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var a=this.model.toJSON();a.permalink=c.data.settings.path+c.router.baseUrl(a.slug),a.path=c.data.settings.path,this.$el.html(this.html(a)).attr({tabindex:0,"aria-describedby":a.id+"-action "+a.id+"-name"})},addFocus:function(){var b=a(":focus").hasClass("theme")?a(":focus"):a(":focus").parents(".theme");a(".theme.focus").removeClass("focus"),b.addClass("focus")},expand:function(b){var d=this;if(b=b||window.event,!(!0===b.metaKey|b.ctrlKey&&"click"===b.type||"keydown"===b.type&&13!==b.which&&32!==b.which))return this.touchDrag===!0?this.touchDrag=!1:void(a(b.target).is(".theme-actions a")||(c.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid),b.preventDefault()))},preventExpand:function(){this.touchDrag=!0}}),c.view.Details=wp.Backbone.View.extend({className:"theme-overlay",events:{click:"collapse","click .left":"previousTheme","click .right":"nextTheme","click .theme-actions .button-secondary":"preview","keydown .theme-actions .button-secondary":"preview","touchend .theme-actions .button-secondary":"preview","click .favorite":"favourite_toggle"},html:c.template("theme-single"),render:function(){var a=this.model.toJSON(),d=new Date;d.setUTCFullYear(a.last_updated.substring(0,4),a.last_updated.substring(5,7)-1,a.last_updated.substring(8,10)),a.last_updated=d.toLocaleDateString(b.locale,{day:"numeric",month:"long",year:"numeric"}),a.is_outdated=d.setYear(d.getYear()+1902).valueOf()<(new Date).valueOf(),a.tags=_.map(a.tags,function(a,d){return translated_tag=b.tags[d]||a,'<a href="'+c.data.settings.path+c.router.baseUrl("tags/"+d)+'">'+translated_tag+"</a>"}).join(", "),a.path=c.data.settings.path,a.active_installs<10?a.active_installs=b.active_installs_less_than_10:a.active_installs>=1e6?a.active_installs=b.active_installs_1_million:a.active_installs=a.active_installs.toLocaleString()+"+",a.show_favorites=!!c.data.settings.favorites.user,a.is_favorited=c.data.settings.favorites.themes.indexOf(a.slug)!=-1,a.current_user=c.data.settings.favorites.user,this.$el.html(this.html(a)),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el),this.renderDownloadsGraph()},favourite_toggle:function(b){var d,e=this.$el.find(".favorite"),f=!e.hasClass("favorited"),g=this.model.get("slug");e.toggleClass("favorited"),f?c.data.settings.favorites.themes.push(g):(d=c.data.settings.favorites.themes.indexOf(g),d>-1&&delete c.data.settings.favorites.themes[d]);var h={type:"GET",url:"https://api.wordpress.org/themes/theme-directory/1.0/",jsonp:"callback",dataType:"jsonp",data:{action:f?"add-favorite":"remove-favorite",theme:this.model.get("slug"),_wpnonce:c.data.settings.favorites.nonce}};a.ajax(h).done(function(a){"undefined"!=typeof a.error&&"not_logged_in"==a.error&&(c.data.settings.favorites.themes=[],c.data.settings.favorites.user="")})},preview:function(b){var d,e,f=this;return this.touchDrag===!0?this.touchDrag=!1:void(a(b.target).hasClass("button-primary")||"keydown"===b.type&&13!==b.which&&32!==b.which||"keydown"===b.type&&13!==b.which&&a(":focus").hasClass("button")||(b=b||window.event,b.preventDefault(),c.focusedTheme=this.$el,e=new c.view.Preview({model:this.model}),e.render(),this.setNavButtonsState(),c.data.settings.isMobile?e.$el.addClass("wp-full-overlay collapsed"):e.$el.addClass("wp-full-overlay expanded"),a(".theme-install-overlay").append(e.el),this.listenTo(e,"theme:next",function(){return this.trigger("theme:next"),d=f.model,_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)+1),_.isUndefined(f.current)?(f.options.parent.parent.trigger("theme:end"),f.current=d):(e.model=f.current,e.render(),this.setNavButtonsState(),void a(".next-theme").focus())}).listenTo(e,"theme:previous",function(){this.trigger("theme:previous"),d=f.model,0!==f.model.collection.indexOf(f.current)&&(_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)-1),_.isUndefined(f.current)||(e.model=f.current,e.render(),this.setNavButtonsState(),a(".previous-theme").focus()))}),this.listenTo(e,"preview:close",function(){f.current=f.model})))},setNavButtonsState:function(){var b=a(".theme-install-overlay"),c=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(c)&&b.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(c)+1))&&b.find(".next-theme").addClass("disabled")},containFocus:function(b){var c,d=window.event;"undefined"!=typeof d&&1!==a(d.target).closest(".theme").length||_.delay(function(){a(".theme-wrap a.button-primary:visible").focus()},500),b.on("keydown.wp-themes",function(d){9===d.which&&(c=a(d.target),c.is("button.close")&&d.shiftKey?(b.find(".theme-tags a:last-child").focus(),d.preventDefault()):c.is(".theme-tags a:last-child")&&(b.find("button.close").focus(),d.preventDefault()))})},collapse:function(b){var d,e,f,g,h,i=this,j={};1!==c.data.themes.length&&(b=b||window.event,(a(b.target).is(".close")||27===b.keyCode)&&(a("body").addClass("closing-overlay"),this.$el.fadeOut(1,function(){a("body").removeClass("closing-overlay"),i.closeOverlay(),d=document.body.scrollTop,(e=c.Collection.prototype.currentQuery.request.author)?(c.router.navigate(c.router.baseUrl("author/"+e)),c.utils.title(e)):(f=c.Collection.prototype.currentQuery.request.search)?(c.router.navigate(c.router.baseUrl(c.router.searchPath+f)),c.utils.title(f)):(g=c.view.Installer.prototype.filtersChecked())?(c.router.navigate(c.router.baseUrl("tags/"+g.join("+"))),c.utils.title(_.each(g,function(b,c){g[c]=a('label[for="filter-id-'+b+'"]').text()}).join(", "))):(h=a(".filter-links .current"))&&(h.length||(h=a('.filter-links [data-sort="featured"]'),j={trigger:!0}),c.router.navigate(c.router.baseUrl(c.router.browsePath+h.data("sort")),j),c.utils.title(h.text())),document.body.scrollTop=d,c.focusedTheme&&c.focusedTheme.focus()})))},renderDownloadsGraph:function(){var b=this;a.getJSON("https://api.wordpress.org/stats/themes/1.0/downloads.php?slug="+b.model.get("id")+"&limit=260&callback=?",function(c){google.charts.setOnLoadCallback(function(){var d=new google.visualization.DataTable,e=0;d.addColumn("string",_wpThemeSettings.l10n.date),d.addColumn("number",_wpThemeSettings.l10n.downloads),a.each(c,function(a,b){d.addRow(),d.setValue(e,0,new Date(a).toLocaleDateString()),d.setValue(e,1,Number(b)),e++}),new google.visualization.ColumnChart(document.getElementById("theme-download-stats-"+b.model.get("id"))).draw(d,{colors:["#253578"],legend:{position:"none"},titlePosition:"in",axisTitlesPosition:"in",chartArea:{height:280,left:35,width:"98%"},hAxis:{textStyle:{color:"black",fontSize:9}},vAxis:{format:"###,###",textPosition:"out",viewWindowMode:"explicit",viewWindow:{min:0}},bar:{groupWidth:d.getNumberOfRows()>100?"100%":null},height:350})})})},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.model.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){a("body").removeClass("modal-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b=new Image;b.src=a.find(".screenshot img").attr("src")}}),c.view.Preview=c.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:c.template("theme-preview"),render:function(){var b=this.model.toJSON();this.$el.html(this.html(b)),c.router.navigate(c.router.baseUrl(c.router.themePath+this.model.get("id"))),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),c.focusedTheme&&c.focusedTheme.focus()}),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),c.router.navigate(c.router.baseUrl(c.router.themePath+this.model.get("id"))),!1},collapse:function(){return this.$el.toggleClass("collapsed"),c.data.settings.isMobile?this.$el.removeClass("expanded"):this.$el.toggleClass("expanded"),!1},keyEvent:function(){return 27===event.keyCode&&(this.undelegateEvents(),this.close()),39===event.keyCode&&_.once(this.nextTheme()),37===event.keyCode&&this.previousTheme(),!1}}),c.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".wp-filter .theme-count"),initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),this.listenTo(c.collection,"themes:update",function(){c.parent.page=0,c.render(this)}),this.listenTo(c.collection,"query:success",function(a){_.isNumber(a)?c.count.text(a.toLocaleString()):c.count.text(c.collection.length.toLocaleString())}),this.listenTo(c.collection,"query:empty",function(){a("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),this.listenTo(this.parent,"theme:close",function(){c.overlay&&c.overlay.closeOverlay()}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.empty(),1===c.data.themes.length&&(this.singleTheme=new c.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.count.text(this.collection.count?this.collection.count:this.collection.length)},renderThemes:function(b){var d=this;return d.instance=d.collection.paginate(b),0===d.instance.size()?void this.parent.trigger("theme:end"):(b>=1&&a(".add-new-theme").remove(),d.instance.each(function(a){d.theme=new c.view.Theme({model:a,parent:d}),d.theme.render(),d.$el.append(d.theme.el),d.listenTo(d.theme,"theme:expand",d.expand,d)}),void this.parent.page++)},setView:function(a){return a},expand:function(b){var d=this;this.model=d.collection.get(b),_.isUndefined(this.model)||(c.router.navigate(c.router.baseUrl(c.router.themePath+this.model.id)),c.utils.title(this.model.attributes.name),this.setView("detail"),a("body").addClass("modal-open"),this.overlay=new c.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid]),a(".theme-header").find(".right").focus()}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid]),a(".theme-header").find(".left").focus()}))},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&d.theme.trigger("theme:expand",c.cid)},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&d.theme.trigger("theme:expand",c.cid)}}),c.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:b.searchPlaceholder,type:"search"},events:{keyup:"search",search:"search"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(a.target.value))},doSearch:_.debounce(function(b){var d={};c.view.Installer.prototype.clearFilters(jQuery.Event("click")),d.search=b,"author:"===b.substring(0,7)&&(d.search="",d.author=b.slice(7)),"tag:"===b.substring(0,4)&&(d.search="",d.tag=[b.slice(4)]),a(".filter-links li > a.current").removeClass("current"),a("body").removeClass("show-filters filters-applied"),b?(c.utils.title(b),c.router.navigate(c.router.baseUrl(c.router.searchPath+b),{replace:!0})):(delete d.search,d.browse="featured",c.utils.title(a('.filter-links [data-sort="featured"]').text()),c.router.navigate(c.router.baseUrl(c.router.browsePath+"featured"),{replace:!0})),this.collection.query(d)},300)}),c.view.Installer=c.view.Appearance.extend({el:"#themes",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},activeClass:"current",searchContainer:a(".wp-filter .search-form"),initialize:function(){c.view.Appearance.prototype.initialize.apply(this,arguments),this.sortValues=a(".filter-links li > a").map(function(){return a(this).data("sort")}).get()},render:function(){var d=this;this.search(),this.collection=new c.Collection,this.listenTo(this,"theme:end",function(){d.collection.loadingThemes||a("body").hasClass("modal-open")||d.collection.length<c.data.settings.postsPerPage||(d.collection.loadingThemes=!0,d.collection.currentQuery.page++,_.extend(d.collection.currentQuery.request,{page:d.collection.currentQuery.page}),d.collection.query(d.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove(),a(".theme-browser").find("div.themes").before('<div class="error"><p>'+b.error+"</p></div>")}),this.view&&this.view.remove(),this.view=new c.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(a){"favorites"==a?this.collection.query({browse:a,user:c.data.settings.favorites.user}):this.collection.query({browse:a})},onSort:function(b){var d=a(b.target),e=d.data("sort");b.preventDefault(),a("body").removeClass("filters-applied show-filters"),d.hasClass(this.activeClass)||(this.sort(e),c.router.navigate(c.router.baseUrl(c.router.browsePath+e)))},sort:function(b){var d,e=this;-1===_.indexOf(this.sortValues,b)&&(b="featured"),d=a('.filter-links [data-sort="'+b+'"]'),e.clearSearch(),_.each(a(".filter-group").find(":checkbox").filter(":checked"),function(b){return a(b).prop("checked",!1),e.filtersChecked()}),a(".filter-links li > a, .theme-filter").removeClass(this.activeClass),d.addClass(this.activeClass),c.utils.title(d.text()),this.browse(b)},onFilter:function(b){var c,d=a(b.target),e=d.data("filter");d.hasClass(this.activeClass)||(a(".filter-links li > a, .theme-section").removeClass(this.activeClass),d.addClass(this.activeClass),e&&(e=_.union([e,this.filtersChecked()]),c={tag:[e]},this.collection.query(c)))},addFilter:function(){this.filtersChecked()},applyFilters:function(b){var d,e=[],f=this.filtersChecked(),g={tag:f},h=a(".filtered-by .tags");b&&b.preventDefault(),f&&(a("body").addClass("filters-applied"),a(".filter-links li > a.current").removeClass("current"),h.empty(),_.each(f,function(b){d=a('label[for="filter-id-'+b+'"]').text(),e.push(d),h.append('<span class="tag">'+d+"</span>")}),c.router.navigate(c.router.baseUrl("tags/"+f.join("+"))),c.utils.title(e.join(", ")),this.collection.query(g))},filtersChecked:function(){var b=a(".filter-group").find(":checkbox").filter(":checked"),c=a(".filter-drawer"),d=[];return _.each(b,function(b){d.push(a(b).prop("value"))}),0===d.length?(c.find(".apply-filters").prop("disabled",!0).find("span").text(""),c.find(".clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(c.find(".apply-filters").prop("disabled",!1).find("span").text(d.length),c.find(".clear-filters").css("display","inline-block"),d)},moreFilters:function(b){return b.preventDefault(),a("body").hasClass("filters-applied")?this.backToFilters():a("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),void a("body").toggleClass("show-filters"))},clearFilters:function(b){var c=a(".filter-group").find(":checkbox"),d=this;b.preventDefault(),_.each(c.filter(":checked"),function(b){return a(b).prop("checked",!1),d.filtersChecked()})},backToFilters:function(b){b&&b.preventDefault(),a("body").removeClass("filters-applied")},clearSearch:function(){a("#wp-filter-search-input").val("")}}),c.Router=Backbone.Router.extend({routes:{"browse/:sort(/)":"sort","tags/:tag(/)":"tag","search/:query(/)":"search","author/:author(/)":"author",":slug(/)":"preview","":"sort"},baseUrl:function(a){return 0!==a.length&&(a+="/"),a},themePath:"",browsePath:"browse/",searchPath:"search/",search:function(b){a(".wp-filter-search").val(b)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),c.Run={init:function(){this.view=new c.view.Installer({section:"featured",SearchView:c.view.Search}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:c.data.settings.path,pushState:!0,hashChange:!1})},routes:function(){var b=this,d={};c.router=new c.Router,c.router.on("route:preview",function(a){b.view.collection.queries.push(c.data.query),d.theme=a,b.view.collection.query(d),b.view.view.expand(a)}),c.router.on("route:sort",function(a){b.view.collection.queries.push(c.data.query),a||(a="featured"),b.view.sort(a),b.view.trigger("theme:close")}),c.router.on("route:search",function(){b.view.collection.queries.push(c.data.query),a(".wp-filter-search").focus().trigger("keyup"),b.view.trigger("theme:close")}),c.router.on("route:tag",function(d){b.view.collection.queries.push(c.data.query),_.each(d.split("+"),function(b){b=b.toLowerCase().replace(/[^a-z-]/g,""),a("#filter-id-"+b).prop("checked",!0)}),a("body").removeClass("show-filters").addClass("show-filters"),b.view.applyFilters(),b.view.trigger("theme:close")}),c.router.on("route:author",function(a){b.view.collection.queries.push(c.data.query),d.author=a,b.view.collection.query(d),c.utils.title(a),b.view.trigger("theme:close")})}},a(function(){c.Run.init()})}(jQuery),function(a){a.charts.load("current",{packages:["corechart"]})}(google);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b,c=wp.themes=wp.themes||{};c.data=_wpThemeSettings,b=c.data.l10n,_.extend(c,{model:{},view:{},routes:{},router:{},template:wp.template}),c.utils={title:function(b){document.title=a("<div/>").html(c.data.settings.title.replace("%s",a("<div/>").text(b).html())).text()}},c.Model=Backbone.Model.extend({initialize:function(){var a;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(a=this.get("sections").description,this.set({description:a}))}}),c.view.Appearance=wp.Backbone.View.extend({el:"#themes .theme-browser",window:a(window),page:0,initialize:function(a){_.bindAll(this,"scroller"),this.SearchView=a.SearchView?a.SearchView:c.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new c.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.find(".themes").remove(),this.$el.append(this.view.el).addClass("rendered")},searchContainer:"",search:function(){var c,d=this;c=new this.SearchView({collection:d.collection,parent:this}),c.render(),this.searchContainer.append(a.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+b.search+"</label>")).append(c.el)},scroller:function(){var a,b,c=this;a=this.window.scrollTop()+c.window.height(),b=c.$el.offset().top+c.$el.outerHeight(!1)-c.window.height(),b=Math.round(.9*b),a>b&&this.trigger("theme:scroll")}}),c.Collection=Backbone.Collection.extend({model:c.Model,terms:"",queries:[],currentQuery:{page:1,request:{}},count:!1,loadingThemes:!1,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(c.data.themes),this.trigger("themes:update"))},search:function(b){var d,e,f,g,h,i;this.reset(c.data.themes,{silent:!0}),b=b.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),b=b.replace(/ /g,")(?=.*"),d=new RegExp("^(?=.*"+b+").+","i"),e=this.filter(function(a){return g=a.get("name").replace(/(<([^>]+)>)/gi,""),h=a.get("description").replace(/(<([^>]+)>)/gi,""),i=a.get("author").replace(/(<([^>]+)>)/gi,""),f=_.union([g,a.get("id"),h,i,a.get("tags")]),d.test(a.get("author"))&&b.length>2&&a.set("displayAuthor",!0),d.test(f)}),0===e.length?this.trigger("query:empty"):a("body").removeClass("no-results"),this.reset(e)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(c.data.settings.postsPerPage*a)),b=_(b.first(c.data.settings.postsPerPage))},query:function(b){var c,d,e,f=this.queries,g=this;if(this.currentQuery.request=b,c=_.find(f,function(a){return _.isEqual(a.request,b)}),d=_.has(b,"page"),d||(this.currentQuery.page=1),c||d){if(d)return this.apiCall(b,d).done(function(a){g.add(a.themes),g.trigger("query:success",a.info.results),g.loadingThemes=!1}).fail(function(){g.trigger("query:fail")});0===c.themes.length?g.trigger("query:empty"):a("body").removeClass("no-results"),_.isNumber(c.total)&&(this.count=c.total),this.reset(c.themes),c.total||(this.count=this.length),this.trigger("themes:update"),this.trigger("query:success",this.count)}else c=this.apiCall(b).done(function(a){a.themes&&(g.reset(a.themes),e=a.info.results,f.push({themes:a.themes,request:b,total:e})),g.trigger("themes:update"),g.trigger("query:success",e),a.themes&&0===a.themes.length&&g.trigger("query:empty")}).fail(function(){g.trigger("query:fail")})},apiCall:function(b,d){var e={type:"POST",url:"https://api.wordpress.org/themes/info/1.1/",jsonp:"callback",dataType:"jsonp",data:{action:"query_themes",request:_.extend({per_page:c.data.settings.postsPerPage,locale:c.data.settings.locale,fields:{description:!0,sections:!1,tested:!0,requires:!0,downloaded:!1,downloadlink:!0,last_updated:!0,homepage:!0,theme_url:!0,parent:!0,tags:!0,rating:!0,ratings:!0,num_ratings:!0,extended_author:!0,photon_screenshots:!0,active_installs:!0}},b)},beforeSend:function(){d||a("body").addClass("loading-content").removeClass("no-results")}};return a.Deferred(function(b){a.ajax(e).done(function(a){b.resolveWith(this,[a])}).fail(function(){b.rejectWith(this,arguments)})}).promise()}}),c.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:wp.themes.template("theme"),events:{click:"expand",keydown:"expand",touchend:"expand",keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var a=this.model.toJSON();a.permalink=c.data.settings.path+c.router.baseUrl(a.slug),a.path=c.data.settings.path,this.$el.html(this.html(a)).attr({tabindex:0,"aria-describedby":a.id+"-action "+a.id+"-name"})},addFocus:function(){var b=a(":focus").hasClass("theme")?a(":focus"):a(":focus").parents(".theme");a(".theme.focus").removeClass("focus"),b.addClass("focus")},expand:function(b){var d=this;if(b=b||window.event,!(!0===b.metaKey|b.ctrlKey&&"click"===b.type||"keydown"===b.type&&13!==b.which&&32!==b.which))return this.touchDrag===!0?this.touchDrag=!1:void(a(b.target).is(".theme-actions a")||(c.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid),b.preventDefault()))},preventExpand:function(){this.touchDrag=!0}}),c.view.Details=wp.Backbone.View.extend({className:"theme-overlay",events:{click:"collapse","click .left":"previousTheme","click .right":"nextTheme","click .theme-actions .button-secondary":"preview","keydown .theme-actions .button-secondary":"preview","touchend .theme-actions .button-secondary":"preview","click .favorite":"favourite_toggle"},html:c.template("theme-single"),render:function(){var a=this.model.toJSON(),d=new Date;d.setUTCFullYear(a.last_updated.substring(0,4),a.last_updated.substring(5,7)-1,a.last_updated.substring(8,10)),a.last_updated=d.toLocaleDateString(b.locale,{day:"numeric",month:"long",year:"numeric"}),a.is_outdated=d.setYear(d.getYear()+1902).valueOf()<(new Date).valueOf(),a.tags=_.map(a.tags,function(a,d){return translated_tag=b.tags[d]||a,'<a href="'+c.data.settings.path+c.router.baseUrl("tags/"+d)+'">'+translated_tag+"</a>"}).join(", "),a.path=c.data.settings.path,a.active_installs<10?a.active_installs=b.active_installs_less_than_10:a.active_installs>=1e6?a.active_installs=b.active_installs_1_million:a.active_installs=a.active_installs.toLocaleString()+"+",a.show_favorites=!!c.data.settings.favorites.user,a.is_favorited=c.data.settings.favorites.themes.indexOf(a.slug)!=-1,a.current_user=c.data.settings.favorites.user,this.$el.html(this.html(a)),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el),this.renderDownloadsGraph()},favourite_toggle:function(b){var d,e=this.$el.find(".favorite"),f=!e.hasClass("favorited"),g=this.model.get("slug");e.toggleClass("favorited"),f?c.data.settings.favorites.themes.push(g):(d=c.data.settings.favorites.themes.indexOf(g),d>-1&&delete c.data.settings.favorites.themes[d]);var h={type:"GET",url:"https://api.wordpress.org/themes/theme-directory/1.0/",jsonp:"callback",dataType:"jsonp",data:{action:f?"add-favorite":"remove-favorite",theme:this.model.get("slug"),_wpnonce:c.data.settings.favorites.nonce}};a.ajax(h).done(function(a){"undefined"!=typeof a.error&&"not_logged_in"==a.error&&(c.data.settings.favorites.themes=[],c.data.settings.favorites.user="")})},preview:function(b){var d,e,f=this;return this.touchDrag===!0?this.touchDrag=!1:void(a(b.target).hasClass("button-primary")||"keydown"===b.type&&13!==b.which&&32!==b.which||"keydown"===b.type&&13!==b.which&&a(":focus").hasClass("button")||(b=b||window.event,b.preventDefault(),c.focusedTheme=this.$el,e=new c.view.Preview({model:this.model}),e.render(),this.setNavButtonsState(),c.data.settings.isMobile?e.$el.addClass("wp-full-overlay collapsed"):e.$el.addClass("wp-full-overlay expanded"),a(".theme-install-overlay").append(e.el),this.listenTo(e,"theme:next",function(){return this.trigger("theme:next"),d=f.model,_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)+1),_.isUndefined(f.current)?(f.options.parent.parent.trigger("theme:end"),f.current=d):(e.model=f.current,e.render(),this.setNavButtonsState(),void a(".next-theme").focus())}).listenTo(e,"theme:previous",function(){this.trigger("theme:previous"),d=f.model,0!==f.model.collection.indexOf(f.current)&&(_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)-1),_.isUndefined(f.current)||(e.model=f.current,e.render(),this.setNavButtonsState(),a(".previous-theme").focus()))}),this.listenTo(e,"preview:close",function(){f.current=f.model})))},setNavButtonsState:function(){var b=a(".theme-install-overlay"),c=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(c)&&b.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(c)+1))&&b.find(".next-theme").addClass("disabled")},containFocus:function(b){var c,d=window.event;"undefined"!=typeof d&&1!==a(d.target).closest(".theme").length||_.delay(function(){a(".theme-wrap a.button-primary:visible").focus()},500),b.on("keydown.wp-themes",function(d){9===d.which&&(c=a(d.target),c.is("button.close")&&d.shiftKey?(b.find(".theme-tags a:last-child").focus(),d.preventDefault()):c.is(".theme-tags a:last-child")&&(b.find("button.close").focus(),d.preventDefault()))})},collapse:function(b){var d,e,f,g,h,i=this,j={};1!==c.data.themes.length&&(b=b||window.event,(a(b.target).is(".close")||27===b.keyCode)&&(a("body").addClass("closing-overlay"),this.$el.fadeOut(1,function(){a("body").removeClass("closing-overlay"),i.closeOverlay(),d=document.body.scrollTop,(e=c.Collection.prototype.currentQuery.request.author)?(c.router.navigate(c.router.baseUrl("author/"+e)),c.utils.title(e)):(f=c.Collection.prototype.currentQuery.request.search)?(c.router.navigate(c.router.baseUrl(c.router.searchPath+f)),c.utils.title(f)):(g=c.view.Installer.prototype.filtersChecked())?(c.router.navigate(c.router.baseUrl("tags/"+g.join("+"))),c.utils.title(_.each(g,function(b,c){g[c]=a('label[for="filter-id-'+b+'"]').text()}).join(", "))):(h=a(".filter-links .current"))&&(h.length||(h=a('.filter-links [data-sort="featured"]'),j={trigger:!0}),c.router.navigate(c.router.baseUrl(c.router.browsePath+h.data("sort")),j),c.utils.title(h.text())),document.body.scrollTop=d,c.focusedTheme&&c.focusedTheme.focus()})))},renderDownloadsGraph:function(){var b=this;a.getJSON("https://api.wordpress.org/stats/themes/1.0/downloads.php?slug="+b.model.get("id")+"&limit=260&callback=?",function(c){google.charts.setOnLoadCallback(function(){var d=new google.visualization.DataTable,e=0;d.addColumn("string",_wpThemeSettings.l10n.date),d.addColumn("number",_wpThemeSettings.l10n.downloads),a.each(c,function(a,b){d.addRow(),d.setValue(e,0,new Date(a).toLocaleDateString()),d.setValue(e,1,Number(b)),e++}),new google.visualization.ColumnChart(document.getElementById("theme-download-stats-"+b.model.get("id"))).draw(d,{colors:["#253578"],legend:{position:"none"},titlePosition:"in",axisTitlesPosition:"in",chartArea:{height:280,left:35,width:"98%"},hAxis:{textStyle:{color:"black",fontSize:9}},vAxis:{format:"###,###",textPosition:"out",viewWindowMode:"explicit",viewWindow:{min:0}},bar:{groupWidth:d.getNumberOfRows()>100?"100%":null},height:350})})})},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.model.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){a("body").removeClass("modal-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b=new Image;b.src=a.find(".screenshot img").attr("src")}}),c.view.Preview=c.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:c.template("theme-preview"),render:function(){var b=this.model.toJSON();this.$el.html(this.html(b)),c.router.navigate(c.router.baseUrl(c.router.themePath+this.model.get("id"))),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),c.focusedTheme&&c.focusedTheme.focus()}),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),c.router.navigate(c.router.baseUrl(c.router.themePath+this.model.get("id"))),!1},collapse:function(){return this.$el.toggleClass("collapsed"),c.data.settings.isMobile?this.$el.removeClass("expanded"):this.$el.toggleClass("expanded"),!1},keyEvent:function(){return 27===event.keyCode&&(this.undelegateEvents(),this.close()),39===event.keyCode&&_.once(this.nextTheme()),37===event.keyCode&&this.previousTheme(),!1}}),c.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".wp-filter .theme-count"),initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),this.listenTo(c.collection,"themes:update",function(){c.parent.page=0,c.render(this)}),this.listenTo(c.collection,"query:success",function(a){_.isNumber(a)?c.count.text(a.toLocaleString()):c.count.text(c.collection.length.toLocaleString())}),this.listenTo(c.collection,"query:empty",function(){a("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),this.listenTo(this.parent,"theme:close",function(){c.overlay&&c.overlay.closeOverlay()}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.empty(),1===c.data.themes.length&&(this.singleTheme=new c.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.count.text(this.collection.count?this.collection.count:this.collection.length)},renderThemes:function(b){var d=this;return d.instance=d.collection.paginate(b),0===d.instance.size()?void this.parent.trigger("theme:end"):(b>=1&&a(".add-new-theme").remove(),d.instance.each(function(a){d.theme=new c.view.Theme({model:a,parent:d}),d.theme.render(),d.$el.append(d.theme.el),d.listenTo(d.theme,"theme:expand",d.expand,d)}),void this.parent.page++)},setView:function(a){return a},expand:function(b){var d=this;this.model=d.collection.get(b),_.isUndefined(this.model)||(c.router.navigate(c.router.baseUrl(c.router.themePath+this.model.id)),c.utils.title(this.model.attributes.name),this.setView("detail"),a("body").addClass("modal-open"),this.overlay=new c.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid]),a(".theme-header").find(".right").focus()}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid]),a(".theme-header").find(".left").focus()}))},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&d.theme.trigger("theme:expand",c.cid)},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&d.theme.trigger("theme:expand",c.cid)}}),c.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:b.searchPlaceholder,type:"search"},events:{keyup:"search",search:"search"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(a.target.value))},doSearch:_.debounce(function(b){var d={};c.view.Installer.prototype.clearFilters(jQuery.Event("click")),d.search=b,"author:"===b.substring(0,7)&&(d.search="",d.author=b.slice(7)),"tag:"===b.substring(0,4)&&(d.search="",d.tag=[b.slice(4)]),a(".filter-links li > a.current").removeClass("current"),a("body").removeClass("show-filters filters-applied"),b?(c.utils.title(b),c.router.navigate(c.router.baseUrl(c.router.searchPath+b),{replace:!0})):(delete d.search,d.browse="featured",c.utils.title(a('.filter-links [data-sort="featured"]').text()),c.router.navigate(c.router.baseUrl(c.router.browsePath+"featured"),{replace:!0})),this.collection.query(d)},300)}),c.view.Installer=c.view.Appearance.extend({el:"#themes",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},activeClass:"current",searchContainer:a(".wp-filter .search-form"),initialize:function(){c.view.Appearance.prototype.initialize.apply(this,arguments),this.sortValues=a(".filter-links li > a").map(function(){return a(this).data("sort")}).get()},render:function(){var d=this;this.search(),this.collection=new c.Collection,this.listenTo(this,"theme:end",function(){d.collection.loadingThemes||a("body").hasClass("modal-open")||d.collection.length<c.data.settings.postsPerPage||(d.collection.loadingThemes=!0,d.collection.currentQuery.page++,_.extend(d.collection.currentQuery.request,{page:d.collection.currentQuery.page}),d.collection.query(d.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove(),a(".theme-browser").find("div.themes").before('<div class="error"><p>'+b.error+"</p></div>")}),this.view&&this.view.remove(),this.view=new c.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(a){"favorites"==a?this.collection.query({browse:a,user:c.data.settings.favorites.user}):this.collection.query({browse:a})},onSort:function(b){var d=a(b.target),e=d.data("sort");b.preventDefault(),a("body").removeClass("filters-applied show-filters"),d.hasClass(this.activeClass)||(this.sort(e),c.router.navigate(c.router.baseUrl(c.router.browsePath+e)))},sort:function(b){var d,e=this;-1===_.indexOf(this.sortValues,b)&&(b="featured"),d=a('.filter-links [data-sort="'+b+'"]'),e.clearSearch(),_.each(a(".filter-group").find(":checkbox").filter(":checked"),function(b){return a(b).prop("checked",!1),e.filtersChecked()}),a(".filter-links li > a, .theme-filter").removeClass(this.activeClass),d.addClass(this.activeClass),c.utils.title(d.text()),this.browse(b)},onFilter:function(b){var c,d=a(b.target),e=d.data("filter");d.hasClass(this.activeClass)||(a(".filter-links li > a, .theme-section").removeClass(this.activeClass),d.addClass(this.activeClass),e&&(e=_.union([e,this.filtersChecked()]),c={tag:[e]},this.collection.query(c)))},addFilter:function(){this.filtersChecked()},applyFilters:function(b){var d,e=[],f=this.filtersChecked(),g={tag:f},h=a(".filtered-by .tags");b&&b.preventDefault(),f&&(a("body").addClass("filters-applied"),a(".filter-links li > a.current").removeClass("current"),h.empty(),_.each(f,function(b){d=a('label[for="filter-id-'+b+'"]').text(),e.push(d),h.append('<span class="tag">'+d+"</span>")}),c.router.navigate(c.router.baseUrl("tags/"+f.join("+"))),c.utils.title(e.join(", ")),this.collection.query(g))},filtersChecked:function(){var b=a(".filter-group").find(":checkbox").filter(":checked"),c=a(".filter-drawer"),d=[];return _.each(b,function(b){d.push(a(b).prop("value"))}),0===d.length?(c.find(".apply-filters").prop("disabled",!0).find("span").text(""),c.find(".clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(c.find(".apply-filters").prop("disabled",!1).find("span").text(d.length),c.find(".clear-filters").css("display","inline-block"),d)},moreFilters:function(b){return b.preventDefault(),a("body").hasClass("filters-applied")?this.backToFilters():a("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),void a("body").toggleClass("show-filters"))},clearFilters:function(b){var c=a(".filter-group").find(":checkbox"),d=this;b.preventDefault(),_.each(c.filter(":checked"),function(b){return a(b).prop("checked",!1),d.filtersChecked()})},backToFilters:function(b){b&&b.preventDefault(),a("body").removeClass("filters-applied")},clearSearch:function(){a("#wp-filter-search-input").val("")}}),c.Router=Backbone.Router.extend({routes:{"browse/:sort(/page/:page)(/)":"sort","tags/:tag(/page/:page)(/)":"tag","search/:query(/page/:page)(/)":"search","author/:author(/page/:page)(/)":"author",":slug(/)":"preview","":"sort"},baseUrl:function(a){return 0!==a.length&&(a+="/"),a},themePath:"",browsePath:"browse/",searchPath:"search/",search:function(b){a(".wp-filter-search").val(b)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),c.Run={init:function(){this.view=new c.view.Installer({section:"featured",SearchView:c.view.Search}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:c.data.settings.path,pushState:!0,hashChange:!1})},routes:function(){var b=this,d={};c.router=new c.Router,c.router.on("route:preview",function(a){b.view.collection.queries.push(c.data.query),d.theme=a,b.view.collection.query(d),b.view.view.expand(a)}),c.router.on("route:sort",function(a,d){d&&c.router.navigate("browse/"+a+"/",{replace:!0}),b.view.collection.queries.push(c.data.query),a||(a="featured"),b.view.sort(a),b.view.trigger("theme:close")}),c.router.on("route:search",function(d,e){e&&c.router.navigate("search/"+d+"/",{replace:!0}),b.view.collection.queries.push(c.data.query),a(".wp-filter-search").focus().trigger("keyup"),b.view.trigger("theme:close")}),c.router.on("route:tag",function(d,e){e&&c.router.navigate("tags/"+d+"/",{replace:!0}),b.view.collection.queries.push(c.data.query),_.each(d.split("+"),function(b){b=b.toLowerCase().replace(/[^a-z-]/g,""),a("#filter-id-"+b).prop("checked",!0)}),a("body").removeClass("show-filters").addClass("show-filters"),b.view.applyFilters(),b.view.trigger("theme:close")}),c.router.on("route:author",function(a,e){e&&c.router.navigate("author/"+a+"/",{replace:!0}),b.view.collection.queries.push(c.data.query),d.author=a,b.view.collection.query(d),c.utils.title(a),b.view.trigger("theme:close")})}},a(function(){c.Run.init()})}(jQuery),function(a){a.charts.load("current",{packages:["corechart"]})}(google);
\ No newline at end of file
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/package.json wordpress.org/public_html/wp-content/themes/pub/wporg-themes/package.json
index 4d58edf05..fa44b14f5 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/package.json
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/package.json
@@ -14,15 +14,16 @@
   "devDependencies": {
     "autoprefixer": "^6.3.6",
     "cssnano": "^3.7.4",
-    "grunt": "^1.0.1",
+    "es6-promise": "~4.0.5",
+    "grunt": "^1.0.3",
     "grunt-contrib-jshint": "^1.0.0",
     "grunt-contrib-uglify": "~2.0.0",
-    "grunt-contrib-watch": "^1.0.0",
+    "grunt-contrib-watch": "^1.1.0",
     "grunt-postcss": "^0.8.0",
     "grunt-rtlcss": "^2.0.1",
-    "grunt-sass": "^1.2.0",
+    "grunt-sass": "~3.0.1",
     "grunt-sass-globbing": "^1.5.1",
-    "pixrem": "^3.0.2",
-    "es6-promise": "~4.0.5"
+    "node-sass": "^4.9.3",
+    "pixrem": "^3.0.2"
   }
 }
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/page-upload.php wordpress.org/public_html/wp-content/themes/pub/wporg-themes/page-upload.php
index 38a50670b..8e5157b5a 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/page-upload.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/page-upload.php
@@ -7,6 +7,13 @@
 
 send_frame_options_header();
 
+// Search engines don't need to index the upload form. Should help prevent users uploading themes they didn't create.
+if ( ! function_exists( 'wporg_meta_robots' ) ) {
+   	function wporg_meta_robots() {
+		return 'noindex';
+	}
+}
+
 get_header();
 
 if ( have_posts() ) :
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg-themes/rss.php wordpress.org/public_html/wp-content/themes/pub/wporg-themes/rss.php
index 6feeda469..8788e65e3 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg-themes/rss.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg-themes/rss.php
@@ -1,5 +1,6 @@
 <?php
 header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
+do_action( 'themes_custom_feed_head' );
 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
 ?>
 <rss version="2.0"
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg/Gruntfile.js wordpress.org/public_html/wp-content/themes/pub/wporg/Gruntfile.js
index d9047a157..eed320133 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg/Gruntfile.js
+++ wordpress.org/public_html/wp-content/themes/pub/wporg/Gruntfile.js
@@ -29,6 +29,9 @@ module.exports = function( grunt ) {
 						cascade: false
 					} ),
 					require( 'pixrem' ),
+					require('cssnano')({
+						mergeRules: false
+					})
 				]
 			},
 			dist: {
@@ -54,6 +57,7 @@ module.exports = function( grunt ) {
 		},
 		sass: {
 			options: {
+				implementation: require( 'node-sass' ),
 				sourceMap: true,
 				// Don't add source map URL in built version.
 				omitSourceMapUrl: 'build' === process.argv[2],
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg/css/components/_wporg-footer.scss wordpress.org/public_html/wp-content/themes/pub/wporg/css/components/_wporg-footer.scss
index f95be88a5..b06097cce 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg/css/components/_wporg-footer.scss
+++ wordpress.org/public_html/wp-content/themes/pub/wporg/css/components/_wporg-footer.scss
@@ -35,6 +35,7 @@
 
 			a {
 				text-decoration: none;
+				text-decoration-skip-ink: none;
 
 				&:hover {
 					color: $color__wp-blue;
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg/footer-wporg.php wordpress.org/public_html/wp-content/themes/pub/wporg/footer-wporg.php
new file mode 100644
index 000000000..5c5c46b33
--- /dev/null
+++ wordpress.org/public_html/wp-content/themes/pub/wporg/footer-wporg.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * The template for displaying the footer.
+ *
+ * Displays all of the wp.org footer.
+ *
+ * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
+ *
+ * @package WordPressdotorg\Theme
+ */
+
+namespace WordPressdotorg\Theme;
+
+require WPORGPATH . 'footer.php';
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg/functions.php wordpress.org/public_html/wp-content/themes/pub/wporg/functions.php
index febff10c3..a6061992f 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg/functions.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg/functions.php
@@ -255,6 +255,12 @@ function hreflang_link_attributes() {
 				continue;
 			}
 
+			// Skip non-existing subdomains, e.g. 'de_CH_informal'.
+			if ( false !== strpos( $site->subdomain, '_' ) ) {
+				unset( $sites[ $site->locale ] );
+				continue;
+			}
+
 			if ( isset( $gp_locale->slug ) && ! in_array( $gp_locale->slug, $unsupported_languages ) ) {
 				$sites[ $site->locale ]->hreflang = $gp_locale->slug;
 			} else {
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg/header.php wordpress.org/public_html/wp-content/themes/pub/wporg/header.php
index 6ac48210d..38ec122fb 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg/header.php
+++ wordpress.org/public_html/wp-content/themes/pub/wporg/header.php
@@ -11,9 +11,12 @@
 
 namespace WordPressdotorg\Theme;
 
+global $wporg_global_header_options;
+if ( !isset( $wporg_global_header_options['in_wrapper'] ) )
+	$wporg_global_header_options['in_wrapper'] = '';
+$wporg_global_header_options['in_wrapper'] .= '<a class="skip-link screen-reader-text" href="#content">' . esc_html__( 'Skip to content', 'wporg' ) . '</a>';
+
 get_template_part( 'header', 'wporg' );
 ?>
 <div id="page" class="site">
-	<a class="skip-link screen-reader-text" href="#main"><?php esc_html_e( 'Skip to content', 'wporg' ); ?></a>
-
 	<div id="content" class="site-content row gutters">
diff --git wordpress.org/public_html/wp-content/themes/pub/wporg/package.json wordpress.org/public_html/wp-content/themes/pub/wporg/package.json
index 4d702f889..461e3e905 100644
--- wordpress.org/public_html/wp-content/themes/pub/wporg/package.json
+++ wordpress.org/public_html/wp-content/themes/pub/wporg/package.json
@@ -14,14 +14,15 @@
   "devDependencies": {
     "autoprefixer": "^6.3.6",
     "cssnano": "^3.7.4",
-    "grunt": "^1.0.1",
+    "es6-promise": "~4.0.5",
+    "grunt": "^1.0.3",
     "grunt-contrib-jshint": "^1.0.0",
-    "grunt-contrib-watch": "^1.0.0",
+    "grunt-contrib-watch": "^1.1.0",
     "grunt-postcss": "^0.8.0",
     "grunt-rtlcss": "^2.0.1",
-    "grunt-sass": "^1.2.0",
+    "grunt-sass": "~3.0.1",
     "grunt-sass-globbing": "^1.5.1",
-    "pixrem": "^3.0.2",
-    "es6-promise": "~4.0.5"
+    "node-sass": "^4.9.3",
+    "pixrem": "^3.0.2"
   }
 }
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/404.php wordpress.tv/public_html/wp-content/themes/wptv2/404.php
index 579d599d4..853741b9b 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/404.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/404.php
@@ -19,7 +19,7 @@ global $wp_query, $post, $wptv;
 		<div class="primary-content">
 			<div class="baron-von-pick">
 				<img src="<?php echo get_stylesheet_directory_uri(); ?>/i/michael-pick-stashes-a-guinness.gif" alt="" /><br />
-				<?php printf( __( 'Photo animation credit: %s.', 'wptv' ), '<a href="http://markjaquith.com/">Mark Jaquith</a>' ); ?>
+				<?php printf( __( 'Photo animation credit: %s.', 'wptv' ), '<a href="https://markjaquith.com/">Mark Jaquith</a>' ); ?>
 			</div>
 			<div class="message-404">
 				<h2><?php esc_html_e( 'Uh oh, someone made a mistake!', 'wptv' ); ?></h2>
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/anon-upload-template.php wordpress.tv/public_html/wp-content/themes/wptv2/anon-upload-template.php
index 03fbcc6b7..5ef5fd848 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/anon-upload-template.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/anon-upload-template.php
@@ -237,8 +237,8 @@ if ( !empty($_REQUEST['error']) ) {
 				<h3>Guidelines</h3>
 				<p>WordCamp videos: the audio is clear and easy to understand, the camera was on a tripod, the video shows the speaker and slides, divide the video by presentation if possible.</p>
 				<p>Screencasts: keep it concise, keep it clear, keep on track (no chock-full of personal promotion please), keep it current.</p>
-				<p>Vodcasts and other video-based content: if you have put together a video podcast or other WordPress focused, relevant video - let us <a href="http://wordpress.tv/contact/">know about it</a>.
-				<p>If this is the first time you're submitting a video, please check all <a href="http://blog.wordpress.tv/submission-guidelines/">Submission Guidelines</a>.</p>
+				<p>Vodcasts and other video-based content: if you have put together a video podcast or other WordPress focused, relevant video - let us <a href="https://wordpress.tv/contact/">know about it</a>.
+				<p>If this is the first time you're submitting a video, please check all <a href="https://blog.wordpress.tv/submission-guidelines/">Submission Guidelines</a>.</p>
 				<h3>Accepted formats</h3>
 				<p>Maximum upload file size: 1GB. You can upload the following video formats:</p>
 				<ul class="accepted-formats">
@@ -267,59 +267,63 @@ if ( !empty($_REQUEST['error']) ) {
 						<input type="text" id="wptv_honey" name="wptv_honey" value="" />
 					</p>
 					<p>
-						<input type="checkbox" id="wptv_video_wordcamp" name="wptv_video_wordcamp" />
+						<input type="checkbox" id="wptv_video_wordcamp" name="wptv_video_wordcamp" <?php if ( !empty( $_GET['wptv_video_wordcamp'] ) ) { echo 'checked="checked"'; } ?> />
 						<label for="wptv_video_wordcamp" class="wptv-video-wordcamp-cb"><?php esc_html_e( 'This is a WordCamp video' ); ?></label>
 					</p>
 
 					<?php if ( ! is_user_logged_in() ) : ?>
 						<p>
 							<label for="wptv_uploaded_by"><?php esc_html_e( 'Uploaded by' ); ?><span class="required"> * </span></label>
-							<input type="text" id="wptv_uploaded_by" name="wptv_uploaded_by" value="" />
+							<input type="text" id="wptv_uploaded_by" name="wptv_uploaded_by" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_uploaded_by'] ?? '' ) ); ?>" />
 						</p>
 						<p>
 							<label for="wptv_email"><?php esc_html_e( 'Email address' ); ?><span class="required"> * </span></label>
-							<input type="text" id="wptv_email" name="wptv_email" value="" />
+							<input type="text" id="wptv_email" name="wptv_email" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_email'] ?? '' ) ); ?>" />
 						</p>
 					<?php endif; ?>
 
 					<p>
 						<label for="wptv_video_title"><?php esc_html_e( 'Video title' ); ?></label>
-						<input type="text" id="wptv_video_title" name="wptv_video_title" value="" />
+						<input type="text" id="wptv_video_title" name="wptv_video_title" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_video_title'] ?? '' ) ); ?>" />
 					</p>
 					<p>
 						<label for="wptv_language"><?php esc_html_e( 'Language' ); ?></label>
-						<input type="text" id="wptv_language" name="wptv_language" value="" />
+						<input type="text" id="wptv_language" name="wptv_language" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_language'] ?? '' ) ); ?>" />
 					</p>
 
 					<div class="cats">
-						<label for="wptv_categories"><?php esc_html_e( 'Category' ); ?></label>
+						<label for="post_category"><?php esc_html_e( 'Category' ); ?></label>
 						<ul class="cats-checkboxes">
 							<?php
 							include_once( ABSPATH . '/wp-admin/includes/template.php' );
-							wp_category_checklist();
+							$selected_cats = false;
+							if ( isset( $_GET['post_category'] ) ) {
+								$selected_cats = array_map( 'intval', $_GET['post_category'] );
+							}
+							wp_category_checklist( 0, 0, $selected_cats, false, null, false );
 							?>
 						</ul>
 					</div>
 
 					<p>
 						<label for="wptv_producer_username"><?php esc_html_e( 'Producer WordPress.org Username' ); ?></label>
-						<input type="text" id="wptv_producer_username" name="wptv_producer_username" value="" />
+						<input type="text" id="wptv_producer_username" name="wptv_producer_username" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_producer_username'] ?? '' ) ); ?>" />
 					</p>
 					<p>
 						<label for="wptv_speakers"><?php esc_html_e( 'Speakers' ); ?></label>
-						<input type="text" id="wptv_speakers" name="wptv_speakers" value="" />
+						<input type="text" id="wptv_speakers" name="wptv_speakers" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_speakers'] ?? '' ) ); ?>" />
 					</p>
 					<p>
 						<label for="wptv_event"><?php esc_html_e( 'Event' ); ?></label>
-						<input type="text" id="wptv_event" name="wptv_event" value="" />
+						<input type="text" id="wptv_event" name="wptv_event" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_event'] ?? '' ) ); ?>" />
 					</p>
 					<p>
 						<label for="wptv_video_description"><?php esc_html_e( 'Description' ); ?></label>
-						<textarea name="wptv_video_description" id="wptv_video_description" rows="8" cols="40"></textarea>
+						<textarea name="wptv_video_description" id="wptv_video_description" rows="8" cols="40"><?php echo esc_textarea( wp_unslash( $_GET['wptv_video_description'] ?? '' ) ); ?></textarea>
 					</p>
 					<p>
 						<label for="wptv_slides_url"><?php esc_html_e( 'Slides URL' ); ?></label>
-						<input type="text" name="wptv_slides_url" id="wptv_slides_url" value="" />
+						<input type="text" name="wptv_slides_url" id="wptv_slides_url" value="<?php echo esc_attr( wp_unslash( $_GET['wptv_slides_url'] ?? '' ) ); ?>" />
 					</p>
 					<p>
 						<label for="wptv_file"><?php esc_html_e( 'Video file' ); ?><span class="required"> * </span></label>
@@ -356,6 +360,37 @@ if ( !empty($_REQUEST['error']) ) {
 			} );
 			$( 'ul.cats-checkboxes input' ).prop( 'disabled', false );
 
+			$( '#wptv_video_wordcamp, ul.cats-checkboxes input' ).on( 'change', function() {
+				if ( $( '#wptv_event' ).data('user-altered') ) {
+					return;
+				}
+
+				var title = '';
+				// Get the Location
+				title += $( '#category-6418 ul.children input:checked' ).parent().text().trim() + " ";
+
+				// .. and the Year
+				title += $( '#category-91093 ul.children input:checked' ).parent().text().trim();
+
+				// If a location or year has been selected, build the Event Name.
+				if ( $.trim( title ) ) {
+					if ( $( '#wptv_video_wordcamp' ).prop( 'checked' ) ) {
+						title = "WordCamp " + title;
+					} else if ( $( '#in-category-107686937:checked, #in-category-467571547:checked' ).length ) {
+						/* BuddyCamp * Global Translation Day */
+						title = $( '#in-category-107686937:checked, #in-category-467571547:checked' ).parent().text().trim() + " " + title;
+					} else {
+						title = "WordPress Meetup " + title;
+					}
+
+					$( '#wptv_event' ).val( $.trim( title ) );
+				}
+			});
+			$( '#wptv_event' ).on( 'focus', function() {
+				// Not perfect, but will do.
+				$( '#wptv_event' ).data( 'user-altered', true );
+			});
+
 			$( '#video-upload-form' ).submit( function( e ) {
 				var scroll = false;
 
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/archive.php wordpress.tv/public_html/wp-content/themes/wptv2/archive.php
index b5f855729..7299230a8 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/archive.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/archive.php
@@ -62,8 +62,11 @@ global $wp_query, $post, $wptv;
 					<h4 class="video-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
 					<?php
 						$wptv->the_terms( 'event', '<span class="video-events">', ', ', '</span>', false );
-						$label = _n( 'Speaker:', 'Speakers:', count( get_the_terms( $post->ID, 'speakers' ) ), 'wptv' );
-						$wptv->the_terms( 'speakers', '<span class="video-speakers"><strong>' . $label . '</strong> ', ', ', '</span>', false );
+						$speakers = get_the_terms( $post->ID, 'speakers' );
+						if ( $speakers ) {
+							$label = _n( 'Speaker:', 'Speakers:', count( $speakers ), 'wptv' );
+							$wptv->the_terms( 'speakers', '<span class="video-speakers"><strong>' . $label . '</strong> ', ', ', '</span>', false );
+						}
 					?>
 					<span class="video-excerpt">
 						<?php
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/category-wordcamptv.php wordpress.tv/public_html/wp-content/themes/wptv2/category-wordcamptv.php
index 3e2ee440c..62ce5d1cf 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/category-wordcamptv.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/category-wordcamptv.php
@@ -42,8 +42,8 @@ global $wptv;
 							<img src="<?php $wptv->the_video( true, true ); ?>" />
 						</span>
 						<span class="video-title"><?php the_title(); ?></span>
-						<?php $wptv->the_event( '<strong class="video-event">', '</strong>' ); ?>
 					</a>
+					<?php $wptv->the_event( '<strong class="video-event">', '</strong>' ); ?>
 				</li>
 				<?php endwhile; // have_posts ?>
 
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/category.php wordpress.tv/public_html/wp-content/themes/wptv2/category.php
index 666cb6750..91ddfb441 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/category.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/category.php
@@ -45,8 +45,8 @@ if ( get_query_var( 'paged' ) < 2 && $wp_query->found_posts > 6 ) : ?>
 							<img src="<?php $wptv->the_video( true, true ); ?>" />
 						</span>
 						<span class="video-title"><?php the_title(); ?></span>
-						<?php $wptv->the_event( '<strong class="video-event">', '</strong>' ); ?>
 					</a>
+					<?php $wptv->the_event( '<strong class="video-event">', '</strong>' ); ?>
 				</li>
 				<?php endwhile; ?>
 			</ul>
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/footer.php wordpress.tv/public_html/wp-content/themes/wptv2/footer.php
index a6403a89f..4b4858e55 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/footer.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/footer.php
@@ -10,7 +10,7 @@
 	<div id="footer">
 		<div class="container">
 			<?php wp_nav_menu( array( 'theme_location' => 'footer', 'depth' => 1 ) ); ?>
-			<p class="automattic">An <a href="http://automattic.com/"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxvZ28iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDk0LjQgMzguMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNDk0LjQgMzguMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNMTc5LjMsMzguMmMtMTIuNiwwLTIwLjctOS4xLTIwLjctMTguNXYtMS4yYzAtOS42LDguMi0xOC41LDIwLjctMTguNWMxMi42LDAsMjAuOCw4LjksMjAuOCwxOC41djEuMg0KCUMyMDAuMSwyOS4xLDE5MS45LDM4LjIsMTc5LjMsMzguMnogTTE5My4zLDE4LjZjMC02LjktNS0xMy0xNC4xLTEzYy05LjEsMC0xNCw2LjEtMTQsMTN2MC45YzAsNi45LDUsMTMuMSwxNCwxMy4xDQoJYzkuMSwwLDE0LjEtNi4yLDE0LjEtMTMuMVYxOC42eiIvPg0KPHBhdGggZmlsbD0iIzg4ODg4OCIgZD0iTTM3LjEsMzYuOEwzMi40LDI4SDExLjZMNywzNi44SDBMMTkuMiwxLjNoNS41bDE5LjUsMzUuNUgzNy4xeiBNMjEuOCw4LjJsLTcuNywxNC45aDE1LjdMMjEuOCw4LjJ6Ii8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNNzQuNiwzOC4yYy0xMi43LDAtMTguNy02LjktMTguNy0xNi4yVjEuM2g2LjZ2MjAuOWMwLDYuNiw0LjMsMTAuNSwxMi41LDEwLjVjOC40LDAsMTEuOS0zLjksMTEuOS0xMC41VjEuMw0KCWg2LjdWMjJDOTMuNiwzMC44LDg3LjksMzguMiw3NC42LDM4LjJ6Ii8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNMTMwLjcsNi44djMwaC02Ljd2LTMwaC0xNS41VjEuM2gzNy43djUuNUgxMzAuN3oiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0yNTkuNSwzNi44VjguN2wtMS44LDMuMWwtMTQuOSwyNWgtMy4zbC0xNC43LTI1bC0xLjgtMy4xdjI4LjFoLTYuNVYxLjNoOS4ybDE0LDI0LjRsMS43LDNsMS43LTNMMjU3LDEuMw0KCWg5LjF2MzUuNUgyNTkuNXoiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0zMTYuNSwzNi44bC00LjctOC44SDI5MWwtNC41LDguOGgtN2wxOS4yLTM1LjVoNS41bDE5LjUsMzUuNUgzMTYuNXogTTMwMS4yLDguMmwtNy43LDE0LjloMTUuN0wzMDEuMiw4LjJ6DQoJIi8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNMzUwLjYsNi44djMwaC02Ljd2LTMwaC0xNS41VjEuM2gzNy43djUuNUgzNTAuNnoiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0zOTkuNSw2Ljh2MzBoLTYuN3YtMzBoLTE1LjVWMS4zSDQxNXY1LjVIMzk5LjV6Ii8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNNDMxLjQsMzYuOFY0LjZjMi43LDAsMy43LTEuNCwzLjctMy40aDIuOHYzNS41SDQzMS40eiIvPg0KPHBhdGggZmlsbD0iIzg4ODg4OCIgZD0iTTQ5MC4yLDExLjNjLTMuMi0yLjktNy45LTUuNy0xNC4yLTUuN2MtOS41LDAtMTQuOCw2LjUtMTQuOCwxMy4zdjAuN2MwLDYuNyw1LjQsMTMsMTUuMywxMw0KCWM1LjksMCwxMC44LTIuOCwxMy45LTUuN2w0LDQuMmMtMy45LDMuOC0xMC41LDcuMS0xOC4zLDcuMWMtMTMuNCwwLTIxLjYtOC43LTIxLjYtMTguM3YtMS4yYzAtOS42LDguOS0xOC43LDIxLjktMTguNw0KCWM3LjUsMCwxNC4zLDMuMSwxOCw3LjFMNDkwLjIsMTEuM3oiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0xODMuNiwxMi40YzEuMiwwLjgsMS41LDIuNCwwLjgsMy42bC02LjEsOS40Yy0wLjgsMS4yLTIuNCwxLjYtMy42LDAuOGwwLDBjLTEuMi0wLjgtMS41LTIuNC0wLjgtMy42DQoJbDYuMS05LjRDMTgwLjgsMTEuOSwxODIuNCwxMS42LDE4My42LDEyLjRMMTgzLjYsMTIuNHoiLz4NCjwvc3ZnPg0K" alt="Automattic" width="165" height="14" /></a> <?php $words = array( 'Production', 'Joint', 'Medley', 'Experiment', 'Ruckus', 'Invention', 'Creation', 'Thingamajig', 'Opus', 'Brainchild', 'Contraption' ); echo $words[ mt_rand( 0, count( $words) -1 ) ]; ?></p>
+			<p class="automattic">An <a href="https://automattic.com/"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxvZ28iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDk0LjQgMzguMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNDk0LjQgMzguMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNMTc5LjMsMzguMmMtMTIuNiwwLTIwLjctOS4xLTIwLjctMTguNXYtMS4yYzAtOS42LDguMi0xOC41LDIwLjctMTguNWMxMi42LDAsMjAuOCw4LjksMjAuOCwxOC41djEuMg0KCUMyMDAuMSwyOS4xLDE5MS45LDM4LjIsMTc5LjMsMzguMnogTTE5My4zLDE4LjZjMC02LjktNS0xMy0xNC4xLTEzYy05LjEsMC0xNCw2LjEtMTQsMTN2MC45YzAsNi45LDUsMTMuMSwxNCwxMy4xDQoJYzkuMSwwLDE0LjEtNi4yLDE0LjEtMTMuMVYxOC42eiIvPg0KPHBhdGggZmlsbD0iIzg4ODg4OCIgZD0iTTM3LjEsMzYuOEwzMi40LDI4SDExLjZMNywzNi44SDBMMTkuMiwxLjNoNS41bDE5LjUsMzUuNUgzNy4xeiBNMjEuOCw4LjJsLTcuNywxNC45aDE1LjdMMjEuOCw4LjJ6Ii8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNNzQuNiwzOC4yYy0xMi43LDAtMTguNy02LjktMTguNy0xNi4yVjEuM2g2LjZ2MjAuOWMwLDYuNiw0LjMsMTAuNSwxMi41LDEwLjVjOC40LDAsMTEuOS0zLjksMTEuOS0xMC41VjEuMw0KCWg2LjdWMjJDOTMuNiwzMC44LDg3LjksMzguMiw3NC42LDM4LjJ6Ii8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNMTMwLjcsNi44djMwaC02Ljd2LTMwaC0xNS41VjEuM2gzNy43djUuNUgxMzAuN3oiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0yNTkuNSwzNi44VjguN2wtMS44LDMuMWwtMTQuOSwyNWgtMy4zbC0xNC43LTI1bC0xLjgtMy4xdjI4LjFoLTYuNVYxLjNoOS4ybDE0LDI0LjRsMS43LDNsMS43LTNMMjU3LDEuMw0KCWg5LjF2MzUuNUgyNTkuNXoiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0zMTYuNSwzNi44bC00LjctOC44SDI5MWwtNC41LDguOGgtN2wxOS4yLTM1LjVoNS41bDE5LjUsMzUuNUgzMTYuNXogTTMwMS4yLDguMmwtNy43LDE0LjloMTUuN0wzMDEuMiw4LjJ6DQoJIi8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNMzUwLjYsNi44djMwaC02Ljd2LTMwaC0xNS41VjEuM2gzNy43djUuNUgzNTAuNnoiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0zOTkuNSw2Ljh2MzBoLTYuN3YtMzBoLTE1LjVWMS4zSDQxNXY1LjVIMzk5LjV6Ii8+DQo8cGF0aCBmaWxsPSIjODg4ODg4IiBkPSJNNDMxLjQsMzYuOFY0LjZjMi43LDAsMy43LTEuNCwzLjctMy40aDIuOHYzNS41SDQzMS40eiIvPg0KPHBhdGggZmlsbD0iIzg4ODg4OCIgZD0iTTQ5MC4yLDExLjNjLTMuMi0yLjktNy45LTUuNy0xNC4yLTUuN2MtOS41LDAtMTQuOCw2LjUtMTQuOCwxMy4zdjAuN2MwLDYuNyw1LjQsMTMsMTUuMywxMw0KCWM1LjksMCwxMC44LTIuOCwxMy45LTUuN2w0LDQuMmMtMy45LDMuOC0xMC41LDcuMS0xOC4zLDcuMWMtMTMuNCwwLTIxLjYtOC43LTIxLjYtMTguM3YtMS4yYzAtOS42LDguOS0xOC43LDIxLjktMTguNw0KCWM3LjUsMCwxNC4zLDMuMSwxOCw3LjFMNDkwLjIsMTEuM3oiLz4NCjxwYXRoIGZpbGw9IiM4ODg4ODgiIGQ9Ik0xODMuNiwxMi40YzEuMiwwLjgsMS41LDIuNCwwLjgsMy42bC02LjEsOS40Yy0wLjgsMS4yLTIuNCwxLjYtMy42LDAuOGwwLDBjLTEuMi0wLjgtMS41LTIuNC0wLjgtMy42DQoJbDYuMS05LjRDMTgwLjgsMTEuOSwxODIuNCwxMS42LDE4My42LDEyLjRMMTgzLjYsMTIuNHoiLz4NCjwvc3ZnPg0K" alt="Automattic" width="165" height="14" /></a> <?php $words = array( 'Production', 'Joint', 'Medley', 'Experiment', 'Ruckus', 'Invention', 'Creation', 'Thingamajig', 'Opus', 'Brainchild', 'Contraption' ); echo $words[ mt_rand( 0, count( $words) -1 ) ]; ?></p>
 		</div>
 	</div><!-- #footer -->
 </div><!-- #page -->
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/front-page.php wordpress.tv/public_html/wp-content/themes/wptv2/front-page.php
index 0a16ea95a..3d1baf483 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/front-page.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/front-page.php
@@ -54,8 +54,8 @@ get_header(); ?>
 							<img src="<?php $wptv->the_video( true, true ); ?>" />
 						</span>
 						<span class="video-title"><?php the_title(); ?></span>
-						<?php $wptv->the_event( '<strong class="video-event">', '</strong>' ); ?>
 					</a>
+					<?php $wptv->the_event( '<strong class="video-event">', '</strong>' ); ?>
 				</li>
 
 				<?php
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/functions.php wordpress.tv/public_html/wp-content/themes/wptv2/functions.php
index 068789790..465d1b4c3 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/functions.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/functions.php
@@ -14,13 +14,16 @@ class WordPressTV_Theme {
 			require_once get_template_directory() . '/plugins/wordpresstv-anon-upload/anon-upload.php';
 			require_once get_template_directory() . '/plugins/wordpresstv-upload-subtitles/wordpresstv-upload-subtitles.php';
 			require_once get_template_directory() . '/plugins/wordpresstv-open-graph/wordpresstv-open-graph.php';
+			require_once get_template_directory() . '/plugins/wordpresstv-event-meta/wordpresstv-event-meta.php';
 
 			add_action( 'after_setup_theme', array( $this, 'setup' ) );
 		}
+
+		add_action( 'after_setup_theme', array( $this, 'setup_always' ) );
 	}
 
 	/**
-	 * Runs during after_setup_theme.
+	 * Runs during after_setup_theme on WordPress.TV
 	 */
 	function setup() {
 		add_action( 'widgets_init', array( $this, 'widgets_init' ) );
@@ -35,6 +38,8 @@ class WordPressTV_Theme {
 
 		add_filter( 'pre_option_blog_upload_space', array( $this, 'blog_upload_space' ) );
 
+		add_filter( 'document_title_parts', array( $this, 'document_title_parts' ) );
+
 		register_nav_menus( array(
 			'primary'            => __( 'Primary Menu', 'wptv' ),
 			'footer'             => __( 'Footer Menu', 'wptv' ),
@@ -42,6 +47,121 @@ class WordPressTV_Theme {
 		) );
 	}
 
+	/**
+	 * Runs during after_setup_theme on WordPress.TV & blog.WordPress.TV
+	 */
+	function setup_always() {
+		add_theme_support( 'title-tag' );
+
+		add_action( 'wp_head', array( $this, 'rel_canonical' ) );
+		add_action( 'wp_head', array( $this, 'archive_link_rel_prev_next' ) );
+	}
+
+	/**
+	 * Output `<link rel="canonical">` links where needed.
+	 */
+	function rel_canonical() {
+		$canonical = false;
+
+		if ( is_front_page() ) {
+			$canonical = home_url('/');
+
+		// Speakers, Events, Producers, Tags, Years/WordCamp.TV,
+		} elseif ( is_tax() || is_tag() || is_category() ) {
+			$canonical = get_term_link( get_queried_object() );
+			if ( is_wp_error( $canonical ) ) {
+				$canonical = false;
+			}
+
+		}
+
+		if ( $canonical && get_query_var( 'paged' ) > 1 ) {
+			$canonical .= 'page/' . (int) get_query_var( 'paged' ) . '/';
+		}
+
+		if ( $canonical ) {
+			printf( '<link rel="canonical" href="%s">', esc_url( $canonical ) );
+		}
+	}
+
+	/**
+	 * Filter archive titles where needed.
+	 */
+	function document_title_parts( $title ) {
+		$sep = apply_filters( 'document_title_separator', '-' );
+
+		if ( is_tax( 'language' ) ) {
+			$title['title'] = sprintf(
+				/* translators: %s: The language name. */
+				__( 'Videos in %s', 'wptv' ),
+				get_queried_object()->name
+			);
+
+		} elseif ( is_tax( 'event' ) ) {
+			$title['title'] = sprintf(
+				/* translators: %s: The event name. */
+				__( 'Videos from %s', 'wptv' ),
+				get_queried_object()->name
+			);
+
+		} elseif ( is_tax( 'speakers' ) ) {
+			$title['title'] = sprintf(
+				/* translators: %s: The event name. */
+				__( 'Videos of %s', 'wptv' ),
+				get_queried_object()->name
+			);
+
+		} elseif ( is_category() ) {
+			$title['title'] = sprintf(
+				/* translators: %s: Category name. */
+				__( '%s Videos', 'wptv' ),
+				get_queried_object()->name
+			);
+
+		} elseif ( is_tag() ) {
+			$title['title'] = sprintf(
+				/* translators: %s: Tag name. */
+				__( 'Videos tagged %s', 'wptv' ),
+				get_queried_object()->name
+			);
+
+		}
+
+		return $title;
+	}
+
+	/**
+	 * Outputs <link rel="prev|next"> tags for archives.
+	 */
+	function archive_link_rel_prev_next() {
+		global $paged, $wp_query;
+		if ( ! is_archive() && ! is_search() ) {
+			return;
+		}
+
+		$max_page = $wp_query->max_num_pages;
+		if ( ! $paged ) {
+			$paged = 1;
+		}
+
+		$nextpage = intval( $paged ) + 1;
+		$prevpage = intval( $paged ) - 1;
+
+		if ( $prevpage >= 1 ) {
+			printf(
+				'<link rel="prev" href="%s">' . "\n",
+				esc_url( get_pagenum_link( $prevpage ) )
+			);
+		}
+
+		if ( $nextpage <= $max_page ) {
+			printf(
+				'<link rel="next" href="%s">' . "\n",
+				esc_url( get_pagenum_link( $nextpage ) )
+			);
+		}
+	}
+
 	/**
 	 * Different posts_per_page settings for different views. Runs during pre_get_posts.
 	 *
@@ -236,7 +356,7 @@ class WordPressTV_Theme {
 		 * @todo Optimize this before re-enabling
 		 *
 		 * This method was disabled because it caused 504 errors on large result sets
-		 * (e.g., http://wordpress.tv/?s=keynote). Sorting by a meta value is not performant.
+		 * (e.g., https://wordpress.tv/?s=keynote). Sorting by a meta value is not performant.
 		 *
 		 * Maybe look at ways to do the sorting in PHP, or just use Elasticsearch instead.
 		 */
@@ -259,6 +379,8 @@ class WordPressTV_Theme {
 	 * Relies on various other filters used once.
 	 * @todo optimize the get_tax_query part.
 	 *
+	 * @global wpdb $wpdb WordPress database abstraction object.
+	 *
 	 * @param string   $search
 	 * @param WP_Query $query
 	 * @return string
@@ -313,6 +435,8 @@ class WordPressTV_Theme {
 	 * This adds the JOIN clause resulting from the taxonomy
 	 * search. Make sure this filter runs only once per WP_Query request.
 	 *
+	 * @global wpdb $wpdb WordPress database abstraction object.
+	 *
 	 * @param string   $join
 	 * @param WP_Query $query
 	 * @return string
@@ -337,6 +461,8 @@ class WordPressTV_Theme {
 	 * search query matches content and one or more taxonomies.
 	 * This filter glues all duplicates. Use only once per WP_Query.
 	 *
+	 * @global wpdb $wpdb WordPress database abstraction object.
+	 *
 	 * @param string   $group_by
 	 * @param WP_Query $query
 	 * @return string
@@ -440,33 +566,12 @@ class WordPressTV_Theme {
 	<?php
 	}
 
-	/**
-	 * Get VodPod Thumbnails, used by the_video_image
-	 *
-	 * @param string $code
-	 * @return string
-	 */
-	function get_vodpod_thumbnails( $code ) {
-		preg_match( '/((Groupvideo|ExternalVideo).[0-9]+)/', $code, $matches );
-		$id = $matches[1];
-
-		if ( ! $id ) {
-			return get_template_directory_uri() . '/i/notfound.png';
-		}
-
-		// Argh!!
-		$xml = file_get_contents( 'http://api.vodpod.com/api/video/details.xml?video_id=' . $id . '&api_key=03519ea5faf6a6ed' );
-
-		if ( preg_match( '/<large>(.*)<\/large>/', $xml, $thevideoid ) ) {
-			return $thevideoid[1];
-		} else {
-			return get_template_directory_uri() . '/i/notfound.png';
-		}
-	}
-
 	/**
 	 * Renders the video or a video thumbnail
 	 *
+	 * @global WP_Post $post
+	 * @global string  $originalcontent
+	 *
 	 * @param bool $thumb
 	 * @param bool $no_html
 	 */
@@ -495,34 +600,6 @@ class WordPressTV_Theme {
 			}
 		}
 
-		// SlideShare
-		preg_match_all( '|\[slideshare (.+?)]|ie', $post->post_content, $matches );
-		foreach ( $matches[1] as $key => $code ) {
-			$code = '[slideshare ' . $code . ']';
-			if ( $thumb ) {
-				preg_match( '/id=([0-9]+).*/', $code, $matches );
-				$id    = $matches[1];
-				$ssxml = file_get_contents( 'http://www.slideshare.net/api/2/get_slideshow/?slideshow_id=' . $id . '&api_key=sM0rzJvp&ts=' . time() . '&hash=' . sha1( 'vHs2uii6' . time() ) );
-				preg_match( '/<ThumbnailURL>(.+)<\/ThumbnailURL>/', $ssxml, $matches );
-				$image = $matches[1];
-			} else {
-				$slideshare = apply_filters( 'the_content', $code );
-				$slideshare = preg_replace( '/height\=\'[0-9]+?\'/', "height='430'", $slideshare );
-				$video      = str_replace( "width='425'", "width='648'", $slideshare );
-			}
-		}
-
-		// VodPod
-		preg_match_all( '|\[vodpod (.+?)]|ie', $post->post_content, $matches );
-		foreach ( $matches[1] as $key => $code ) {
-			$code   = '[vodpod ' . $code . ']';
-			$vodpod = apply_filters( 'the_content', $code );
-			$id     = trim( str_replace( '</div>','', preg_replace( '/.*key\=([^&]+)&.*/', '$1', $vodpod ) ) );
-
-			$image = $this->get_vodpod_thumbnails( $code );
-			$video = $vodpod;
-		}
-
 		// Output results
 		if ( $thumb ) {
 			if ( ! $no_html ) {
@@ -539,6 +616,8 @@ class WordPressTV_Theme {
 	/**
 	 * Outputs the video image
 	 *
+	 * @global WP_Post $post
+	 *
 	 * @param int  $h
 	 * @param int  $w
 	 * @param bool $arrow
@@ -556,30 +635,6 @@ class WordPressTV_Theme {
 			$ret = video_image_url_by_guid( $guid, 'fmt_dvd' );
 		}
 
-		preg_match_all( '|\[wporg-screencast (.+?)]|ie', $post->post_content, $matches );
-		foreach ( $matches[1] as $key => $code ) {
-			$wporg = apply_filters( 'the_content', '[wporg-screencast ' . $code . ']' );
-			$ret   = $wporg;
-		}
-
-		preg_match_all( '|\[slideshare (.+?)]|ie', $post->post_content, $matches );
-		foreach ( $matches[1] as $key => $code ) {
-			$code = '[slideshare ' . $code . ']';
-
-			preg_match( '/id=([0-9]+).*/', $code, $matches );
-			$id    = $matches[1];
-			$url   = 'http://www.slideshare.net/api/2/get_slideshow/?slideshow_id=' . $id . '&api_key=sM0rzJvp&ts=' . time() . '&hash=' . sha1( 'vHs2uii6' . time() );
-			$ssxml = wp_remote_retrieve_body( wp_remote_get( esc_url_raw( $url ) ) );
-			preg_match( '/<ThumbnailURL>(.+)<\/ThumbnailURL>/', $ssxml, $matches );
-			$ret = $matches[1];
-		}
-
-		preg_match_all( '|\[vodpod (.+?)]|ie', $post->post_content, $matches );
-		foreach ( $matches[1] as $key => $code ) {
-			$code = '[vodpod ' . $code . ']';
-			$ret  = $this->get_vodpod_thumbnails( $code );
-		}
-
 		if ( $arrow ) {
 			?><a href="<?php the_permalink() ?>" class="showarrow arrow"><?php the_title(); ?></a><?php
 		}
@@ -594,6 +649,8 @@ class WordPressTV_Theme {
 	/**
 	 * Removes shortcodes from $originalcontent global
 	 *
+	 * @global string $originalcontent
+	 *
 	 * @param string $content
 	 * @return mixed
 	 */
@@ -779,39 +836,6 @@ function wptv_enqueue_scripts() {
 }
 add_action( 'wp_enqueue_scripts', 'wptv_enqueue_scripts' );
 
-/**
- * Create a nicely formatted and more specific title element text for output
- * in head of document, based on current view.
- *
- * @param string $title Default title text for current view.
- * @param string $sep   Optional separator.
- * @return string The filtered title.
- */
-function wptv_wp_title( $title, $sep ) {
-	if ( is_feed() ) {
-		return $title;
-	}
-
-	global $paged, $page;
-
-	// Add the site name.
-	$title .= get_bloginfo( 'name', 'display' );
-
-	// Add the site description for the home/front page.
-	$site_description = get_bloginfo( 'description', 'display' );
-	if ( $site_description && ( is_home() || is_front_page() ) ) {
-		$title = "$title $sep $site_description";
-	}
-
-	// Add a page number if necessary.
-	if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
-		$title = "$title $sep " . sprintf( __( 'Page %s', 'wptv' ), max( $paged, $page ) );
-	}
-
-	return $title;
-}
-add_filter( 'wp_title', 'wptv_wp_title', 10, 2 );
-
 /**
  * Append the slide URL to the excerpt
  *
@@ -874,7 +898,7 @@ if ( ! function_exists( 'bump_stats_extras' ) ) {
  * Eliminates widows in strings by replace the breaking space that appears before the last word
  * with a non-breaking space.
  *
- * @link http://www.shauninman.com/post/heap/2006/08/22/widont_wordpress_plugin Typesetting widows
+ * @link https://www.shauninman.com/post/heap/2006/08/22/widont_wordpress_plugin Typesetting widows
  *
  * @param string $str Optional. String to operate on.
  * @return string
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/header.php wordpress.tv/public_html/wp-content/themes/wptv2/header.php
index c86afa2da..ad2b0e2f4 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/header.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/header.php
@@ -14,7 +14,12 @@ global $wptv;
 
 <head>
 	<meta charset="<?php bloginfo( 'charset' ); ?>">
-	<title><?php wp_title( '|', true, 'right' ); ?></title>
+
+	<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+	new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+	j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+	'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+	})(window,document,'script','dataLayer','GTM-P24PF4B');</script>
 
 	<link rel="alternate" type="application/rss+xml" title="<?php esc_attr_e( 'WordPress.tv RSS Feed', 'wptv' ); ?>" href="https://wordpress.tv/feed/" />
 	<link rel="alternate" type="application/rss+xml" title="<?php esc_attr_e( 'WordPress.tv Blog RSS Feed', 'wptv' ); ?>" href="https://blog.wordpress.tv/feed/" />
@@ -27,6 +32,7 @@ global $wptv;
 </head>
 
 <body <?php body_class(); ?>>
+<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P24PF4B" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
 <div id="page">
 	<div id="header">
 		<div class="sleeve">
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/index.php wordpress.tv/public_html/wp-content/themes/wptv2/index.php
index ad31839fa..6a02bfaee 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/index.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/index.php
@@ -77,7 +77,7 @@ if ( have_posts() ) :
 				<p><?php printf ( __( 'Or, <a href="%s">visit the homepage</a> to start a fresh journey.', 'wptv' ), '/' ); ?></p>
 				<p>
 					<img src="<?php echo get_stylesheet_directory_uri(); ?>/i/michael-pick-stashes-a-guinness.gif" alt="" /><br />
-					Photo animation credit: <a href="http://markjaquith.com/">Mark Jaquith</a>.
+					Photo animation credit: <a href="https://markjaquith.com/">Mark Jaquith</a>.
 				</p>
 			</div>
 		</div>
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/pagination.php wordpress.tv/public_html/wp-content/themes/wptv2/pagination.php
index 4b18033da..fa194c912 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/pagination.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/pagination.php
@@ -5,11 +5,7 @@
  * @global WP_Query $wp_query
  */
 
-if ( $wp_query->max_num_pages > 1 ) :
-?>
-<div class="pagination">
-	<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older videos', 'wptv' ) ); ?></div>
-	<div class="nav-next"><?php previous_posts_link( __( 'Newer videos <span class="meta-nav">&rarr;</span>', 'wptv' ) ); ?></div>
-</div>
-<?php
-endif;
+the_posts_pagination( array(
+	'prev_text' => __( '<span class="meta-nav">&larr;</span> Newer videos', 'wptv' ),
+	'next_text' => __( 'Older videos <span class="meta-nav">&rarr;</span>', 'wptv' ),
+) );
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/plugins/rewrite.php wordpress.tv/public_html/wp-content/themes/wptv2/plugins/rewrite.php
index 6267cab1f..d1f2edac6 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/plugins/rewrite.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/plugins/rewrite.php
@@ -8,7 +8,7 @@
 function wptv_maybe_flush_rewrite_rules() {
 	global $wp_rewrite;
 
-	// Visit http://wordpress.tv/?flush_rules=1 as a super admin or kovshenin (4637740)
+	// Visit https://wordpress.tv/?flush_rules=1 as a super admin or kovshenin (4637740)
 	// to flush the rules for /unisubs/ endpoint to work.
 	if ( ( is_super_admin() || get_current_user_id() == 4637740 ) && !empty( $_GET['flush_rules'] ) ) {
 		$wp_rewrite->flush_rules();
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-anon-upload/anon-upload.php wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-anon-upload/anon-upload.php
index b7e9e1446..9f4b7dc76 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-anon-upload/anon-upload.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-anon-upload/anon-upload.php
@@ -23,16 +23,48 @@ class WPTV_Anon_Upload {
 				$this->success = $this->save();
 			}
 
-			$redir = home_url( 'submit-video' );
+			$redir = home_url( '/submit-video/' );
+
+			// Fields to prefill
+			$keep_fields = array(
+				'wptv_video_wordcamp',
+				'wptv_uploaded_by',
+				'wptv_email',
+				'wptv_language',
+				'post_category', // 'wptv_categories',
+				'wptv_producer_username',
+				'wptv_event',
+			);
 
 			if ( $this->success ) {
 				$redir = add_query_arg( array( 'success' => 1 ), $redir );
 			} elseif ( $this->errors ) {
 				$redir = add_query_arg( array( 'error' => $this->errors ), $redir );
+
+				// Video upload failed, include the video-specific fields in pre-fill.
+				$keep_fields[] = 'wptv_video_title';
+				$keep_fields[] = 'wptv_speakers';
+				$keep_fields[] = 'wptv_video_description';
+				$keep_fields[] = 'wptv_slides_url';
+
 			} else {
+				$keep_fields = array();
 				$redir = add_query_arg( array( 'error' => 5 ), $redir );
 			}
 
+			// Keep some fields.
+			if ( $keep_fields ) {
+				$redir = add_query_arg(
+					urlencode_deep(
+						array_intersect_key(
+							$_POST,
+							array_flip( $keep_fields )
+						)
+					),
+					$redir
+				);
+			}
+
 			wp_redirect( $redir );
 		} else {
 			// no nonce, send them "home"?
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-event-meta/wordpresstv-event-meta.php wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-event-meta/wordpresstv-event-meta.php
new file mode 100644
index 000000000..5d18c9a28
--- /dev/null
+++ wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-event-meta/wordpresstv-event-meta.php
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ * WordPress.tv Event Meta
+ *
+ */
+class WordPressTV_Event_Meta {
+	function __construct() {
+		add_action( 'event_edit_form_fields', array( $this, 'edit_form_fields' ) );
+		add_action( 'event_add_form_fields',  array( $this, 'add_form_fields' ) );
+
+		add_action( 'edited_event', array( $this, 'save' ) );
+		add_action( 'created_event', array( $this, 'save' ) );
+	}
+
+	function fields() {
+		return array(
+			array(
+				'key'  => 'youtube_playlist_id',
+				'name' => 'Youtube Playlist ID',
+				'desc' => 'The Youtube Playlist ID',
+			),
+			array(
+				'key'  => 'hashtag',
+				'name' => 'Hashtag',
+				'desc' => 'The Event Hashtag',
+			),
+			array(
+				'key'  => 'owners',
+				'name' => 'Owners',
+				'desc' => 'WordPress.org username(s) of those in charge of the videos',
+			),
+			array(
+				'key'  => 'owners_slack',
+				'name' => 'Owners (Slack)',
+				'desc' => 'Slack username(s) of those in charge of the videos',
+			),
+		);
+	}
+
+	function add_form_fields() {
+		foreach ( $this->fields() as $field ) {
+			echo '<div class="form-field term-group">
+        			<label for="' . esc_attr( $field['key'] ) . '">' . esc_html( $field['name'] ) . '</label>
+        			<input type="text" width="40" id="' . esc_attr( $field['key'] ) . '" name="term_meta[' . esc_attr( $field['key'] ) . ']"><br>
+        			<span class="description">' . esc_html( $field['desc'] ) . '</span>
+    			</div>';
+		}
+	}
+
+	function edit_form_fields( $term ) {
+		foreach ( $this->fields() as $field ) {
+			$value = get_option( "term_meta_{$term->term_id}_{$field['key']}", '' );
+			echo '<tr class="form-field">
+					<th scope="row" valign="top"><label for="' . esc_attr( $field['key'] ) . '">' . esc_html( $field['name'] ) . '</label></th>
+					<td><input type="text" name="term_meta[' . esc_attr( $field['key'] ) . ']" id="' . esc_attr( $field['key'] ) . '" value="' . esc_attr( $value ) . '"><br />
+					<span class="description">' . esc_html( $field['desc'] ) . '</span></td>
+				</tr>';
+		}
+
+	}
+
+	function save( $term_id ) {
+		if ( ! isset( $_POST['term_meta'] ) ) {
+			return;
+		}
+
+		foreach ( $this->fields() as $field ) {
+			$key = $field['key'];
+			$value = $_POST['term_meta'][ $key ] ?? '';
+			$value = sanitize_text_field( $value );
+
+			if ( $value ) {
+				update_option( "term_meta_{$term_id}_{$key}", $value );
+			} else {
+				delete_option( "term_meta_{$term_id}_{$key}" );
+			}
+		}
+	}
+}
+
+// Initialize the object.
+add_action( 'admin_init', 'wptv_event_meta_init', 5 );
+function wptv_event_meta_init() {
+	$wptv_rest_api = new WordPressTV_Event_Meta();
+}
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-oembed/wordpresstv-oembed.php wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-oembed/wordpresstv-oembed.php
index 1e624f705..4aea027f7 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-oembed/wordpresstv-oembed.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-oembed/wordpresstv-oembed.php
@@ -3,7 +3,7 @@
 **************************************************************************
 
 Plugin Name:  WordPress.tv oEmbed Provider
-Plugin URI:   http://wordpress.tv/oembed/
+Plugin URI:   https://wordpress.tv/oembed/
 Description:  Creates an oEmbed provider for WordPress.tv.
 Author:       Viper007Bond
 
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-rest/wordpresstv-rest.php wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-rest/wordpresstv-rest.php
index fc3784667..e8e4fb74f 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-rest/wordpresstv-rest.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-rest/wordpresstv-rest.php
@@ -30,6 +30,19 @@ class WordPressTV_REST_API {
 		exit( 'Invalid request.' );
 	}
 
+	/**
+	 * Handle API requests.
+	 *
+	 * Supported Endpoints:
+	 * - /api/videos.json
+	 *   Accepts all WP_Query parameters, such as 'event', 'per_page', and 'paged'.
+	 * - /api/events.json
+	 * - /api/speakers.json
+	 * - /api/languages.json
+	 * - /api/tags.json
+	 * - /api/categories.json
+	 *   All above endpoints accept 'paged'.
+	 */
 	function template_redirect() {
 		global $wp_query, $post, $wptv;
 
@@ -52,6 +65,11 @@ class WordPressTV_REST_API {
 					query_posts( array_merge( $wp_query->query, array( 'posts_per_page' => intval( $_REQUEST['posts_per_page'] ) ) ) );
 				}
 
+				$response['query'] = array(
+					'results' => (int) $wp_query->found_posts,
+					'pages'   => (int) $wp_query->max_num_pages,
+				);
+
 				$response['videos'] = array();
 				while ( have_posts() ) {
 					the_post();
@@ -62,11 +80,140 @@ class WordPressTV_REST_API {
 					$thumbnail = esc_url_raw( trim( ob_get_contents() ) );
 					ob_end_clean();
 
-					$response['videos'][] = array(
-						'title'     => $post->post_title,
-						'permalink' => get_permalink( get_the_ID() ),
-						'thumbnail' => $thumbnail,
+					$video = array(
+						'title'       => $post->post_title,
+						'permalink'   => get_permalink( get_the_ID() ),
+						'thumbnail'   => $thumbnail,
+						'date'        => $post->post_date_gmt,
+						'description' => get_the_excerpt(),
+						'slides'      => get_post_meta( $post->ID, '_wptv_slides_url', true ),
+						'speakers'    => array(),
+						'event'       => array(),
+						'language'    => array(),
+						'tags'        => array(),
+						'category'    => array(),
+						'year'        => array(),
+						'location'    => array(),
+						'producer'    => array(),
+						'video'       => array(
+							'mp4' => array(),
+							'ogg' => array(),
+						)
 					);
+
+					foreach ( [ 'speakers', 'event', 'language', 'tags', 'category' ] as $tax ) {
+						$terms = get_the_terms( get_the_ID(), $tax );
+						if ( ! $terms || is_wp_error( $terms ) ) {
+							continue;
+						}
+						foreach ( $terms as $t ) {
+							// Special Cases
+							if ( 'category' == $tax && $t->parent == 91093 /* Year */ ) {
+								$video['year'] = array(
+									'slug' => $t->slug,
+									'name' => $t->name,
+									'link' => get_term_link( $t )
+								);
+								continue;
+							} elseif ( 'category' == $tax && $t->parent == 6418 /* Location */ ) {
+								$video['location'] = array(
+									'slug' => $t->slug,
+									'name' => $t->name,
+									'link' => get_term_link( $t )
+								);
+								continue;
+							}
+
+							$video[ $tax ][] = array(
+								'slug' => $t->slug,
+								'name' => $t->name,
+								'link' => get_term_link( $t )
+							);
+						}
+					}
+
+					if ( $producer = get_the_terms( get_the_ID(), 'producer' ) ) {
+						$video['producer']['name'] = $producer[0]->name;
+					}
+					if ( $producer_username = get_the_terms( get_the_ID(), 'producer-username' ) ) {
+						$video['producer']['username'] = $producer_username[0]->name;
+						$video['producer']['link'] = 'https://profiles.wordpress.org/' . urlencode( $producer_username[0]->name ) . '/';
+					}
+
+					if ( function_exists( 'find_all_videopress_shortcodes' ) ) {
+						$post_videos = array_keys( find_all_videopress_shortcodes( $post->post_content ) );
+						if ( $post_videos ) {
+							$post_video = video_get_info_by_guid( $post_videos[0] );
+
+							// Ogg
+							if ( $link = video_highest_resolution_ogg( $post_video ) ) {
+								$video['video']['ogg']['low'] = $link;
+							}
+
+							// MP4
+							$mp4_formats = array( 'low' => 'fmt_std', 'med' => 'fmt_dvd', 'high' => 'fmt_hd' );
+							foreach ( $mp4_formats as $mp4_field => $mp4_format ) {
+								if ( $link = video_url_by_format( $post_video, $mp4_format ) ) {
+									$video['video']['mp4'][ $mp4_field ] = $link;
+								}
+							}
+						}
+					}
+
+					$response['videos'][] = $video;
+				}
+
+				break;
+			case 'events':
+			case 'speakers':
+			case 'languages':
+			case 'tags':
+			case 'categories':
+				$taxonomies = array(
+					'events'     => 'event',
+					'speakers'   => 'speakers',
+					'languages'  => 'language',
+					'tags'       => 'post_tag',
+					'categories' => 'category',
+				);
+
+				$taxonomy = $taxonomies[ $method ];
+				$taxonomy_obj = get_taxonomy( $taxonomy );
+				$total_count = wp_count_terms( $taxonomy, array( 'hide_empty' => true ) );
+
+				$page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
+				$per_page = 200;
+
+				$terms = get_terms( array(
+					'taxonomy'   => $taxonomy,
+					'hide_empty' => true,
+					'number'     => $per_page,
+					'offset'     => $per_page * ($page - 1),
+					'orderby'    => 'id',
+					'order'      => 'DESC',
+				) );
+
+				$response['query'] = array(
+					'results' => (int) $total_count,
+					'page'    => $page,
+					'pages'   => ceil( $total_count / $per_page ),
+				);
+
+				$response[ $method ] = array();
+				foreach ( $terms as $t ) {
+					$item = array(
+						'name' => $t->name,
+						'link' => get_term_link( $t ),
+						'api'  => add_query_arg( $taxonomy_obj->query_var, $t->slug, home_url( '/api/videos.json') ),
+						'videos' => $t->count,
+					);
+
+					if ( 'event' == $t->taxonomy ) {
+						$item['youtube_playlist_id'] = get_option( "term_meta_{$t->term_id}_youtube_playlist_id", '' );
+						$item['hashtag'] = get_option( "term_meta_{$t->term_id}_hashtag", '' );
+					}
+
+					$response[ $method ][] = $item;
 				}
 
 				break;
@@ -78,10 +225,12 @@ class WordPressTV_REST_API {
 		if ( ! empty( $response ) ) {
 			switch ( $format ) {
 				case 'json':
-					echo json_encode( $response );
+					header( 'Content-type: application/json' );
+					echo wp_json_encode( $response );
 					break;
 				case 'array':
 					if ( defined( 'WPCOM_SANDBOXED' ) && WPCOM_SANDBOXED ) {
+						header( 'Content-Type: text/plain' );
 						print_r( $response );
 					}
 					break;
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-unisubs/wordpresstv-unisubs.php wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-unisubs/wordpresstv-unisubs.php
index b3b5d7f8a..f65e3a444 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-unisubs/wordpresstv-unisubs.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-unisubs/wordpresstv-unisubs.php
@@ -59,7 +59,7 @@ class WordCampTV_Unisubs {
 	function template_redirect() {
 
 		// If a ?guid has been specified, but not a /unisubs/ endpoint, redirect
-		// to the post permalink. Allows requests like http://wordpress.tv/?guid=nWoZmCPz
+		// to the post permalink. Allows requests like https://wordpress.tv/?guid=nWoZmCPz
 		if ( get_query_var( 'guid' ) && ! get_query_var( 'unisubs' ) ) {
 			$post = $this->get_post_by_guid( get_query_var( 'guid' ) );
 			if ( $post ) {
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-upload-subtitles/wordpresstv-upload-subtitles.php wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-upload-subtitles/wordpresstv-upload-subtitles.php
index fc1232c6a..9ee766e66 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-upload-subtitles/wordpresstv-upload-subtitles.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/plugins/wordpresstv-upload-subtitles/wordpresstv-upload-subtitles.php
@@ -393,7 +393,7 @@ class WordPressTV_Subtitles_Upload {
 					new tab).</p>
 
 				<p>Submitted by: <a
-						href="http://profiles.wordpress.org/<?php echo esc_attr( $attachment_meta['submitted_by'] ); ?>/"><?php echo esc_html( $attachment_meta['submitted_by'] ); ?></a>,
+						href="https://profiles.wordpress.org/<?php echo esc_attr( $attachment_meta['submitted_by'] ); ?>/"><?php echo esc_html( $attachment_meta['submitted_by'] ); ?></a>,
 					email: <a
 						href="mailto:<?php echo esc_attr( $attachment_meta['submitted_email'] ); ?>"><?php echo esc_html( $attachment_meta['submitted_email'] ); ?></a>
 				</p>
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/sidebar-single.php wordpress.tv/public_html/wp-content/themes/wptv2/sidebar-single.php
index 1b411a26e..e5893ae7c 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/sidebar-single.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/sidebar-single.php
@@ -127,7 +127,7 @@ global $wptv, $originalcontent;
 		the_widget(
 			'WP_Widget_Custom_HTML',
 			[
-				'content' => '<p></p><a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0;" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.',
+				'content' => '<p></p><a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0;" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.',
 			]
 		);
 	?>
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/sidebar.php wordpress.tv/public_html/wp-content/themes/wptv2/sidebar.php
index 0d4a48ec6..be61888cd 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/sidebar.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/sidebar.php
@@ -11,7 +11,7 @@
 			the_widget(
 				'WP_Widget_Custom_HTML',
 				[
-					'content' => '<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0;" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.',
+					'content' => '<a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0;" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.',
 				],
 				[
 					'before_widget' => '<li class="widget %s">',
@@ -19,5 +19,5 @@
 				]
 			);
 		?>
-	<ul/>
-</div><!-- .secondary_content -->
\ No newline at end of file
+	</ul>
+</div><!-- .secondary_content -->
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/style.css wordpress.tv/public_html/wp-content/themes/wptv2/style.css
index 3cb4a3053..d300cc75f 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/style.css
+++ wordpress.tv/public_html/wp-content/themes/wptv2/style.css
@@ -1,10 +1,10 @@
 /*
 Theme Name: WordPress.tv v2
-Theme URI: http://wordpress.tv
+Theme URI: https://wordpress.tv
 Description: WordPress.tv v2 Theme
 Version: 2.0
 Author: Automattic
-Author URI: http://automattic.com/
+Author URI: https://automattic.com/
 */
 
 /* meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ */
@@ -1817,21 +1817,25 @@ a {
 	clear: both;
 	padding: 10px 0;
 	margin: 0 0 50px 0;
+	text-align: center;
 }
 
-.pagination div {
-	width: 40%
+.pagination .nav-links .page-numbers {
+	margin: auto 0.5em;
 }
 
-.nav-next {
-	float: right;
-	text-align: right;
+.pagination .current {
+	font-weight: bold;
 }
 
-.nav-previous {
+.pagination a.prev {
 	float: left;
 }
 
+.pagination a.next {
+	float: right;
+}
+
 .primary-content #searchform {
 	float: none;
 	margin: 10px 0;
diff --git wordpress.tv/public_html/wp-content/themes/wptv2/upload-subtitles-template.php wordpress.tv/public_html/wp-content/themes/wptv2/upload-subtitles-template.php
index e205356d6..e5c939bb2 100644
--- wordpress.tv/public_html/wp-content/themes/wptv2/upload-subtitles-template.php
+++ wordpress.tv/public_html/wp-content/themes/wptv2/upload-subtitles-template.php
@@ -166,7 +166,7 @@ if ( post_password_required() ) :
 
 	<div class="container">
 		<div class="video-upload">
-			<p><?php printf( __( 'Hey there! If you&#8217;re interested in subtitling or captioning videos for WordPress.tv, please fill out the <a href="%s">contact form</a>, and we&#8217;ll be in touch.', 'wptv' ), 'http://wordpress.tv/contact/' ); ?></p>
+			<p><?php printf( __( 'Hey there! If you&#8217;re interested in subtitling or captioning videos for WordPress.tv, please fill out the <a href="%s">contact form</a>, and we&#8217;ll be in touch.', 'wptv' ), 'https://wordpress.tv/contact/' ); ?></p>
 			<div class="pass-form">
 				<?php echo get_the_password_form(); ?>
 			</div>
@@ -257,9 +257,9 @@ if ( ! empty( $_REQUEST['error'] ) ) {
 					<th><label for="wptv_wporg_username"><?php _e( 'WordPress.org Username' ); ?><span class="required"> * </span></label></th>
 					<td>
 						<input type="text" id="wptv_wporg_username" name="wptv_wporg_username" /><br />
-						To contribute subtitles, you must be a registered user at the <a href="http://wordpress.org">WordPress.org</a> website. Note that this is the username you use to log in at WordPress.org, not the username you use to log in on your own WordPress-powered site.<br />
-						If you think you are registered but aren't sure, you can try logging in at <a href="http://wordpress.org/support/bb-login.php">WordPress.org/support</a>.<br />
-						If you don't have a WordPress.org username yet, you can <a href="http://wordpress.org/support/register.php">sign up for a free account</a>.
+						To contribute subtitles, you must be a registered user at the <a href="https://wordpress.org">WordPress.org</a> website. Note that this is the username you use to log in at WordPress.org, not the username you use to log in on your own WordPress-powered site.<br />
+						If you think you are registered but aren't sure, you can try logging in at <a href="https://login.wordpress.org/">login.WordPress.org</a>.<br />
+						If you don't have a WordPress.org username yet, you can <a href="https://login.wordpress.org/register">sign up for a free account</a>.
 					</td>
 				</tr>
 
diff --git wordpress.tv/public_html/wp-content/themes/wptvblog2/functions.php wordpress.tv/public_html/wp-content/themes/wptvblog2/functions.php
index 86001fb2a..0f0ef3626 100644
--- wordpress.tv/public_html/wp-content/themes/wptvblog2/functions.php
+++ wordpress.tv/public_html/wp-content/themes/wptvblog2/functions.php
@@ -43,7 +43,7 @@ wptv_require_parent( 'functions.php' );
 
 // Change $wptv->home_url to lead to WordPress.tv.
 add_filter( 'wptv_home_url', function( $home_url, $path = '' ) {
-	return esc_url( 'http://wordpress.tv' . $path );
+	return esc_url( 'https://wordpress.tv' . $path );
 }, 10, 2 );
 
 // Care to navigate?
diff --git wordpress.tv/public_html/wp-content/themes/wptvblog2/pagination.php wordpress.tv/public_html/wp-content/themes/wptvblog2/pagination.php
index 1b594276e..7357db723 100644
--- wordpress.tv/public_html/wp-content/themes/wptvblog2/pagination.php
+++ wordpress.tv/public_html/wp-content/themes/wptvblog2/pagination.php
@@ -5,11 +5,7 @@
  * @package WordPressTV_Blog
  */
 
-if ( $wp_query->max_num_pages > 1 ) :
-	?>
-	<div class="pagination">
-		<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'wptv' ) ); ?></div>
-		<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'wptv' ) ); ?></div>
-	</div>
-	<?php
-endif;
+the_posts_pagination( array(
+	'prev_text' => __( '<span class="meta-nav">&larr;</span> Newer posts', 'wptv' ),
+	'next_text' => __( 'Older posts <span class="meta-nav">&rarr;</span>', 'wptv' ),
+) );
diff --git wordpress.tv/public_html/wp-content/themes/wptvblog2/style.css wordpress.tv/public_html/wp-content/themes/wptvblog2/style.css
index f815e8e63..04887721a 100644
--- wordpress.tv/public_html/wp-content/themes/wptvblog2/style.css
+++ wordpress.tv/public_html/wp-content/themes/wptvblog2/style.css
@@ -1,10 +1,10 @@
 /*
 Theme Name: WordPress.tv Blog v2
-Theme URI: http://blog.wordpress.tv
+Theme URI: https://blog.wordpress.tv
 Description: WordPress.tv Blog v2 Theme
 Version: 2.0
 Author: Automattic
-Author URI: http://automattic.com/
+Author URI: https://automattic.com/
 */
 
 /* Elements */
