|  | @@ -49,196 +49,190 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  static void *tag(gpr_intptr t) { return (void *)t; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const char *hobbits[][2] = {
 | 
	
		
			
				|  |  | -  {"Adaldrida", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Adamanta", "Took"},
 | 
	
		
			
				|  |  | -  {"Adalgrim", "Took"},
 | 
	
		
			
				|  |  | -  {"Adelard", "Took"},
 | 
	
		
			
				|  |  | -  {"Amaranth", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Andwise", "Roper"},
 | 
	
		
			
				|  |  | -  {"Angelica", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Asphodel", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Balbo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Bandobras", "Took"},
 | 
	
		
			
				|  |  | -  {"Belba", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Bell", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Belladonna", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Berylla", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Bilbo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Bilbo", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Bill", "Butcher"},
 | 
	
		
			
				|  |  | -  {"Bingo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Bodo", "Proudfoot"},
 | 
	
		
			
				|  |  | -  {"Bowman", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Bungo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Camellia", "Sackville"},
 | 
	
		
			
				|  |  | -  {"Carl", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Celandine", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Chica", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Daddy", "Twofoot"},
 | 
	
		
			
				|  |  | -  {"Daisy", "Boffin"},
 | 
	
		
			
				|  |  | -  {"Diamond", "Took"},
 | 
	
		
			
				|  |  | -  {"Dinodas", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Doderic", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Dodinas", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Donnamira", "Boffin"},
 | 
	
		
			
				|  |  | -  {"Dora", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Drogo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Dudo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Eglantine", "Took"},
 | 
	
		
			
				|  |  | -  {"Elanor", "Fairbairn"},
 | 
	
		
			
				|  |  | -  {"Elfstan", "Fairbairn"},
 | 
	
		
			
				|  |  | -  {"Esmeralda", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Estella", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Everard", "Took"},
 | 
	
		
			
				|  |  | -  {"Falco", "Chubb-Baggins"},
 | 
	
		
			
				|  |  | -  {"Faramir", "Took"},
 | 
	
		
			
				|  |  | -  {"Farmer", "Maggot"},
 | 
	
		
			
				|  |  | -  {"Fastolph", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Ferdibrand", "Took"},
 | 
	
		
			
				|  |  | -  {"Ferdinand", "Took"},
 | 
	
		
			
				|  |  | -  {"Ferumbras", "Took"},
 | 
	
		
			
				|  |  | -  {"Ferumbras", "Took"},
 | 
	
		
			
				|  |  | -  {"Filibert", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Firiel", "Fairbairn"},
 | 
	
		
			
				|  |  | -  {"Flambard", "Took"},
 | 
	
		
			
				|  |  | -  {"Folco", "Boffin"},
 | 
	
		
			
				|  |  | -  {"Fortinbras", "Took"},
 | 
	
		
			
				|  |  | -  {"Fortinbras", "Took"},
 | 
	
		
			
				|  |  | -  {"Fosco", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Fredegar", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Frodo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Frodo", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Gerontius", "Took"},
 | 
	
		
			
				|  |  | -  {"Gilly", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Goldilocks", "Took"},
 | 
	
		
			
				|  |  | -  {"Gorbadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Gorbulas", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Gorhendad", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Gormadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Griffo", "Boffin"},
 | 
	
		
			
				|  |  | -  {"Halfast", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Halfred", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Halfred", "Greenhand"},
 | 
	
		
			
				|  |  | -  {"Hanna", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Hamfast", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Hamfast", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Hamson", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Harding", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Hilda", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Hildibrand", "Took"},
 | 
	
		
			
				|  |  | -  {"Hildifons", "Took"},
 | 
	
		
			
				|  |  | -  {"Hildigard", "Took"},
 | 
	
		
			
				|  |  | -  {"Hildigrim", "Took"},
 | 
	
		
			
				|  |  | -  {"Hob", "Gammidge"},
 | 
	
		
			
				|  |  | -  {"Hob", "Hayward"},
 | 
	
		
			
				|  |  | -  {"Hobson", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Holfast", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Holman", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Holman", "Greenhand"},
 | 
	
		
			
				|  |  | -  {"Hugo", "Boffin"},
 | 
	
		
			
				|  |  | -  {"Hugo", "Bracegirdle"},
 | 
	
		
			
				|  |  | -  {"Ilberic", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Isembard", "Took"},
 | 
	
		
			
				|  |  | -  {"Isembold", "Took"},
 | 
	
		
			
				|  |  | -  {"Isengar", "Took"},
 | 
	
		
			
				|  |  | -  {"Isengrim", "Took"},
 | 
	
		
			
				|  |  | -  {"Isengrim", "Took"},
 | 
	
		
			
				|  |  | -  {"Isumbras", "Took"},
 | 
	
		
			
				|  |  | -  {"Isumbras", "Took"},
 | 
	
		
			
				|  |  | -  {"Jolly", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Lalia", "Took"},
 | 
	
		
			
				|  |  | -  {"Largo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Laura", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Lily", "Goodbody"},
 | 
	
		
			
				|  |  | -  {"Lily", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Linda", "Proudfoot"},
 | 
	
		
			
				|  |  | -  {"Lobelia", "Sackville-Baggins"},
 | 
	
		
			
				|  |  | -  {"Longo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Lotho", "Sackville-Baggins"},
 | 
	
		
			
				|  |  | -  {"Madoc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Malva", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Marigold", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Marmadas", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Marmadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Marroc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"May", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Melilot", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Menegilda", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Mentha", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Meriadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Merimac", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Merimas", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Merry", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Milo", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Mimosa", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Minto", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Mirabella", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Moro", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Mosco", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Mungo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Myrtle", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Odo", "Proudfoot"},
 | 
	
		
			
				|  |  | -  {"Odovacar", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Olo", "Proudfoot"},
 | 
	
		
			
				|  |  | -  {"Orgulas", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Otho", "Sackville-Baggins"},
 | 
	
		
			
				|  |  | -  {"Paladin", "Took"},
 | 
	
		
			
				|  |  | -  {"Pansy", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Pearl", "Took"},
 | 
	
		
			
				|  |  | -  {"Peony", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Peregrin", "Took"},
 | 
	
		
			
				|  |  | -  {"Pervinca", "Took"},
 | 
	
		
			
				|  |  | -  {"Pimpernel", "Took"},
 | 
	
		
			
				|  |  | -  {"Pippin", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Polo", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Ponto", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Porto", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Posco", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Poppy", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Primrose", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Primula", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Prisca", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Reginard", "Took"},
 | 
	
		
			
				|  |  | -  {"Robin", "Smallburrow"},
 | 
	
		
			
				|  |  | -  {"Robin", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Rorimac", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Rosa", "Took"},
 | 
	
		
			
				|  |  | -  {"Rosamunda", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Rose", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Ruby", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Ruby", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Rudigar", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Rufus", "Burrows"},
 | 
	
		
			
				|  |  | -  {"Sadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Salvia", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Samwise", "Gamgee"},
 | 
	
		
			
				|  |  | -  {"Sancho", "Proudfoot"},
 | 
	
		
			
				|  |  | -  {"Saradas", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Saradoc", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Seredic", "Brandybuck"},
 | 
	
		
			
				|  |  | -  {"Sigismond", "Took"},
 | 
	
		
			
				|  |  | -  {"Smeagol", "Gollum"},
 | 
	
		
			
				|  |  | -  {"Tanta", "Baggins"},
 | 
	
		
			
				|  |  | -  {"Ted", "Sandyman"},
 | 
	
		
			
				|  |  | -  {"Tobold", "Hornblower"},
 | 
	
		
			
				|  |  | -  {"Togo", "Goodbody"},
 | 
	
		
			
				|  |  | -  {"Tolman", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Tolman", "Gardner"},
 | 
	
		
			
				|  |  | -  {"Widow", "Rumble"},
 | 
	
		
			
				|  |  | -  {"Wilcome", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Wilcome", "Cotton"},
 | 
	
		
			
				|  |  | -  {"Wilibald", "Bolger"},
 | 
	
		
			
				|  |  | -  {"Will", "Whitfoot"},
 | 
	
		
			
				|  |  | -  {"Wiseman", "Gamwich"}
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -const char *dragons[] = {
 | 
	
		
			
				|  |  | -  "Ancalagon",
 | 
	
		
			
				|  |  | -  "Glaurung",
 | 
	
		
			
				|  |  | -  "Scatha",
 | 
	
		
			
				|  |  | -  "Smaug the Magnificent"
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | +const char *hobbits[][2] = {{"Adaldrida", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Adamanta", "Took"},
 | 
	
		
			
				|  |  | +                            {"Adalgrim", "Took"},
 | 
	
		
			
				|  |  | +                            {"Adelard", "Took"},
 | 
	
		
			
				|  |  | +                            {"Amaranth", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Andwise", "Roper"},
 | 
	
		
			
				|  |  | +                            {"Angelica", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Asphodel", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Balbo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Bandobras", "Took"},
 | 
	
		
			
				|  |  | +                            {"Belba", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Bell", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Belladonna", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Berylla", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Bilbo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Bilbo", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Bill", "Butcher"},
 | 
	
		
			
				|  |  | +                            {"Bingo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Bodo", "Proudfoot"},
 | 
	
		
			
				|  |  | +                            {"Bowman", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Bungo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Camellia", "Sackville"},
 | 
	
		
			
				|  |  | +                            {"Carl", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Celandine", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Chica", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Daddy", "Twofoot"},
 | 
	
		
			
				|  |  | +                            {"Daisy", "Boffin"},
 | 
	
		
			
				|  |  | +                            {"Diamond", "Took"},
 | 
	
		
			
				|  |  | +                            {"Dinodas", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Doderic", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Dodinas", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Donnamira", "Boffin"},
 | 
	
		
			
				|  |  | +                            {"Dora", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Drogo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Dudo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Eglantine", "Took"},
 | 
	
		
			
				|  |  | +                            {"Elanor", "Fairbairn"},
 | 
	
		
			
				|  |  | +                            {"Elfstan", "Fairbairn"},
 | 
	
		
			
				|  |  | +                            {"Esmeralda", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Estella", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Everard", "Took"},
 | 
	
		
			
				|  |  | +                            {"Falco", "Chubb-Baggins"},
 | 
	
		
			
				|  |  | +                            {"Faramir", "Took"},
 | 
	
		
			
				|  |  | +                            {"Farmer", "Maggot"},
 | 
	
		
			
				|  |  | +                            {"Fastolph", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Ferdibrand", "Took"},
 | 
	
		
			
				|  |  | +                            {"Ferdinand", "Took"},
 | 
	
		
			
				|  |  | +                            {"Ferumbras", "Took"},
 | 
	
		
			
				|  |  | +                            {"Ferumbras", "Took"},
 | 
	
		
			
				|  |  | +                            {"Filibert", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Firiel", "Fairbairn"},
 | 
	
		
			
				|  |  | +                            {"Flambard", "Took"},
 | 
	
		
			
				|  |  | +                            {"Folco", "Boffin"},
 | 
	
		
			
				|  |  | +                            {"Fortinbras", "Took"},
 | 
	
		
			
				|  |  | +                            {"Fortinbras", "Took"},
 | 
	
		
			
				|  |  | +                            {"Fosco", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Fredegar", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Frodo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Frodo", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Gerontius", "Took"},
 | 
	
		
			
				|  |  | +                            {"Gilly", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Goldilocks", "Took"},
 | 
	
		
			
				|  |  | +                            {"Gorbadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Gorbulas", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Gorhendad", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Gormadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Griffo", "Boffin"},
 | 
	
		
			
				|  |  | +                            {"Halfast", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Halfred", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Halfred", "Greenhand"},
 | 
	
		
			
				|  |  | +                            {"Hanna", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Hamfast", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Hamfast", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Hamson", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Harding", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Hilda", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Hildibrand", "Took"},
 | 
	
		
			
				|  |  | +                            {"Hildifons", "Took"},
 | 
	
		
			
				|  |  | +                            {"Hildigard", "Took"},
 | 
	
		
			
				|  |  | +                            {"Hildigrim", "Took"},
 | 
	
		
			
				|  |  | +                            {"Hob", "Gammidge"},
 | 
	
		
			
				|  |  | +                            {"Hob", "Hayward"},
 | 
	
		
			
				|  |  | +                            {"Hobson", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Holfast", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Holman", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Holman", "Greenhand"},
 | 
	
		
			
				|  |  | +                            {"Hugo", "Boffin"},
 | 
	
		
			
				|  |  | +                            {"Hugo", "Bracegirdle"},
 | 
	
		
			
				|  |  | +                            {"Ilberic", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Isembard", "Took"},
 | 
	
		
			
				|  |  | +                            {"Isembold", "Took"},
 | 
	
		
			
				|  |  | +                            {"Isengar", "Took"},
 | 
	
		
			
				|  |  | +                            {"Isengrim", "Took"},
 | 
	
		
			
				|  |  | +                            {"Isengrim", "Took"},
 | 
	
		
			
				|  |  | +                            {"Isumbras", "Took"},
 | 
	
		
			
				|  |  | +                            {"Isumbras", "Took"},
 | 
	
		
			
				|  |  | +                            {"Jolly", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Lalia", "Took"},
 | 
	
		
			
				|  |  | +                            {"Largo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Laura", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Lily", "Goodbody"},
 | 
	
		
			
				|  |  | +                            {"Lily", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Linda", "Proudfoot"},
 | 
	
		
			
				|  |  | +                            {"Lobelia", "Sackville-Baggins"},
 | 
	
		
			
				|  |  | +                            {"Longo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Lotho", "Sackville-Baggins"},
 | 
	
		
			
				|  |  | +                            {"Madoc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Malva", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Marigold", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Marmadas", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Marmadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Marroc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"May", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Melilot", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Menegilda", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Mentha", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Meriadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Merimac", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Merimas", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Merry", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Milo", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Mimosa", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Minto", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Mirabella", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Moro", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Mosco", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Mungo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Myrtle", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Odo", "Proudfoot"},
 | 
	
		
			
				|  |  | +                            {"Odovacar", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Olo", "Proudfoot"},
 | 
	
		
			
				|  |  | +                            {"Orgulas", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Otho", "Sackville-Baggins"},
 | 
	
		
			
				|  |  | +                            {"Paladin", "Took"},
 | 
	
		
			
				|  |  | +                            {"Pansy", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Pearl", "Took"},
 | 
	
		
			
				|  |  | +                            {"Peony", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Peregrin", "Took"},
 | 
	
		
			
				|  |  | +                            {"Pervinca", "Took"},
 | 
	
		
			
				|  |  | +                            {"Pimpernel", "Took"},
 | 
	
		
			
				|  |  | +                            {"Pippin", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Polo", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Ponto", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Porto", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Posco", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Poppy", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Primrose", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Primula", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Prisca", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Reginard", "Took"},
 | 
	
		
			
				|  |  | +                            {"Robin", "Smallburrow"},
 | 
	
		
			
				|  |  | +                            {"Robin", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Rorimac", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Rosa", "Took"},
 | 
	
		
			
				|  |  | +                            {"Rosamunda", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Rose", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Ruby", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Ruby", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Rudigar", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Rufus", "Burrows"},
 | 
	
		
			
				|  |  | +                            {"Sadoc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Salvia", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Samwise", "Gamgee"},
 | 
	
		
			
				|  |  | +                            {"Sancho", "Proudfoot"},
 | 
	
		
			
				|  |  | +                            {"Saradas", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Saradoc", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Seredic", "Brandybuck"},
 | 
	
		
			
				|  |  | +                            {"Sigismond", "Took"},
 | 
	
		
			
				|  |  | +                            {"Smeagol", "Gollum"},
 | 
	
		
			
				|  |  | +                            {"Tanta", "Baggins"},
 | 
	
		
			
				|  |  | +                            {"Ted", "Sandyman"},
 | 
	
		
			
				|  |  | +                            {"Tobold", "Hornblower"},
 | 
	
		
			
				|  |  | +                            {"Togo", "Goodbody"},
 | 
	
		
			
				|  |  | +                            {"Tolman", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Tolman", "Gardner"},
 | 
	
		
			
				|  |  | +                            {"Widow", "Rumble"},
 | 
	
		
			
				|  |  | +                            {"Wilcome", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Wilcome", "Cotton"},
 | 
	
		
			
				|  |  | +                            {"Wilibald", "Bolger"},
 | 
	
		
			
				|  |  | +                            {"Will", "Whitfoot"},
 | 
	
		
			
				|  |  | +                            {"Wiseman", "Gamwich"}};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const char *dragons[] = {"Ancalagon", "Glaurung", "Scatha",
 | 
	
		
			
				|  |  | +                         "Smaug the Magnificent"};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config,
 | 
	
		
			
				|  |  |                                              const char *test_name,
 | 
	
	
		
			
				|  | @@ -406,7 +400,8 @@ static void simple_request_body(grpc_end2end_test_fixture f, size_t index) {
 | 
	
		
			
				|  |  |    cq_verifier_destroy(cqv);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -static void test_size(grpc_end2end_test_config config, int encode_size, int decode_size) {
 | 
	
		
			
				|  |  | +static void test_size(grpc_end2end_test_config config, int encode_size,
 | 
	
		
			
				|  |  | +                      int decode_size) {
 | 
	
		
			
				|  |  |    size_t i;
 | 
	
		
			
				|  |  |    grpc_end2end_test_fixture f;
 | 
	
		
			
				|  |  |    grpc_arg server_arg;
 | 
	
	
		
			
				|  | @@ -428,7 +423,8 @@ static void test_size(grpc_end2end_test_config config, int encode_size, int deco
 | 
	
		
			
				|  |  |    client_args.args = &client_arg;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    gpr_asprintf(&name, "test_size:e=%d:d=%d", encode_size, decode_size);
 | 
	
		
			
				|  |  | -  f = begin_test(config, name, encode_size != 4096 ? &client_args : NULL, decode_size != 4096 ? &server_args : NULL);
 | 
	
		
			
				|  |  | +  f = begin_test(config, name, encode_size != 4096 ? &client_args : NULL,
 | 
	
		
			
				|  |  | +                 decode_size != 4096 ? &server_args : NULL);
 | 
	
		
			
				|  |  |    for (i = 0; i < 4 * GPR_ARRAY_SIZE(hobbits); i++) {
 | 
	
		
			
				|  |  |      simple_request_body(f, i);
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -439,24 +435,9 @@ static void test_size(grpc_end2end_test_config config, int encode_size, int deco
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void grpc_end2end_tests(grpc_end2end_test_config config) {
 | 
	
		
			
				|  |  |    static const int interesting_sizes[] = {
 | 
	
		
			
				|  |  | -    4096,
 | 
	
		
			
				|  |  | -    0,
 | 
	
		
			
				|  |  | -    1,
 | 
	
		
			
				|  |  | -    32,
 | 
	
		
			
				|  |  | -    100,
 | 
	
		
			
				|  |  | -    1000,
 | 
	
		
			
				|  |  | -    4095,
 | 
	
		
			
				|  |  | -    4097,
 | 
	
		
			
				|  |  | -    8192,
 | 
	
		
			
				|  |  | -    16384,
 | 
	
		
			
				|  |  | -    32768,
 | 
	
		
			
				|  |  | -    1024*1024-1,
 | 
	
		
			
				|  |  | -    1024*1024,
 | 
	
		
			
				|  |  | -    1024*1024+1,
 | 
	
		
			
				|  |  | -    2*1024*1024,
 | 
	
		
			
				|  |  | -    3*1024*1024,
 | 
	
		
			
				|  |  | -    4*1024*1024
 | 
	
		
			
				|  |  | -  };
 | 
	
		
			
				|  |  | +      4096, 0, 1, 32, 100, 1000, 4095, 4097, 8192, 16384, 32768,
 | 
	
		
			
				|  |  | +      1024 * 1024 - 1, 1024 * 1024, 1024 * 1024 + 1, 2 * 1024 * 1024,
 | 
	
		
			
				|  |  | +      3 * 1024 * 1024, 4 * 1024 * 1024};
 | 
	
		
			
				|  |  |    size_t i, j;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    for (i = 0; i < GPR_ARRAY_SIZE(interesting_sizes); i++) {
 |