From 491af71329dac3b409023a602fdb2274245ba8a8 Mon Sep 17 00:00:00 2001 From: Matthieu Lalonde Date: Sun, 4 Nov 2012 21:12:28 +0000 Subject: [PATCH] Initial import --- core/stanza_router.lua | 218 + etc/names/adjectives.list | 1466 ++++ etc/names/animals.list | 724 ++ etc/names/colors.list | 397 + etc/names/locations.list | 16298 ++++++++++++++++++++++++++++++++++++ etc/prosody.cfg.lua | 89 + modules/mod_auth_anon.lua | 704 ++ modules/mod_iq.lua | 78 + util/datamanager.lua | 228 + util/stanza.lua | 433 + 10 files changed, 20635 insertions(+) create mode 100644 core/stanza_router.lua create mode 100644 etc/names/adjectives.list create mode 100644 etc/names/animals.list create mode 100644 etc/names/colors.list create mode 100644 etc/names/locations.list create mode 100644 etc/prosody.cfg.lua create mode 100644 modules/mod_auth_anon.lua create mode 100644 modules/mod_iq.lua create mode 100644 util/datamanager.lua create mode 100644 util/stanza.lua diff --git a/core/stanza_router.lua b/core/stanza_router.lua new file mode 100644 index 0000000..7a95eaa --- /dev/null +++ b/core/stanza_router.lua @@ -0,0 +1,218 @@ +-- Prosody IM +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain +-- +-- This project is MIT/X11 licensed. Please see the +-- COPYING file in the source package for more information. +-- + +local log = require "util.logger".init("stanzarouter") + +local hosts = _G.prosody.hosts; +local tostring = tostring; +local st = require "util.stanza"; +local send_s2s = require "core.s2smanager".send_to_host; +local jid_split = require "util.jid".split; +local jid_prepped_split = require "util.jid".prepped_split; + +local full_sessions = _G.prosody.full_sessions; +local bare_sessions = _G.prosody.bare_sessions; + +local function handle_unhandled_stanza(host, origin, stanza) + local name, xmlns, origin_type = stanza.name, stanza.attr.xmlns or "jabber:client", origin.type; + if name == "iq" and xmlns == "jabber:client" then + if stanza.attr.type == "get" or stanza.attr.type == "set" then + xmlns = stanza.tags[1].attr.xmlns or "jabber:client"; + log("debug", "Stanza of type %s from %s has xmlns: %s", name, origin_type, xmlns); + else + log("debug", "Discarding %s from %s of type: %s", name, origin_type, stanza.attr.type); + return true; + end + end + if stanza.attr.xmlns == nil then + log("debug", "Unhandled %s stanza: %s; xmlns=%s", origin.type, stanza.name, xmlns); -- we didn't handle it + if stanza.attr.type ~= "error" and stanza.attr.type ~= "result" then + origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); + end + elseif not((name == "features" or name == "error") and xmlns == "http://etherx.jabber.org/streams") then -- FIXME remove check once we handle S2S features + log("warn", "Unhandled %s stream element: %s; xmlns=%s: %s", origin.type, stanza.name, xmlns, tostring(stanza)); -- we didn't handle it + origin:close("unsupported-stanza-type"); + end +end + +local iq_types = { set=true, get=true, result=true, error=true }; +function core_process_stanza(origin, stanza) + if stanza.attr and stanza.attr["xml:lang"] then + stanza.attr["xml:lang"] = nil; + end + + (origin.log or log)("debug", "Received[%s]: %s", origin.type, stanza:top_tag()) + + -- TODO verify validity of stanza (as well as JID validity) + if stanza.attr.type == "error" and #stanza.tags == 0 then return; end -- TODO invalid stanza, log + if stanza.name == "iq" then + if not stanza.attr.id then stanza.attr.id = ""; end -- COMPAT Jabiru doesn't send the id attribute on roster requests + if not iq_types[stanza.attr.type] or ((stanza.attr.type == "set" or stanza.attr.type == "get") and (#stanza.tags ~= 1)) then + origin.send(st.error_reply(stanza, "modify", "bad-request", "Invalid IQ type or incorrect number of children")); + return; + end + end + + if origin.type == "c2s" and not stanza.attr.xmlns then + if not origin.full_jid + and not(stanza.name == "iq" and stanza.attr.type == "set" and stanza.tags[1] and stanza.tags[1].name == "bind" + and stanza.tags[1].attr.xmlns == "urn:ietf:params:xml:ns:xmpp-bind") then + -- authenticated client isn't bound and current stanza is not a bind request + if stanza.attr.type ~= "result" and stanza.attr.type ~= "error" then + origin.send(st.error_reply(stanza, "auth", "not-authorized")); -- FIXME maybe allow stanzas to account or server + end + return; + end + + -- TODO also, stanzas should be returned to their original state before the function ends + stanza.attr.from = origin.full_jid; + end + local to, xmlns = stanza.attr.to, stanza.attr.xmlns; + local from = stanza.attr.from; + local node, host, resource; + local from_node, from_host, from_resource; + local to_bare, from_bare; + if to then + if full_sessions[to] or bare_sessions[to] or hosts[to] then + node, host = jid_split(to); -- TODO only the host is needed, optimize + else + node, host, resource = jid_prepped_split(to); + if not host then + log("warn", "Received stanza with invalid destination JID: %s", to); + if stanza.attr.type ~= "error" and stanza.attr.type ~= "result" then + origin.send(st.error_reply(stanza, "modify", "jid-malformed", "The destination address is invalid: "..to)); + end + return; + end + to_bare = node and (node.."@"..host) or host; -- bare JID + if resource then to = to_bare.."/"..resource; else to = to_bare; end + stanza.attr.to = to; + end + end + if from and not origin.full_jid then + -- We only stamp the 'from' on c2s stanzas, so we still need to check validity + from_node, from_host, from_resource = jid_prepped_split(from); + if not from_host then + log("warn", "Received stanza with invalid source JID: %s", from); + if stanza.attr.type ~= "error" and stanza.attr.type ~= "result" then + origin.send(st.error_reply(stanza, "modify", "jid-malformed", "The source address is invalid: "..from)); + end + return; + end + from_bare = from_node and (from_node.."@"..from_host) or from_host; -- bare JID + if from_resource then from = from_bare.."/"..from_resource; else from = from_bare; end + stanza.attr.from = from; + end + + --[[if to and not(hosts[to]) and not(hosts[to_bare]) and (hosts[host] and hosts[host].type ~= "local") then -- not for us? + log("warn", "stanza recieved for a non-local server"); + return; -- FIXME what should we do here? + end]] -- FIXME + + if (origin.type == "s2sin" or origin.type == "c2s" or origin.type == "component") and xmlns == nil then + if origin.type == "s2sin" and not origin.dummy then + local host_status = origin.hosts[from_host]; + if not host_status or not host_status.authed then -- remote server trying to impersonate some other server? + log("warn", "Received a stanza claiming to be from %s, over a stream authed for %s!", from_host, origin.from_host); + return; -- FIXME what should we do here? does this work with subdomains? + end + end + core_post_stanza(origin, stanza, origin.full_jid); + else + local h = hosts[stanza.attr.to or origin.host or origin.to_host]; + if h then + local event; + if xmlns == nil then + if stanza.name == "iq" and (stanza.attr.type == "set" or stanza.attr.type == "get") then + event = "stanza/iq/"..stanza.tags[1].attr.xmlns..":"..stanza.tags[1].name; + else + event = "stanza/"..stanza.name; + end + else + event = "stanza/"..xmlns..":"..stanza.name; + end + if h.events.fire_event(event, {origin = origin, stanza = stanza}) then return; end + end + if host and not hosts[host] then host = nil; end -- COMPAT: workaround for a Pidgin bug which sets 'to' to the SRV result + handle_unhandled_stanza(host or origin.host or origin.to_host, origin, stanza); + end +end + +function core_post_stanza(origin, stanza, preevents) + local to = stanza.attr.to; + local node, host, resource = jid_split(to); + local to_bare = node and (node.."@"..host) or host; -- bare JID + + local to_type, to_self; + if node then + if resource then + to_type = '/full'; + else + to_type = '/bare'; + if node == origin.username and host == origin.host then + stanza.attr.to = nil; + to_self = true; + end + end + else + if host then + to_type = '/host'; + else + to_type = '/bare'; + to_self = true; + end + end + + local event_data = {origin=origin, stanza=stanza}; + if preevents then -- c2s connection + if hosts[origin.host].events.fire_event('pre-'..stanza.name..to_type, event_data) then return; end -- do preprocessing + end + local h = hosts[to_bare] or hosts[host or origin.host]; + if h then + if h.events.fire_event(stanza.name..to_type, event_data) then return; end -- do processing + if to_self and h.events.fire_event(stanza.name..'/self', event_data) then return; end -- do processing + handle_unhandled_stanza(h.host, origin, stanza); + else + core_route_stanza(origin, stanza); + end +end + +function core_route_stanza(origin, stanza) + local node, host, resource = jid_split(stanza.attr.to); + local from_node, from_host, from_resource = jid_split(stanza.attr.from); + + -- Auto-detect origin if not specified + origin = origin or hosts[from_host]; + if not origin then return false; end + + if hosts[host] then + -- old stanza routing code removed + core_post_stanza(origin, stanza); + elseif origin.type == "c2s" then + -- Remote host + if not hosts[from_host] then + log("error", "No hosts[from_host] (please report): %s", tostring(stanza)); + end + if (not hosts[from_host]) or (not hosts[from_host].disallow_s2s) then + local xmlns = stanza.attr.xmlns; + --stanza.attr.xmlns = "jabber:server"; + stanza.attr.xmlns = nil; + log("debug", "sending s2s stanza: %s", tostring(stanza.top_tag and stanza:top_tag()) or stanza); + send_s2s(origin.host, host, stanza); -- TODO handle remote routing errors + stanza.attr.xmlns = xmlns; -- reset + else + core_route_stanza(hosts[from_host], st.error_reply(stanza, "cancel", "not-allowed", "Communication with remote servers is not allowed")); + end + elseif origin.type == "component" or origin.type == "local" then + -- Route via s2s for components and modules + log("debug", "Routing outgoing stanza for %s to %s", from_host, host); + send_s2s(from_host, host, stanza); + else + log("warn", "received %s stanza from unhandled connection type: %s", tostring(stanza.name), tostring(origin.type)); + end +end diff --git a/etc/names/adjectives.list b/etc/names/adjectives.list new file mode 100644 index 0000000..3b4d645 --- /dev/null +++ b/etc/names/adjectives.list @@ -0,0 +1,1466 @@ +ready +zealous +adequate +musical +supposed +dull +immense +electronic +economic +strange +australian +top +managerial +sweet +ultimate +partial +flying +lovely +tough +light +low +semantic +difficult +jealous +unaware +supporting +ordinary +variable +joint +severe +constitutional +tense +sparkling +broken +misleading +steep +friendly +late +secret +mental +cool +scornful +lengthy +federal +silly +holy +vivid +soft +relieved +ugly +perfect +creative +characteristic +magic +constant +unusual +able +anxious +terrible +steady +passing +additional +stupid +invisible +upper +separate +frail +wild +hurt +rotten +round +historic +conscious +legislative +wet +cognitive +logical +latin +dutch +insufficient +encouraging +evident +shrill +overwhelming +dirty +reluctant +nice +creepy +superb +loyal +splendid +swiss +christian +living +bold +electric +filthy +radical +modest +concrete +young +grateful +equivalent +willing +rubber +increased +existing +uptight +foreign +sunny +quick +worthy +faithful +gross +defeated +purple +icy +crazy +defiant +endless +organic +final +genuine +subjective +medical +cheap +manual +detailed +creepy +powerful +sad +strange +lovely +subtle +excessive +tall +roasted +boiling +classic +external +high-pitched +funny +ugly +unconscious +straight +inadequate +equal +prior +damp +broad +silly +worried +eldest +few +formal +unhappy +common +excited +unchanged +casual +opposite +innovative +intimate +potential +low +cautious +developing +outrageous +independent +excess +comfortable +perfect +ripe +evolutionary +fortunate +controlled +developed +probable +inevitable +sweet +urban + good +instant +isolated +different +fine +melodic +suspicious +rapid +asleep +interested +homeless +private +united +psychological +embarrassing +silly +well +strict +misty +residential +bloody +beneficial +nice +red +evil +parental +heavy +unexpected +genetic +glad +conceptual +neat +romantic +initial +internal +psychiatric +regulatory +short +angry +proud +feminist +retired +vocational +angry +mixed +turkish +doubtful +weak +shaggy +alert +better +level +immense +golden +corporate +brainy +visual +confident +liquid +numerous +charming +palestinian +stiff +spontaneous +unpleasant +decisive +neutral +sad +industrial +effective +annual +roman +unfortunate +front +substantial +very +incredible +coming +cautious +dreadful +smart +successful +zany +working-class +injured +gigantic +coherent +friendly +alright +pretty +chubby +distinctive +eager +primary +dizzy +controversial +condemned +physical +surprised +likely +gleaming +complicated +odd +artistic +compulsory +particular +hollow +cool +plastic +necessary +annoyed +bare +written +growing +brave +poor +geographical +big +so-called +competent +spiritual +fresh +little +sexual +intermediate +dirty +above +moderate +alone +surviving +ancient +formidable +smooth +stale +hungry +intact +required +difficult +happy +complete +quiet +Sound +gradual +registered +flexible +devoted +honest +dramatic +bored +combative +middle +proposed +shocked +southern +distinct +extreme +present +clear +similar +bottom +metropolitan +native +distant +long-term +drab +financial +appropriate +protestant +straightforward +frozen +tan +everyday +associated +shy +afraid +delightful +soft +narrow +progressive +extensive +cruel +illegal +classical +fucking +various +limited +absent +general +mighty +important +western +random +immediate +bright +brief +high +slimy +big +square +back +principal +russian +favourable +monetary +important +blushing +irrelevant +courageous +tall +sole +net +senior +great +colourful +curved +black +comfortable +minor +shared +handsome +premier +horizontal +multiple +cheerful +fat +ashamed +motionless +mute +applicable +legal +satisfactory +corresponding +pleasant +uniform +intense +static +asian +usual +irish +screeching +prepared +convinced +due +shiny +productive +lexical +civil +mid +faithful +beautiful +cloudy +itchy +revolutionary +magnetic +conservation +empty +voiceless +lucky +loose +dull +successful +stable +dying +strange +depressed +hard +miniature +eastern +helpful +ambitious +eventual +large-scale +deafening +skilled +silky +military +driving +painful +yellow +jewish +crazy +thick +prominent +grotesque +deep +planned +crooked +real +colossal +ill +binding +spectacular +magnificent +gastric +defensive +massive +helpful +british +cold +salty +oral +inner +eerie +specified +mysterious +curious +deaf +enchanting +moral +broken +loud +relaxed +crude +calm +yummy +strong +nasty +quiet +early +explicit +joyous +breakable +nuclear +crazy +scary +glorious +wrong +operational +excellent +bloody +autonomous +disabled +upset +regional +dusty +average +abstract +weird +then +wise +charming +attractive +full +intelligent +alive +eligible +distinct +pleased +clumsy +tall +fit +hilarious +magenta +entitled +pure +scrawny +naughty +empty +superior +bad +overall +statutory +dangerous +temporary +mild +bitter +sticky +valuable +lucky +pregnant +odd +remaining +huge +funny +outstanding +sorry +convincing +arab +exuberant +busy +steep +subsequent +direct +compatible +unnecessary +fluffy +islamic +spanish +uninterested +hot +vivacious +open +handicapped +exact +rolling +wild +suitable +skinny +estimated +experimental +green +visible +mysterious +many +vital +disciplinary +plain +square +crucial +imperial +advanced +changing +consistent +evil +amused +selected +maximum +positive +aesthetic +intellectual +complex +dull +resonant +fantastic +miserable +small +jolly +fellow +innocent +occupational +rising +helpful +awkward +worried +little +harsh +wonderful +blind +burning +awful +short-term +marxist +official +main +cuddly +spicy +silent +fresh +chinese +rational +major +given +upset +northern +civic +thoughtless +persistent +convenient +peculiar +unfair +gigantic +select +responsible +relevant +cold +liberal +slow +indirect +japanese +criminal +wonderful +aware +decent +average +pale +noisy +grim +realistic +catholic +welsh +unique +respectable +familiar +fair +competitive +dangerous +marvellous +dry +brief +extraordinary +diplomatic +raspy +spotty +imaginative +new +conventional +nervous +famous +grand +specific +ashamed +iraqi +calm +nutty +jittery +vulnerable +eager +judicial +useful +slight +interim +wandering +sour +capitalist +rare +lonely +homely +male +glamorous +tight +nasty +remarkable +great +circular +integrated +smooth +dead +clinical +deliberate +slow +spatial +profound +straight +retail +comparative +many +public +lively +nosy +still +gay +rich +continental +sensitive +mature +standard +obliged +key +organisational +widespread +mighty +homeless +amateur +underlying +definite +academic +ruling +rival +renewed +alternative +improved +continued +acceptable +noble +graceful +disgusted +voluntary +civilian +drunk +fierce +related +blue +administrative +shivering +structural +small +fat +unknown +boring +frequent +colonial +clean +stingy +powerful +central +frightened +keen +tremendous +social +architectural +english +secure +deep +naval +tasteless +desirable +loose +safe +faint +involved +inland +old +breezy +quiet +hot +determined +implicit +strong +witty +fat +massive +systematic +preferred +payable +reliable +warm +pleasant +unsightly +divine +vague +old-fashioned +short +inclined +underground +afraid +jolly +wrong +permanent +environmental +ideological +cheerful +contemporary +aggregate +marine +total +territorial +combined +entire +whole +shallow +nervous +sufficient +flat +exceptional +educational +simple +numerous +digital +foolish +violent +awake +protective +nursing +husky +continuing +accurate +comparable +broad +famous +head +round +whispering +clever +impressive +traditional +repulsive +panicky +working +known +satisfied +peaceful +unemployed +hissing +kind +agreed +recent +tight +thoughtful +armed +prospective +forthcoming +political +unusual +allied +costly +arbitrary +confidential +tricky +new +impressed +fatal +kind +happy +damp +german +original +personal +proper +thirsty +lesser +delicious +innocent +varied +squealing +quick +communist +available +married +green +agricultural +relieved +olympic +filthy +literary +sudden +intensive +mere +just +grumpy +prickly +qualified +representative +shaky +continuous +balanced +bizarre +normal +accepted +negative +rainy +delicate +hon +appalling +disappointed +assistant +determined +apparent +active +mobile +zany +conservative +wooden +notable +raw +bad + adorable +polish +abundant +faint +sharp +ministerial +precious +accused +objective +italian +easy +mechanical +giant +testy +medieval +quaint +inc +naked +robust +stupid +outstanding +acute +human +elegant +valid +healthy +rigid +moaning +precise +confused +horrible +mutual +varying +emotional +accessible +stuck +past +cultural +surprising +easy +polite +ratty +popular +solid +great +greek +exotic +anonymous +weak +coloured +cooing +grubby +sure +unlikely +left +helpless +critical +scattered +spotless +delighted +weary +sensible +mad +successive +tame +advisory +ok +large +narrow +increasing +tasty +high +royal +free +electrical +like +other +scottish +favourite +selective +fancy +actual +firm +mean +envious +dynamic +fun +practical +guilty +quaint +weekly +glorious +nineteenth-century +visiting +gothic +significant +flaky +ugly +minimum +closed +delightful +regular +live +tender +aggressive +promising +alleged +chief +magnificent +striking +sharp +redundant +real +splendid +pink +dear +smoggy +desperate +french +special +automatic +running +expected +governing +unable +statistical +dominant +lost +generous +curious +wonderful +atomic +super +elated +slippery +light +damaged +red +future +chilly +troubled +sporting +vertical +clever +part-time +right +chosen +dark +fine +disturbing +lonely +soft +petite +fantastic +puny +excited +provincial +printed +foolish +possible +welcome +philosophical +gorgeous +european +institutional +smiling +molecular +impossible +outside +proud +sticky +delicious +helpless +reduced +wet +uncertain +juicy +inappropriate +extended +elderly +tough +international +rapid +african +useless +wide-eyed +enormous +funny +wet +american +puzzled +single +careful +colorful +lively +worthwhile +rude +surrounding +wide +supreme +local +verbal +steady +linear +tame +worrying +ill +electoral +tiny +prime +precious +exciting +fashionable +monthly +ordinary +coastal +slim +biological +awful +inherent +minimal +selfish +long +rear +functional +hidden +sacred +distinguished +chemical +sick +light +depressed +happy +well-known +solar +strategic +disturbed +outer +big +thundering +parallel +healthy +fond +mathematical +hard +unacceptable +overseas +close +basic +arrogant +hostile +leading +far +brown +theoretical +ideal +hushed +bad +wealthy +cute +ltd +dark +sheer +sore +double +symbolic +encouraging +amazing +scientific +fragile +blonde +dual +profitable +labour +spare +toxic +bewildered +collective +bitter +uneven +urgent +comprehensive +thin +secondary +fundamental +fluttering +inquisitive +individual +domestic +dead +post-war +frantic +efficient +israeli +crowded +established +cooperative +rough +crooked +previous +rich +solid +relative +vast +empirical +exclusive +extra +brilliant +friendly +obvious +obnoxious +adjacent +content +capable +beautiful +loud +clean +resident +anxious +heavy +agreeable +early +mass +fuzzy +reasonable +wide +thorough +wooden +embarrassed +artificial +elaborate +mammoth +only +technical +racial +natural +fair +ridiculous +tender +liable +tart +shallow +used +harsh +absolute +middle-class +respective +scary +grey +sleepy +poised +current +wee +optimistic +grieving +sympathetic +round +dependent +wicked +concerned +good +enthusiastic +correct +beautiful +worldwide +missing +serious +nutritious +disastrous +alive +essential +yellow +blank +compact +national +teenage +wicked +muddy +gentle +modern +fast +watery +frightened +fiscal +scared +energetic +meaningful +causal +global +tender +diverse +super +brave +puzzled +confused +indian +adverse +patient +novel +fierce +purring +junior +young +long +curly +rainy +sound +quick +hungry +primitive +informal +victorious +elegant +white +wasteful +late +bumpy +legitimate +commercial +tory +modern +melted +fast +embarrassed +managing +expensive +integral +handsome +victorian +ancient +black +large +linguistic +professional +plain +rough +enthusiastic +tropical +obedient +outdoor +added +resulting +certain +mushy +influential +fixed +tragic +okay +swift +purple +bright +horrible +experienced +korean +bored +historical + impossible +long +striped +flat +orthodox +technological +busy +modern +interesting +considerable +typical +lazy +chronic +old-fashioned +presidential +open +different +careful +silent +short +sophisticated +uncomfortable +vast +universal +concerned +remote +religious +dry +terrible +interior +identical +giant +ugliest +democratic +old +bright +orange +female +rural +tired +marginal +ethnic +gentle +passive +canadian +marked +soviet +kind +prickly +fascinating +nearby +full-time +ethical +rare +video-taped +greasy +forward +socialist +doubtful +parliamentary +stormy +tiny +short +orange +occasional +clear +quickest +daily +blue +following +furious +pretty +near +noisy +cruel +unwilling +poor +long +average +shy +huge +preliminary +tired +neighbouring diff --git a/etc/names/animals.list b/etc/names/animals.list new file mode 100644 index 0000000..1f6f15c --- /dev/null +++ b/etc/names/animals.list @@ -0,0 +1,724 @@ +Hahn +tamarao +Vogel +flamefish +buffalo +Schakal +Tintenfisch +Schwan +javelina +blacktail +cottontail +maiger +sphingid +Wurm +capibara +sciara +sheepdog +Holstein +malemute +guib +Kanguru +vetchworm +Neandertal +reedbird +Kuh +angler +nutria +jewfish +bonnethead +chrysopid +mirid +Pfeffer +deathwatch +langouste +Hengst +gar +unau +Ameise +Giraffe +Kopfsalat +pig +pekan +ounce +Orang-Utang +dory +dunlin +Fink +surmullet +Wiesel +Geier +pipistrel +Ungeziefer +Hundin +aurochs +tsetse +cockatiel +dogy +Wiese +Schlange +mollusc +sika +Lipizzan +scarabaeid +pond-skater +Lowin +Kaulquappe +trematode +branchiopod +dayfly +Wal +babiroussa +takahe +Kodiak +camelopard +Gans +sailor's-choice +Eisbar +brittle-star +caracul +mound-bird +merlin +man-of-war +surffish +Kafer +grindle +muttonfish +allice +deathwatch +rockchuck +blackfish +blacksnake +hawksbill +purebred +urochordate +conceptus +snakefish +raptor +dipteran +panda +Krahe +chum +Lamm +tomtit +splitworm +slowworm +Qualle +Ganserich +hippo +coati-mondi +mocker +lobefin +lammergeier +Habicht +queenfish +warrigal +thread-fish +snapper +thick-knee +polliwog +madrepore +doggie +suckerfish +Keks +grackle +hogget +Fisch +doctor-fish +tichodrome +jabiru +Pelikan +blackcap +gallfly +cabassous +punky +teleost +redhead +narwal +chetah +Truthahn +Jaguar +sprat +Pferd +Schokolade +bearcat +horsefly +whistler +budgereegah +cimarron +chigger +mavis +tortrix +killer +ai +moufflon +Schlange +seasnail +hadrosaurus +Schabe +rinkhals +Leopard +Pinguin +redwing +chimp +trichopteran +cohoe +Karotte +redbreast +sheep-tick +Ente +mongrel +piggy +Sau +Fliege +stint +partridge +dolphin +tropicbird +koodoo +bonobo +Wolf +mudcat +pork-fish +Gans +jenny +butterball +Eule +Rentier +hoactzin +potto +polychete +springbuck +doggie +mademoiselle +dromedary +Schaf +pufferfish +turaco +perissodactyl +Schnecke +chalcidfly +Tiger +markhoor +surmullet +tatou +gobbler +seriema +nemertean +Gemuse +malemute +Rube +steamer +hanuman +scollop +Paprika +hemerobiid +Wurst +mongrel +gemsbuck +greyback +Schwein +rudderfish +kildeer +seagull +bandtail +rattail +tortoiseshell-cat +anteater +sandhopper +Giraffe +Hamster +saurel +Ziege +dickey-bird +Krauter +Hummer +Insekt +whooper +heathfowl +Rennmaus +Papagei +bottlenose +man +hackee +Geback +pintado +urus +chenfish +gooney +angelfish +tarantula +Thunfisch +thrip +emmet +eelpout +merl +Milch +unau +walrus +Murmeltier +Schaf +Vieh +Kastanie +Fasan +Ananas +petchary +poyou +Rotkehlchen +duckbill +musquash +Lowe +panda +graylag +seahorse +kitty-cat +rasher +Heuschrecke +megatheriid +whidah +elk +milcher +ferret +peewee +kestrel +Hyane +ringdove +Hai +pudding-wife +Pekingese +sprat +Wolf +Reh +Bohne +cheewink +Kren +Garnele +Stinktier +poriferan +peewit +swift +skipjack +Klapperschlange +thysanopteron +toad +button-quail +cob +Pfirsich +Zwiebel +gopher +soupfin +angleworm +pacemaker +heathfowl +moose +Saft +Heuschrecker +striper +gallfly +redstart +nautilus +kinkajou +partridge +grayback +leaf-cutter +jabiru +lepidopteron +panther +apatosaurus +goldfinch +adjutant +whistler +pelecypod +Kolibri +tamandu +Strauss +Stachelschwein +sewellel +serpent +fitch +pen-tail +Katzchen +torsk +man-eater +Stier +Senf +horsefish +scincid +cacomistle +cows +iguana +pye-dog +flycatcher +Butter +canecutter +seriema +dobsonfly +Brahma +Nilpferd +elater +bullbat +Pampelmuse +argal +ladybeetle +Bock +pollock +barnacle +medfly +sandfish +Spinne +elk +steinbok +Banane +platyrrhine +noctuid +inchworm +archeopteryx +Nashorn +prongbuck +baranduki +Birne +peckerwood +allice +stiltbird +nightjar +broadbill +Specht +puma +jaguarondi +blackfish +Heuschrecke +Spargel +stock +pye-dog +Kirsche +mithan +lug +sunfish +sambur +Johannisbeere +gerfalcon +pinniped +crotonbug +Katze +nandu +Kase +moorfowl +donkey +longicorn +psylla +dotrel +Kreichwacholder +scrub-bird +taira +ribbonfish +cochineal +pirana +woodchuck +Igel +butterfish +oldwench +caddis-fly +Eichhornchen +Grille +Panda +reindeer +bloodsucker +blackbeetle +shiner +medusoid +mynah +tyrannosaurus +shoebird +Hase +andrenid +coon +Honigbiene +homoiotherm +kitty-cat +Knoblauch +convictfish +Gorilla +polecat +potamogale +Hornisse +pasang +chinchillon +cerastes +tamanoir +Hund +Seeschwalbe +surffish +titlark +artiodactyl +muttonfish +bug +duckbill +Ziege +devilfish +souslik +hornpout +Taube +Kiefer +Hahn +Ochs +Blaubeere +Kabeljau +angelfish +sea-ear +silvertip +Huhn +cigarfish +Kartoffel +Hahnchen +Otter +hangbird +sheepdog +oldwife +saurel +lintwhite +Meerschweinchen +Limone +sparrow +millepede +Lowe +indris +crab +orthopteron +redfish +cootie +snowbird +Hirsch +Kaninchen +Brot +Tiger +Waschbar +boar +anteater +Esel +fowl +capercailzie +sprigtail +Walross +Stachelrochen +Nussbaum +Mowe +Leu +coney +actinian +Falke +Hai +Ratte +grayhen +crampfish +stumpknocker +leatherback +silversides +hausen +nylghai +Robbe +tortoiseshell-cat +Forelle +jaybird +anhinga +Speck +nanny-goat +hymenopteran +capercailzie +Sahne +bruin +sandfly +Salamander +hogfish +Himbeere +Floh +catamountain +dachsie +Wachtel +mayfish +anole +antlion +ridgling +Huhnchen +Taube +Moosbeere +billfish +goggle-eye +chum +cachalot +Schildkrote +bushbaby +redbelly +Zitrone +Strauss +ridgling +Schildkrote +Rude +ghostfish +chigger +whitethroat +parrakeet +bilby +moonfish +brent +Aue +hag +harlequin-snake +wreckfish +neuropteran +cirriped +Fohlen +ricebird +symphilid +Eis +elaphure +bergall +cottonmouth +banting +Pekingese +Schweinswal +Angus +pichiciego +crawfish +Kohlrabi +orang +opossum +Tomate +Luchs +tercel +Puma +Lowenzahn +gopher +Henne +arui +Eibe +beluga +capiz +Panther +sawbill +Eidechse +sheatfish +Rabe +Apfelsine +erne +Eiche +bladdernose +Amsel +carcajou +Pferd +Rebhuhn +Koala +walkingstick +percoid +baldpate +topi +tinker +daw +mustelid +guinea +Walnuss +tortrix +humanity +Reiher +guacharo +dachsie +Kiwi +whitetail +sardine +Geier +helleri +tusseh +Henne +tenpounder +Zebra +wreckfish +polyzoan +Seelowe +Wespe +Gottesanbeterin +oyster-fish +Echse +grayhen +Fuchs +leipoa +jacksnipe +Ochse +whitethroat +roughleg +flinthead +Marienkafer +sprigtail +Kater +Mowe +bluebill +garfish +stegosaurus +Erdnuss +cohoe +ricebird +scarabaeus +Adler +snowbird +Krote +massasauga +whalesucker +Beutelratte +linnet +shoveller +Tintenfisch +tumbler +ringtail +Haher +whitethroat +jade +threadworm +blackcap +eutherian +redbird +Frosch +poeciliid +chinch +Erdbeere +Sau +Schwarzbeere +cleg +Bar +post-horse +Pinguin +Papagei +Frettchen +broody +weaverbird +marabout +Pflaume +cedarbird +griffon +Elefant +Rind +turtledove +Haselnuss +coney +skilletfish +capelan +archosaurian +coney +Lachs +Schwein +quahaug +Quark +wigeon +Seepferdchen +Kamel +Aar +Lamm +Storch +dovekie +dziggetai +cavalla +Kaschunuss +firebird +thrasher +moorfowl +woodcreeper +bronc +yellowbird +striper diff --git a/etc/names/colors.list b/etc/names/colors.list new file mode 100644 index 0000000..9ea2448 --- /dev/null +++ b/etc/names/colors.list @@ -0,0 +1,397 @@ +malt +citrine +rose +emerald +ketchup +forestgreen +azul +envy +clay +tea +lemontwist +marine +kaki +wine +slime +palegreen +rod +olive +gourd +parfait +pasture +pickle +magenta +cerise +darkslategray +tobacco +sepia +base +purple +caramel +blueberry +bloodstone +umber +sea +deepurple +midnightblue +ping +white +sand +indigo +hulkcredible +fuschia +choclae +dirt +mediumspringgreen +lightblue +yellowbrown +pine +cranberry +steel +drab +vegas +ash +sage +bronze +beige +celery +spring +persimmon +cyan +darkcyan +charcoal +puce +redishorange +sapphire +khaki +amaranth +mediumaquamarine +stone +light +navy +keylime +aquamarine +space +arcotic +fuzz +avocado +atlantis +darkolivegreen +stain +pumpkin +royale +puff +russet +yellowishbrown +lipstick +mud +amazon +jean +ebony +kiwi +plub +pum +olivegreen +fog +poop +julep +pink +grey +violetred +darkorchid +brown-green +deeppink +peru +royal +quince +violet +sorbet +smoke +saffron +orchard +prune +pastel +odeole +daffodil +chokato +haze +tourlamine +gem +beet +oak +butter +kelly +aubergine +copper +breeze +sierra +mediumturquoise +drabe +grassclippings +apricot +plumeria +lightskyblue +berry +soup +supreme +merrigold +plum +clover +blackberry +darkbrown +lampshade +cream +algae +denim +royalblue +glue +red +crush +bluegreen +azure +hotpink +paleblue +deep +cyanicle +mustard +oatmeal +obsidian +deepskyblue +sherbert +bark +highlighter +tomato +rain +cocoa +velvet +grape +mediumblue +forest +gum +yellow +azalea +mediumseagreen +tan +brass +greenyellow +darkblue +shipwrecked +pear +cobalt +coneflower +cinnamon +ocean +peacock +pistachio +lemon +gold +time +earthcore +bple +moss +mint +evergreen +slate +celadon +scab +pinkishred +chestnut +limey +apple +limeade +goldenyellow +snake +brunette +petal +darkviolet +ocher +brown +sandlewood +darkcoral +teal +jade +mediumorchid +sprite +strawberry +egg +fern +taupe +sangria +saddlebrown +lightgreen +aster +cheeks +ruddy +peuce +brandywine +earth +mulberry +redorange +crimson +indianred +seagreen +merlot +ultramarine +maroonish +lilac +lettuce +redbrown +petrol +puke +boysenberry +cherry +bloom +toffee +rust +cadetblue +twilight +lavender +flashypurple +blueviolet +jungle +seablue +melon +auburn +goldengold +noon +springgreen +butternut +pea +wax +fulcrum +mauve +harding +coral +tangerine +chili +lawngreen +leftovers +mascot +goldenrod +muave +darkslateblue +hyacinth +petunia +booger +royalty +lemongrass +seaweed +dookie +blue +water +putty +kiss +flower +darkgoldenred +cardinal +ultrablue +brand +eggplant +mahogany +bluevoilet +sienna +distemper +gray +cotta +princess +skyblue +chartreuse +wasabi +dull +fresh +olivedrab +kelp +burgundy +colour +fancy +mezantha +watermelon +almond +periwinkle +dark +cinnabar +blossom +snorkeling +raspberry +darkpink +lightcoral +green +burn +slateblue +peach +turquoise +forrest +aqua +scarlet +amber +mocha +sucker +seafoam +thistle +currant +mediumpurple +leaf +greenishbrown +rosemary +chocolate +bright +uberpink +grass +black +rusty +candy +darkgreen +choc +butterscotch +yellowgreen +yellowishgreen +darkmagenta +marigold +limegreen +ecru +spice +darkred +goldenbrown +wisteria +shade +bean +koolaid +wood +kac +carmine +oxblood +aqua-green +fuchsia +brick +terracotta +lime +cerulean +purplish +mediumvioletred +foam +salmon +dune +night +orange +grapejuice +firebrick +blackmaroon +vermilion +dandelion +redishbrown +cornflower +midnight +amethyst +fleshtone +maroon +browntown +asparagus +sky +bipolar +steelblue +orchid +juniper +amazonish +hot +bridesmaid +sunset diff --git a/etc/names/locations.list b/etc/names/locations.list new file mode 100644 index 0000000..16845e0 --- /dev/null +++ b/etc/names/locations.list @@ -0,0 +1,16298 @@ +Andorra +Aruba +Angola +Alabama +Azerbaijan +Albania +Azincourt +Afghanistan +Anguilla +Abakan +Ajaccio +Azores +The Bahamas +Benin +Belgium +Bangladesh +Barbados +Brunei +Burkina Faso +Belarus +Bulgaria +Belize +Bermuda +Brazil +Bornholm +Bordeaux +Barcelonnette +Borneo +Bayonne +Comoros +Colombia +California +Czech Republic +Cayman Islands +Cameroon +Costa Rica +Croatia +Cyprus +Chile +County Mayo +Chechnya +Cambridgeshire +County Dublin +Cook Islands +Cheshire +Cluny +Devon +Dead Sea +El Salvador +Essex +England +Ellis Island +Elba +Fiji +Fontainebleau +Finland +Fuerteventura +Fair Isle +Guam +Gabon +Ghana +Greenland +Guernsey +Greater London +Greece +Germany +Honduras +Hawaii +Hong Kong +Haiti +Hispaniola +Hayling Island +Hertfordshire +Hook of Holland +Hungary +India +Indonesia +Iceland +Isle of Man +Iran +Illinois +Iona +Italy +Isle of Wight +Jan Mayen +Jamaica +Japan +Kiribati +Kazakhstan +Korea +Kent +Kemerovo +Luxembourg +Latvia +Laos +Lesotho +Libya +Lithuania +Liberia +Liechtenstein +Lebanon +Lake Erie +Lake Michigan +Lake Champlain +Lake Toba +Lundy +Lake Abitibi +Le Mans +Madagascar +Michigan +Macau +Mali +Moscow +Malawi +Mayotte +Mauritius +Maldives +Montserrat +Monaco +Mongolia +Morocco +Mozambique +Moldova +Malta +Missouri +Burma +Madeira +Montauban +Mindanao +Montenegro +Mecca +North America +Niue +Netherlands +Namibia +Nauru +New Caledonia +North Korea +Niger +Norfolk Island +Norway +Nigeria +Nevis +Nebraska +Nicaragua +New Jersey +Oman +Rousay +Poland +Panama +Puerto Rico +Paris +Pakistan +Palau +Portugal +Paraguay +Pennsylvania +Philippines +Quad Cities +Romania +Rwanda +Rockall +Russia +Rosmalen +Sri Lanka +Spain +Slovakia +Saint Helena +Switzerland +Scotland +South Korea +Saint Lucia +Samoa +Senegal +Seychelles +San Marino +Spratly Islands +Singapore +Svalbard +Swaziland +Slovenia +Sudan +Sierra Leone +Savoy +Suffolk +Somalia +Serbia +Texas +Tajikistan +Togo +Tokelau +Tanzania +Tonga +Tuvalu +Thailand +Tours +Uganda +Uzbekistan +Ukraine +United Kingdom +Vatican City +Vanuatu +Volgograd +Versailles +White House +Western Sahara +County Wicklow +Wyoming +Worcestershire +Zanzibar +Zambia +Zimbabwe +Strasbourg +Dorset +Norfolk +Perpignan +Niihau +Outer Hebrides +Gruinard Island +Adjara +Toulouse +Bastia +County Donegal +Corte +Grasse +Rennes +County Cork +County Antrim +Lake Van +Manzanar +Nice +Crimea +Surrey +Reims +Rouen +Lille +Lancashire +Toulon +Grenoble +Formentera +Vichy +Wiltshire +Somaliland +Riyadh +Shropshire +Somerset +Great Salt Lake +Aitutaki +County Leitrim +County Tyrone +Lincolnshire +Gateway Arch +Rock Creek Park +Easter Island +Oxfordshire +Le Havre +Inner Mongolia +Buckinghamshire +Lake Baikal +Yakutsk +Bratsk +Magadan +Sakhalin +Metz +Staffordshire +Northumberland +Leicestershire +Omsk +Albertville +Novosibirsk +Ibiza +Tomsk +Murmansk +Alcatraz Island +Berkshire +Guangdong +Sichuan +Nizhny Novgorod +The Gambia +County Kilkenny +Liseberg +Nantes +East Sussex +Nottinghamshire +Sea of Galilee +Luzon +Bedfordshire +Birobidzhan +Wales +Kauai +Marseille +Krasnoyarsk +Visayas +Hebei +Saverne +Montpellier +Chinon +Saumur +Chenonceaux +Denmark +County Armagh +Tarascon +Cannes +Soissons +Shanxi +Noyon +Fort Sumter +Amiens +Bourges +Kourou +Angers +Graceland +Laon +Hubei +Jarnac +Milhaud +Calais +Carcassonne +Brignoles +Langres +Sochi +Fujian +Douai +Dunkirk +Sark +Bronx Zoo +Caen +County Clare +County Galway +Roscommon +County Kerry +South Yorkshire +Kilkenny +Blois +Le Fleix +County Kildare +Upolu +Verdun +Zhejiang +County Limerick +Chaource +Chartres +Dijon +Cambrai +Albi +Troyes +Chamonix +Smolensk +Calthorpe Broad +Narbonne +Anhui +La Rochelle +Crater Lake +Sas van Gent +Arkhangelsk +Swalmen +Borculo +Neede +Ruurlo +Wehl +Mierlo +Bergschenhoek +Bleiswijk +De Lier +Ter Aar +Voorhout +County Down +Lake Taupo +Saint Martin +Lake Tahoe +Kennywood +Nancy +Montrichard +County Laois +South Uist +Ardennes +North Yorkshire +Bass Rock +Melun +County Sligo +Cedar Point +Ireland +Lanai +West Yorkshire +Merseyside +Gansu +Askham Bog +Nuenen +Shaanxi +Liaoning +Staffa +Kings Island +Mount Athos +Lake Titicaca +Manila Bay +Ross Island +Ross Dependency +Kangaroo Island +Kinmen +Wissembourg +Hunan +Henan +Hainan +Jiangsu +Yunnan +Schoorldam +Kyrgyzstan +Nepal +Mainau +Guizhou +Jilin +Qinghai +Jiangxi +Heilongjiang +Peter I Island +Toul +Vojvodina +Limoges +Gonesse +Mie Prefecture +Nara Prefecture +Saga Prefecture +Lourdes +Ningxia +Guangxi +Gifu Prefecture +County Carlow +Yaroslavl +Anjouan +Mount Rushmore +Chapaize +Ethiopia +Kenya +Baltic states +Hampton Roads +Kahoolawe +Cozumel +Sprundel +Faucigny +Turkmenistan +Valmy +Loudun +Kazan +Vietnam +Raasay +Louviers +Dundalk +Sommesous +Azov +Enewetak Atoll +Volyn Oblast +County Wexford +La Gomera +Colmar +Tubuai +Fraser Island +Tinian +Biarritz +Vladikavkaz +Antibes +Conques +Puntland +Phuket Province +CALABARZON +Vimy +Lake Nyos +Sorbon +Amboise +Chelyabinsk +Fort McHenry +Paars +Efteling +Dollywood +Zemun +Cagayan Valley +Bicol Region +Saratov +Central Visayas +Beauvais +MIMAROPA +Detroit Lake +Solomon Islands +Puck Building +Loch Lomond +Maillane +Nevers +Port Phillip +Montecristo +Northern Cyprus +Cruas +Wezep +County Louth +Jeddah +Jagodina +Lazarevac +Mladenovac +Obrenovac +Kraljevo +Kikinda +Leskovac +Novi Pazar +Priboj +Prokuplje +Senta +Ruma +Smederevo +Sombor +Vranje +Zrenjanin +Gotland +Nantua +Mortain +Cancon +Belfort +Biysk +Morzine +Arbois +Roubaix +Tourcoing +Argenteuil +County Meath +Pico Island +Saba +Sather Gate +Brook Farm +Davao Region +Annonay +SOCCSKSARGEN +Western Visayas +Eastern Visayas +Caraga +Central Luzon +Ilocos Region +La Palma +Taihu Lake +Viriat +Pskov +El Hierro +Lanzarote +Petrozavodsk +Manus Island +Hoeven +San Diego Zoo +South Ossetia +Ufa +Dealey Plaza +Mount Greylock +Rotuma +Lorient +Beaune +Yokkaichi +Hamamatsu +Suita +Izumisano +Tondabayashi +Kawachinagano +Katano +Habikino +Amagasaki +Nishinomiya +Faverges +Montmin +Ermenonville +Taipei County +Hersheypark +Cambodia +Montfrin +Cragside +Guevenatten +Bayeux +Sazan Island +Boracay +Cahokia +Gravelines +Saudi Arabia +Tokchon +Karakalpakstan +Bouillante +Deshaies +Alton Towers +Baillif +Lake Mead +Lake Powell +Brindas +Montbard +Kornati +Fort Niagara +Dubna +Mulhouse +Ischia +Rodrigues +Figeac +Tver +Moscow Oblast +Transnistria +Serpukhov +New Providence +Weizhou Island +Nakhchivan +Sarcelles +North Hwanghae +Gagauzia +Perm +North Pyongan +South Pyongan +Douvrin +County Longford +Savage Islands +Blerick +Mount Dajt +Bela Palanka +South Hamgyong +North Hamgyong +Ryanggang +Herefordshire +County Durham +Foula +Auchel +Audruicq +Bapaume +Barlin +Bertincourt +Bourthes +Carency +Cambrin +County Monaghan +Carvin +Dainville +Lake Athabasca +Desvres +Divion +Krupanj +Dourges +Zaandijk +Rijssen +Fauquembergues +Aerdenhout +Overveen +Fruges +Gouves +Harnes +Ulyanovsk +Bala Lake +Heuchin +Hesdin +Houdain +Houlle +Hucqueliers +Laventie +Leforest +Lillers +Caddo Lake +Meudon +Votkinsk +Marquion +Liberty Island +Talencieux +Corvo Island +Vincennes +Oignies +Outreau +Menton +County Cavan +County Offaly +Djerba +Montolieu +Le Parcq +Sallaumines +Samer +Le Portel +Souchez +Wingles +Gaillard +Salton Sea +Anneux +Arpajon +Dian Lake +Fair Park +Houdan +Rybinsk +Fort Stanwix +Carnac +Vladimir +Cherepovets +Voronezh +North Rona +Makhachkala +Fairmount Park +Saransk +Kislovodsk +Stavropol +Barnaul +Krasnodar +Eigg +Sarov +Tobolsk +Bryansk +Ushant +Coll +Tyumen +Nalchik +Belgorod +Belgorod Oblast +Ulva +Murmansk Oblast +Voskresensk +Mozhaysk +Istra +Mousa +Papa Stour +Flotta +Ablon +Agy +Aignerville +Airan +Noss +Ryazan +Amblie +Anctoville +Anisy +Anguerny +Annebault +Arganchy +Argences +Asnelles +Auberville +Audrieu +Auquainville +Auvillars +Avenay +Balleroy +Balakovo +Oryol +Papeete +Oregon Zoo +Aubenas +Socotra +Valenciennes +Krommenie +Donetsk Oblast +Lviv Oblast +Kiev Oblast +Luhansk Oblast +Cherkasy Oblast +Kharkiv Oblast +Rivne Oblast +Penza +Severodvinsk +Avranches +Maykop +Nizhnevartovsk +Eynhallow +Darien Lake +Lake Turkana +Carpentras +Autun +Vallay +Barbeville +Basseneville +Bauquay +Basly +Bavent +Bazenville +Beaumais +Bellou +Bernesq +La Bigne +Blay +Aubervilliers +Drancy +Bonnebosq +Bonnemaison +Bougy +Boulon +Bourgeauville +Branville +Sanda Island +Bora Bora +Bananal Island +Auskerry +Faray +Calf of Eday +Copinsay +Switha +Swona +Bondy +Sevran +Bobigny +Pantin +Bricqueville +Brouay +Brucourt +Cabourg +Cahagnes +Cahagnolles +Cairon +La Caine +Cambremer +Anzin +Scarba +Ussuriysk +Agen +Annemasse +Auch +Izieu +South Dublin +North Tipperary +South Tipperary +Auxerre +Qinghai Lake +Tarbes +Artyom +Tolyatti +Walden Pond +Tambov +Wooster Square +Carcagny +Cardonville +Carpiquet +Castilly +Cauville +Cauvicourt +Cerqueux +Kings Dominion +Wotje Atoll +Mili Atoll +Jaluit Atoll +Maloelap Atoll +Arno Atoll +Barra Head +Sokobanja +Pomerol +Chicheboville +Cheux +Chouain +Clarbec +Cintheaux +Colombelles +Boursin +Foix +Combray +Commes +Coquainvilliers +Cordey +Cormolain +Cordebugle +Cossesseville +Cottun +Coulvain +Courson +Courvaudon +Cresserons +Cresseveuille +Creully +Cristot +Crocy +Croissanville +Crouay +La Croupte +Cussy +Damblainville +Le Raincy +Palaiseau +Villeurbanne +Aiti +Kovrov +New Forest +Danestal +Donnay +Deauville +Drubec +Eraines +Ernes +Escoville +Espins +Esson +Estry +Flannan Isles +Waiheke Island +Svilajnac +Sligo +Magnetic Island +Efate +Galveston Bay +Wast Water +Poissy +Sarapul +Skomer +Grassholm +Chagang +Hascosay +Hildasay +Moorea +Familly +Fauguernon +Le Faulq +Fervaques +Firfol +Fingal +Rungis +La Folie +Fontenermont +Formigny +Formentin +Fourches +Foulognes +Ciboure +Douaumont +Quibou +Loch Maree +Loch Morar +Letterkenny +Querrien +Querqueville +Quettehou +Quettetot +Quetteville +Fort Caroline +Auxonne +Le Fournet +Fourneville +Friardel +Fumichon +Le Gast +Gavrus +Genneville +Gerrots +Giberville +Glos +Gouvix +Goustranville +Grangues +Grimbosq +La Graverie +Hamars +Grentheville +Heuland +Heurtevent +La Hoguette +Honfleur +Flat Holm +Dargoire +Limours +Gennevilliers +Houlgate +Jort +Jurques +Lantheuil +Leffard +Lisieux +Longford +Hendaye +Lison +Lisores +Litteau +Livarot +Le Locheur +Longraye +Crozet Islands +Onondaga Lake +Western Port +Wotho Atoll +Martigues +Loucelles +Louvagny +Longvillers +Maizet +Maltot +Manerbe +Manvieux +Cahors +Martragny +Meulles +Meuvaines +Mittois +Les Monceaux +Mondrainville +Montamy +Monteille +Montfiquet +Montviette +Mouen +Mosles +Moyaux +Norolles +Nonant +Olendon +Ondefontaine +Papa Little +Gometra +Osmanville +Orbec +Les Oubeaux +Ouistreham +Pennedepie +Placy +Planquery +Plumetot +Potigny +Proussy +Ranchy +Rapilly +Le Reculey +Ranville +Reux +Reviers +Rocquancourt +La Rocque +Rosel +Rots +Roucamps +Rocques +Roullours +Rubercy +Rocquencourt +Rucqueville +Rumesnil +Ryes +Angres +Terceira Island +Vellescot +Catz +Draycote Water +Millau +Montcuq +Castleisland +Aubagne +Sartrouville +Thorpe Park +Devon Island +Marcei +Beli dvor +Rikers Island +Buttermere +Istres +Chiayi County +Vannes +Port Stephens +Dreux +Listowel +Houat +Sunset Crater +Touro Synagogue +Oxna +Chenango Canal +Loktak Lake +Sea Lion Island +Comoro Islands +Bron +Beale Street +Murom +Vesoul +Huahine +Kronstadt +Eilean Donan +Auray +Tahaa +City of Rocks +Kizhi +Zelenograd +Bettviller +Belloc +Questembert +Rongelap Atoll +Socorro Island +Hume Lake +Gatchina +Provins +Opende +Rambouillet +Les Allues +Ornex +Josselin +Lake Compounce +Chaponost +Patay +Cres +Kykuit +Uithuizermeeden +Lake Texoma +Kursk +Fatu Hiva +Greater Boston +Sesame Place +Bylot Island +Nernier +Yvoire +Montazeau +Roanne +Orgueil +Clonmany +Castres +Baffie +Pauillac +Gendt +Lake Cachuma +Hamhung +Meaux +Lescun +Dinard +Ivanovo +Abu Musa +Pewabic Pottery +Gilette +Giverny +Dogpatch USA +Opryland USA +Fan district +Rongerik Atoll +Kili Island +Maclas +Givet +Peabody College +Nanterre +Valleyfair +Rocas Atoll +Calhoun Mine +Ardee +Doornenburg +Angeren +Heiligerlee +Haguenau +Rubrouck +Pontarlier +Cilaos +Les Chapelles +Sallen +Elne +Sallenelles +Saon +Sannerville +Saonnet +Soignolles +Soliers +Sommervieu +Soulangy +Subles +Surrain +Fort Calgary +Bondues +Coutances +Ambert +Tessel +Thaon +Ballyheigue +Valleraugue +Fort Tryon Park +Agde +Lake Merced +Cergy +Pontoise +Reusel +Tierceville +Tordouet +Le Torquesne +Tortisambert +Le Tourneur +Tournebu +Cajarc +Ludes +Troarn +Bonifacio +Trungy +Ussy +La Vacquerie +Varaville +Le Bourget +Vaubadon +Vaucelles +Vaudeloges +Vaudry +Arranmore +Les Houches +Vendes +Kasimov +Vendeuvre +Versainville +Verson +Novocherkassk +Avallon +Le Vey +Aurillac +Vouvray +Viessoix +Vignats +Villerville +Paimpol +Sauwerd +Reuver +Spaubeek +Usquert +Tegelen +Vire +Vouilly +Anet +Margaux +Lipetsk +Zlatoust +Riquewihr +Ljig +Gibourne +Le Thor +Loch Tay +Mauguio +Girard College +Ruca +Chernogolovka +Raheny +Cognac +Les Andelys +Plouay +Aumale +Hautefort +Combourg +Mohawk Trail +Aviron +World Waterpark +Brimham Rocks +Beaumontel +Courbevoie +Puteaux +Beuzeville +Dmitrov +Brosville +Castle Clinton +Cailly +Rochechouart +Drucat +Damville +Chilika Lake +Le Cannet +Warfhuizen +Sochaux +Gisors +Faial Island +Lake Okataina +Fondettes +Bagneaux +Clamart +Corbie +Airel +Agneaux +Chaville +Ancteville +Amigny +Angey +Issenheim +Carentan +Lake Ohrid +Rodez +Novorossiysk +Privas +Rickwood Field +Laguiole +Martot +Colombes +Rethel +Draguignan +Sun Studio +Longwy +Manigod +Bozouls +Goucher College +Kealakekua Bay +Lorris +Garches +Thionville +Loyalty Islands +Rotsee +Iford Manor +Big Thicket +Pelvoux +Argentan +Ennerdale Water +Montaillou +Waldweistroff +Bourgueil +Montrouge +Graffiti House +Aspiran +Taganrog +Pinas +Bolbec +Bouchain +Voiron +Varambon +Lirey +Mazamet +Carowinds +Harfleur +Nesmy +Volokolamsk +Routes +Velikiye Luki +Staraya Russa +Korkeasaari +Yessentuki +Futuroscope +Forbach +Assat +Akdamar Island +Volgodonsk +Riom +Tabanac +Ternate +Hood College +Borden Island +Castelnaudary +Masclat +Lescout +Pyatigorsk +Biscarrosse +Kstovo +Finuge +Vyazma +Thiviers +Gravelotte +Lomas de Lachay +Miyakejima +Lugos +Hvar +Bourville +Anacostia Park +Hornsea Mere +Allouis +Gambier Islands +Rapa Iti +Akpatok Island +Ua Pu +Bakkum +Apatin +Kerlouan +Oiron +Bruniquel +Manosque +Altorf +Prayssac +Shuya +Graciosa +Issoudun +Isle of May +Cadillac Place +Cirey +Zhytomyr Oblast +Odessa Oblast +Legionville +Fort Recovery +Reindeer Lake +Ronchamp +Bouvines +Napuka +Manihi +Mataiva +Tahuata +Tignes +Lithia Park +Orsk +Uzel +Tuapse +Sangatte +Assas +Rocamadour +Utelle +Lento +Morlaix +Downsview Park +Mljet +Le Blanc +Dumbleyung Lake +Megion +Orthez +Swains Island +Arcachon +Le Puiset +Oyonnax +Valognes +Louveciennes +Murter +La Ciotat +Lake Albano +Tarare +Vembanad Lake +Rocroi +Southern Sudan +Akasaka Palace +Ishim +Dinan +Titel +Lake Havasu +Sivignon +Shakhty +Roscoff +Lake Martin +Bougival +Alibunar +Temerin +Srbobran +Grocka +Khanka Lake +Bouy +Glazov +Ancenis +Tutuila +Barajevo +Nyons +Guingamp +Suresnes +Angarsk +Barbizon +Courcouronnes +Arwad +Thuir +Carew Tower +Schweyen +Yerres +Molsheim +Stragari +Noginsk +Pamiers +Crion +Lannion +Barentin +Moissac +Fryazino +Taverny +Worlds of Fun +Benfeld +Birmingham Zoo +Monnai +Sayat +Orcines +Volvic +Hautefaye +Macaye +Engel Stadium +Lichos +Skryne +Surdulica +Quincy Mine +Opovo +Villejuif +Humboldt Bay +Elektrostal +Balashikha +Pfaffenhoffen +Khimki +Cissbury Ring +Berezniki +Coly +Aprelevka +Ailuk Atoll +Aur Atoll +Ebon Atoll +Jabat Island +Likiep Atoll +Lae Atoll +Ujae Atoll +Namdrik Atoll +Utirik Atoll +Atton +Quiberon +Pertuis +Henricus +Rzhev +Bouguenais +Royan +Sisteron +Chini Lake +Fayence +Race Rock Light +Le Creusot +Ruby Falls +Stary Oskol +Vimoutiers +Lidtke Mill +Lake Lanier +Anor +Castelsarrasin +Lezennes +Mimizan +Charles Island +Belcaire +Lombers +Doudeville +Lady Isle +Leidschendam +Limoux +Bezonvaux +Fanjeaux +Collioure +Brother Isle +Oudenbosch +Uithuizen +Zevenbergen +Yvetot +Geldrop +Heeze +Uvs Nuur +Hornby Island +Rekken +Nene Washes +Malham Tarn +Spakenburg +Paynes Prairie +Spiegel Grove +Gaillac +Nizhny Tagil +Bennett Place +Surgut +Nizhnekamsk +Sterlitamak +Velaux +Barfleur +Monheurt +Arzamas +Gropius House +Dallas Zoo +Orgon +Bagnolet +Chamant +Lib Island +Namu Atoll +Ujelang Atoll +Lake Las Vegas +Montertelot +Naujan Lake +Mutzig +Vaygach Island +Bouyon +Le Guislain +Verosvres +Lacq +Orsay +Manzat +Combloux +Natzwiller +Baudricourt +Cholet +Les Gets +Monpazier +Inchmurrin +Stara Pazova +Big Stone Lake +Fort Robinson +Vierzon +Altkirch +Yeysk +Berdsk +Zoombezi Bay +Nova Crnja +Lunel +Arcueil +Yelets +Elbeuf +Kovin +Gonfaron +Montivilliers +Ribeauville +Oirsbeek +Remiremont +Bushnell Park +Cauterets +Cassis +Mamoudzou +Bhutan +Numansdorp +Kladovo +Gordano Valley +Lake Wendouree +Sionne +Anglet +Station Square +Grostenquin +Quillan +Huelgoat +Gurs +Gargano +Ludres +Bracklesham Bay +Kamyshin +Varvarin +Iracoubo +Sinnamary +Pontivy +Ardcath +Vence +Phoenix Zoo +McGolrick Park +Beaugency +Lake Chany +Seilhan +Cestas +Winter Island +Bujanovac +Gordes +Maresville +Issoire +Vladimirci +Bitche +Brissac +Montargis +Kaysersberg +Turckheim +Rosheim +Obernai +Sarrebourg +Ebbor Gorge +Sarreguemines +Cavaillon +Halluin +Camurac +Le Coteau +Balogna +Eguisheim +Lifou +White Rock Lake +Bachman Lake +Ambronay +Ambutrix +Aranc +Anglefort +Arbent +Arbignieu +Arbigny +Argis +Armix +Artemare +Beaupont +Baneins +Belleydoux +Belley +Bellignat +Sula Sgeir +Bettant +Beynost +Billiat +Biziat +Birieux +La Boisse +Blyes +Bolozon +Bouligneux +Chablis +Clisson +Mugdrum Island +Montaron +Le Touquet +Seloncourt +Remoulins +Saclay +Hennebont +Thouars +Cachan +Lourmarin +Montboudif +Gramat +Vivoin +Oisseau +Jargeau +Huningue +Wassy +Lamanon +Marignane +Nemours +Criel Mound +Dieuze +Faulquemont +Hirson +Brijuni +Frain +Avesnes +Sancerre +Tancarville +Creil +Despotovac +Claira +Propriano +Brignancourt +Draveil +Chavanod +Bousbecque +Hazebrouck +Commercy +Meursault +Nesle +Briord +La Burbanche +Ceignes +Certines +Cessy +Chalamont +Champdor +Chaleins +Champfromier +Chaley +Chaveyriat +Condeissiat +Colomieu +Conzieu +Corlier +Corbonod +Curtafond +Drom +Culoz +Dagneux +Douvres +Domsure +Dortan +Druillat +Foissiat +Feillens +Genouilleux +Hostiaz +Hotonnes +Izernore +Innimond +Jayat +Journans +Lavours +Lagnieu +Joyeux +Lhuis +Leyment +Loyettes +Magnieu +Malafretaz +Lochieu +Lompnieu +Manziat +Marsonnas +Marboz +Massieux +Marignieu +Meximieux +Mionnay +Montanges +Montceaux +Mogneneins +Montagnat +Mijoux +Montluel +Neyron +Nattages +Oncieu +Parves +Ordonnaz +Peyrieu +Montcresson +Froville +Briare +Decazeville +Carmaux +Cerizay +Molesme +Pontigny +Venasque +Pizay +Pollieu +Pirajoux +Poncin +Priay +Pugieu +Reyrieux +Revonnas +Ramasse +Replonges +Rossillon +Ruffieu +Salavre +Sandrans +Songieu +Souclin +Sulignat +Surjoux +Sutrieu +Tenay +Talissieu +Thoissey +Tramoyes +Torcieu +Tossiat +Toussieux +Verjon +Valeins +Versailleux +Villes +Villereversure +Vieu +Villebois +Villemotier +Vongnes +Virignin +Vonnas +Le Montellier +Le Plantay +Capian +Mulsanne +Hayange +Comblanchien +Vertou +Hekelingen +Chirikof Island +Svrljig +Trambly +Buellas +Challex +Chanay +Chaneins +La Courneuve +Charix +Assier +Cabrerets +Douelle +Cardaillac +Quants Reserve +Dolgoprudny +Gueudecourt +Izon +Langeais +Congress Avenue +Ardres +Les Arsures +Arsonval +Imphy +Avaray +Chalabre +Shchyolkovo +Ringwood Manor +Rubtsovsk +Aramits +Douarnenez +Firminy +Boulbon +Oceans of Fun +Negotin +Poigny +Ahetze +Arcangues +Arbonne +Urt +Ascain +Bassussarry +Briscous +Biriatou +Bidart +Boucau +Espelette +Halsou +Hasparren +Itxassou +Larressore +Lahonce +Jatxou +Mendionde +Louhossoa +Mouguerre +Bonloc +Sare +Urcuit +Urrugne +Ustaritz +Auty +Enguinegatte +Ayherre +Aincille +Anhaux +Aldudes +Armendarits +Arhansus +Ascarat +Bidarray +Bidache +Bunus +Arancou +Garris +Gamarthe +Jaxu +Iholdy +Gabat +Irissarry +Ilharre +Isturits +Juxue +Ispoure +Ibarrolle +Lantabat +Lacarre +Lecumberry +Masparraute +Mendive +Pagolle +Orsanco +Urepel +Ainharp +Roquiague +Aussurucq +Barcus +Esquiule +Etcharry +Etchebar +Garindein +Larrau +Menditte +Montory +Musculdy +Ordiarp +Pitsford Water +Skylands +Libourne +Bavay +Marcigny +Golubac +Lillebonne +Loches +Locmariaquer +Maubeuge +Benquet +Fort Mason +Valbonne +Penmarch +Lamballe +Lastours +Denman Island +Rions +Berck +Mejit Island +Brent Reservoir +Fumay +La Bourboule +Schiltigheim +Tarn Hows +Commentry +Pagham Harbour +Almetyevsk +Borisoglebsk +Korocha +Magalas +Reillanne +Orchies +Ua Huka +Castellane +Vouziers +Vervins +Forcalquier +Babaeski +Eaubonne +Saisy +Montfermeil +Roquelaure +Nontron +Jonzac +Confolens +Yssingeaux +Muret +Les Mureaux +Wattrelos +Illzach +Rombas +Drap +Lormont +Persan +Malakoff +Vanves +Cairanne +Alfortville +Frontignan +Sallanches +Cluses +Seynod +Trappes +Florac +Briey +Pithiviers +Marmande +Brioude +Mirande +Blaye +Le Marin +Montmorillon +Bellac +Bressuire +Mamers +Charolles +Louhans +Parthenay +Guebwiller +Fourqueux +Senez +Riez +Maillezais +Lombez +Lucciana +Lescar +Entrevaux +Lectoure +Cervione +Bazas +Vaucouleurs +Coupvray +Altrippe +Bronnitsy +Pimelles +Coquelles +Calenzana +Bezons +Fumel +Villetaneuse +Stains +Gagny +Romainville +Brumath +Camopi +Bergues +Fatines +Steenwerck +Ollioules +Domats +Digoin +Doullens +Denain +Decize +Cransac +Coulommiers +Chauvigny +Chauny +Concarneau +Cancale +Gien +Givors +Fourchambault +La Trimouille +Joigny +Salers +Lajkovac +Vionville +Vittel +Morillon +Guer +Les Ulis +Feurs +Wimereux +Pierrelatte +Vaucresson +Tournus +Wattignies +Broons +Chaiwopu Lake +Pessac +Landrecies +Saales +Schirmeck +Chaulnes +Montsoreau +Lalbenque +Richerenches +Sentheim +Bourbourg +Hondschoote +Houtkerque +Langolen +Neulles +Livernon +Antichan +Seyresse +Bassillac +Biard +Ossun +Francazal +Cazaux +Villerupt +Glisy +Ghyvelde +Couterne +Nangis +Rambervillers +Les Epesses +Rambures +Roure +Champsecret +Villardebelle +Meymac +Champenoux +La Panouse +Ingrannes +Orchaise +Supt +Melles +Cardeilhac +Crozant +Lake Muir +Bessey +Marmoutier +Houx +Reichshoffen +Rainwater Basin +Lastovo +Joncourt +Culan +Greenwood Lake +Lannemezan +Herry +Moulay +Meisenthal +Matua Island +Villemomble +Vaujours +Les Lilas +Coubron +Dugny +Bouhy +Montlignon +Ramatuelle +Billancourt +Akersloot +Entrecasteaux +Limmen +Miramas +Llyn Cwellyn +Lake Monomonac +Punaauia +United States +La Terrasse +Dinteloord +Seissan +Rambaud +Kotlas +Verny +Audresselles +Lake Mohave +Le Tiercent +Torcheville +Ouanary +Seillans +Barbentane +Maintenon +Tonnerre +Yutz +Le Perthus +Lauterbourg +Bosilegrad +Tutin +Sjenica +Bar Reef +Stenay +Le Quesnoy +Colmars +Thiais +Ermont +Sannois +Le Chesnay +Guyancourt +Laubert +Forcey +Dembeni +Chatou +Houilles +Paimpont +Amillis +Amponville +Capitol Lake +Malaysia +Lapovo +Villecresnes +Valenton +Santeny +Noiseau +Daigny +Lalinde +Finestret +Monpezat +Camiers +Arro +Anse +Lebane +Erdeven +Faaa +Baerenthal +Agden Reservoir +Merey +Oakwell Hall +Honey Lake +Vaugines +Acoua +Bandraboua +Chirongui +Chiconi +Koungou +Mtsamboro +Ouangani +Tsingoni +Dzaoudzi +Pamandzi +Lognes +Noisiel +Charlieu +Loweswater +Blagdon Lake +Parham Park +Condrieu +Nevinnomyssk +Guillemont +Verberie +Morbier +Bricquebec +Neftekamsk +Cadenet +Osny +Khasavyurt +Neryungri +Sayanogorsk +Bischwiller +Buguruslan +Phalsbourg +Elora Gorge +Cornas +Graulhet +Abreschviller +Badonviller +Baronville +Berthelming +Daon +Delme +Eulmont +Laacher See +Mexico +Pibrac +Holthees +Arrigas +Villandry +Martuni +Arcen +Baneheide +Banholt +Baarlo +La Grave +Belfeld +Bemelen +Beringe +Blitterswijck +Borgharen +Cadier en Keer +Castenray +Eckelrade +Egchel +Doenrade +Ospeldijk +Panheel +Panningen +Brunoy +Montgeron +Niederentzen +Villeparisis +Herblay +Corpe +Ploubazlanec +Lomme +Monthieux +Beltrum +Royat +Olette +Leucate +Puylaurens +Callac +Stanovo +Le Lorrain +Champagnole +Frontier City +Bantzenheim +Ada Ciganlija +Castelreng +Louvergny +Folly Farm +DeGray Lake +Muntendam +Bullecourt +Francillon +Champtoceaux +Belep +Sierra Gorda +Miass +Varzy +Lubersac +Halasuru +Vlasotince +Clairac +Sarzay +Aigurande +Feusines +Crevant +Vijon +Vigoulant +Urciers +Tranzault +Sazeray +Baraize +Bazaiges +Cluis +Montlevicq +Orsennes +Baykalsk +Canala +Bourail +Farino +Kouaoua +Koumac +La Foa +Moindou +Pouembout +Poum +Touho +Voh +Havrincourt +Bonnefontaine +Neuhaeusel +Bouzonville +Bouloupari +Ansouis +Aubignan +Crestet +Caderousse +Caseneuve +Caromb +Castellet +Buoux +Brantes +Buisson +Bonnieux +Blauvac +La Bastidonne +Le Beaucet +Beaumettes +Cucuron +Auribeau +Le Barroux +Longjumeau +Le Pecq +Viroflay +Percey +Ambricourt +Krasnoturyinsk +Gaua +Hikueru +Vanua Lava +Kildysart +Boone Hall +Slikkerveer +Gaye +Labaroche +Puivert +Elitch Gardens +Klintsy +Artigat +Tilh +Sajas +Lake Hartwell +Loznica +Donderen +Loray +Tulette +Astet +Gavarnie +Majdanpek +Mogneville +Cravans +Uturoa +Chailey Common +Pfastatt +Annot +Australia +Langeveen +Poeldijk +Lupstein +Duncombe Park +Sanguinet +Bodaybo +Arilje +Topola +Lake Tengiz +Espagnac +Rimatara +Eringhem +Apach +Peypin +Koceljeva +Mali Zvornik +Ljubovija +Mionica +Ivanjica +Hoenheim +Levens +Villetelle +Graissessac +Serquigny +Malaunay +Oissel +Motteville +Velika Plana +Tourtour +Pirae +Paea +Carlux +Papara +Teva I Uta +Hitiaa O Te Ra +Soyons +Langogne +Le Bleymard +Cabris +Challans +Mourenx +Arreau +Tumaraa +Taputapuatea +Dozmary Pool +New Zealand +Pivara +Rekovac +Audierne +Tarnos +Chancey +Hervelinghen +Trstenik +Aleksandrovac +Brus +Boljevac +Medijana +Pantelej +Saverdun +Mougins +Blace +Doljevac +Aleksinac +Cattenom +Cheverny +Chassenon +Bojnik +Crna Trava +Kaechon +La Turbie +Reutov +Jegun +Pontorson +Cuba +Canada +Sweden +Lingolsheim +Chaum +Ponthion +Blagnac +Tournefeuille +Colomiers +Talence +Le Bouscat +Gradignan +Cenon +Meyzieu +Oullins +Orvault +Lambersart +Vallauris +Lanester +Meeden +Chirinkotan +Ekarma +Ketoy +Kharimkotan +Soupir +Lauroux +Baule +Aniane +Bouhet +Agryz +Rivesaltes +Vilsberg +Pommard +Chavenay +Le Gosier +Les Abymes +Le Lamentin +Le Moule +Le Robert +Le Tampon +Saignon +La Possession +Argentat +Ballyseedy +Liessies +Splish Splash +Villeblevin +Miscon +Roquevaire +Garos +Savenay +Vihiers +Chantonnay +Machecoul +Camp Dennison +Dourdan +Melgven +Cornimont +La Bresse +Leuhan +Rtishchevo +Lunay +Bellicourt +Montendre +Thalamy +Guiscriff +Longuyon +Lapalisse +Saulieu +Aubenasson +Lurcy +Figari +Chusclan +Tende +Lessay +Le Luc +Ghisonaccia +Montauroux +Happy Retreat +Dramelay +Boston Light +Llyn Fawr +Caussou +Paultons Park +Maissemy +Monbazillac +Gueugnon +Mellac +Najac +Espalion +Payrac +Barraux +La Martyre +Dudley Farm +Toucy +Lienden +Bourneville +Corsica +Biffontaine +Borzya +Tourch +Pendarvis +Lakemont Park +Opus 40 +Maromme +Davayat +Mondorff +Scheibenhard +Obergailbach +Glomel +Severobaykalsk +Katwijk aan Zee +Ballons +France +Adena Mansion +Etting +Gassin +Pacific Park +Lucheux +Aust Cliff +Banwell Caves +Bleadon Hill +Clevedon Shore +Burledge Hill +Le Crotoy +Court Hill +Harptree Combe +Cleaves Wood +Ham Green SSSI +Goblin Combe +Dolebury Warren +Lamb Leer +Plobsheim +Holly Lane SSSI +Caherboshina +Lulsgate Quarry +Adventuredome +Villa Louis +Stidham Farm +La Garnache +Landrais +Yanal Bog +Fromelles +Walton Common +Weston Big Wood +Shiplate Slait +Le Thou +Puxton Moor +Virson +Asham Wood +Purn Hill +Max Bog +Uphill Cliff +Dimont +Priddy Caves +Priddy Pools +Cheddar Wood +Middle Hope +Landresse +Mertzwiller +Perch SSSI +La Rochepot +Cheddar Complex +Yelnya +Yalutorovsk +Gigondas +Zavodoukovsk +Montazels +Vizille +Valentown Hall +Mirecourt +Hobbs Quarry +Vaudes +Durlinsdorf +Splash Works +Kahanu Garden +Goderville +Grignan +Cucq +Bird Hammock +Ben Knowle +Cloford Quarry +Basseux +Quierzy +HP Garage +Balmville Tree +Postlebury Wood +Viaduct Quarry +Briggins Moor +Cogley Wood +Glenthorne +Greylake +North Moor +Hardington Moor +Wookey Station +Pfulgriesheim +Estourmel +Hurcott Farm +Ors +Bischoffsheim +Maes Down +Aller Hill +Babcary Meadows +Barle Valley +Macouria +Apatou +Matoury +Le Conquet +Locronan +Freshmoor +Kashira +Maripasoula +Roura +Shiashkotan +Raikoke +Coursan +Madiran +Cunlhat +Gannat +Kurile Lake +Long Lye +Long Lye Meadow +Longleat Woods +Moorlinch SSSI +Modane +Liverdun +Mousson +North Exmoor +Roebuck Meadows +Ruttersleigh +Shapwick Heath +South Exmoor +Gorze +Southlake Moor +Sparkford Wood +Stowell Meadow +Street Heath +West Moor SSSI +Sperry Glacier +West Sedgemoor +Westhay Heath +Westhay Moor +Dannemois +Piolenc +Ledringhem +Wormhout +Lake Paliastomi +Ensisheim +Sansan +Okayama +Sapporo +Bely Island +Anzah +Lake Seminole +Indiana Avenue +Bahia Honda Key +Rasshua +Ushishir +La Tourette +Lilhac +Millwater +Wet Moor +Woolhayes Farm +Lake Ilopango +Anceins +Reigny +Couleuvre +Rieussec +Coutouvre +Maryang +Pourcieux +Binas +Appeville +Annoville +Ploemeur +Avereest +Lavelanet +Barradeel +Lolif +Margueray +Le Luot +Le Mesnillard +Mobecq +Claviers +Andelain +Gouvets +Ducey +Gourbesville +Grosville +Huberville +Houesville +Hudimesnil +Jobourg +Le Lorey +Le Mesnilbus +Montabot +Selby Field +Attenschwiller +Rochefourchat +Killiniq Island +Brule Lake +Les Tonils +Ouanne +Pikalyovo +Baconao +Chindrieux +Neuflize +Nijeveen +Creutzwald +Clavette +La Jarne +La Jarrie +Gourbeyre +Saulxures +Grambois +Goult +Joucas +Lauris +Lioux +Puyvert +Puget +Sannes +Robion +Rustrel +Sivergues +Taillades +Villelaure +Viens +Zoufftgen +Lullin +Bedenac +Chatenet +Chepniers +Chevanceaux +Orignolles +Pouillac +Aurignac +Oudorp +Doumy +Hierges +Kuwait +Les Rousses +Agonac +Biras +Bourdeilles +Eyvirat +Syria +Deycimont +Jordan +Anaa +Valeuil +Aubergenville +Gibraltar +Saulzoir +Dolores Partido +Dipor Bil +Pinhook Bog +Avajan +Loudenvielle +Barran +Middleton Place +La Clusaz +Tanchon +Radenac +Morez +Imbrie Farm +Roclincourt +Staraya Kupavna +Signac +Ronno +Nohanent +Combrit +Plomelin +Coray +Chevrier +Confort +Liouc +Avord +Roncq +Marthon +Billom +Plogoff +Podensac +Balma +Wambrechies +Egypt +Bazuel +Montay +Biguglia +Lesquin +Le Pommereuil +Neuvilly +Fonsorbes +Inchy +Briastre +Emborough +Sonnaz +Sayansk +Shelekhov +Guichen +Sebourg +Blet +Roquetaillade +Erstein +Sussac +Fort Crockett +Cudot +Kildangan +Gabian +Camp Moore +Qatar +Peachcroft +Roujan +Chimp Haven +Bresles +Tavernes +Zeerijp +Viane +Huttenheim +Federsee +Woolaroc +Castagnac +Biryusinsk +Coursegoules +Parata +Augignac +Le Bourdeix +Connezac +Teyjat +Uckange +Lussas +Bonnemain +Bartenheim +Navajo Lake +Galmudug +Lyon +Abbaretz +Liederschiedt +Bellentre +Carantec +Crozon +Aups +Fouesnant +Colomars +Chambois +Oostendam +Aime +Curemonte +Brach +Gila Wilderness +Caudry +Les Avirons +Revin +Coulaines +Briec +Lathuile +Mullinavat +Noreuil +Camp Opemikon +Pfetterhouse +Tosny +Ciran +Chailland +Verchaix +Les Martys +Carennac +Raivavae +Reumont +Troisvilles +Ritthem +Wijdewormer +Wimmenum +Loupian +Ezinge +Millam +Nages +Allauch +Ceyreste +La Wantzenau +Cadolive +Algolsheim +La Bouilladisse +La Destrousse +Parcieux +Airvault +Alrance +Semide +Kantens +Midwolda +Nieuwe Pekela +Oldekerk +Oude Pekela +Salazie +Yport +Groix +Israel +Agudelle +Oslon +Plabennec +Pommeuse +Sauzon +La Groise +Maurois +Ferran +Doornspijk +Ameugny +Andrezel +Aufferville +Nijbroek +Overasselt +Faremoutiers +Lomm +Peille +Elephant Hotel +Aussois +Balloy +Barbey +Barcy +Bassevelle +Beautheil +Bezalles +Boisdon +Blennes +Boissettes +Bougligny +Boulancourt +Bouleurs +Curan +Goujounac +Gouvieux +Luzech +Vallet +Arbin +Chignin +La Chavanne +Francin +Guimiliau +Ganghwa County +Laissaud +Les Marches +Les Mollettes +Arsky District +Fajoles +Maliau Basin +Burret +Bransles +Brandon Marsh +Tolay Lake +Swan Bay +Ahun +Lake Shikotsu +Campuzan +Thouron +Chaunac +Meux +Graeme Park +Moings +Ozillac +Villexavier +Chankillo +Carnetin +Cerneux +Cesson +Chaintreaux +Chalifert +Chalmaison +Chamigny +Champdeuil +Champcenest +Couiza +Pellafol +Sillegny +Fitou +Ajat +Mazinghien +Honnechy +Besneville +Marchiennes +Azerat +Brouchaud +Fossemagne +Gabillou +Limeyrat +Thenon +Hermillon +Noironte +Charmentray +Chartrettes +Maasniel +Chartronges +Meerlo +Mheer +Munstergeleen +Nieuwenhagen +Chauffry +Chenoise +Chenou +Rimburg +Sint Geertruid +Urmond +Ulestraten +Wanssum +Budel +Capelle +Empel +Escharen +Gassel +Ploeren +Oeschinen Lake +Royas +Golfech +Le Muy +Elliant +Issigeac +Summer Waves +Chevru +Citry +Cocherel +Compans +Coubert +Coulommes +Courchamp +Porri +Courquetaine +Courpalay +Courtacon +Courtry +Coutevroult +Crisenoy +Cucharmoy +Boisredon +Consac +Courpignac +Insming +Bagert +Morteau +Dagny +Bezannes +Darvault +Dhuisy +Diant +Dampmart +Dormelles +Doue +Esbly +Esmans +Fontains +Forfry +Fouju +Fublaines +Fromont +Arzon +Enveitg +Grandview Drive +Goyave +Lamentin +Agencourt +Soyaux +Baho +Coarraze +Englos +Voulpaix +Bornay +Bratislava Zoo +Wasquehal +Stac an Armin +Semillac +Semoussac +Soubran +Park Gate Down +Appy +Armenia +Garentreville +Gastins +La Genevraye +Giremoutiers +Gironville +Gouaix +Gouvernes +Gravon +Guercheville +Guermantes +Guignes +Hautefeuille +Hondevilliers +Ichy +Mailhac +Ginestas +Iverny +Jablines +Jaignes +Jaulnes +Jossigny +Jouarre +Jutigny +Larchant +Lescherolles +Lissy +Lizines +Longperrier +Marzy +Luisetaines +Luzancy +Maincy +Chamagne +Louannec +Mauperthuis +Mauregard +Meilleray +Moisenay +Montarlot +Montdauphin +Montenils +Monthyon +Montmachoux +Montolivet +Montry +Mormant +Mortery +Mortcerf +Mouroux +Pontgibaud +Sikome Lake +Lambesc +Le Tholonet +Coudoux +Ventabren +Venelles +Gardanne +Montbazin +Coaraze +Nantouillet +Obsonville +Ocquerre +Oissery +Othis +Monteux +Haps +Leende +Lierop +Maarheeze +Ossendrecht +Oudheusden +Raamsdonk +Schaijk +Vlierden +Wanroij +Waspik +Issac +Toulouges +Gigean +Pamfou +Penchard +Ancinnes +Les Mesnuls +Splash Planet +Azille +Fricourt +La Cambe +Avrechy +Pontmain +East Rock Park +Nukutavake +Rousies +Hadzhidimovo +Chatham Village +Levier +Pleasant Home +Poincy +Pomponne +Quiers +Rampillon +Rebais +Recloses +Remauville +Audrix +Castels +Marnac +Meyrals +Tursac +Hoogeloon +Douains +Pierrefort +Eclose +Serbonnes +Kanfen +Lake Skadar +Allemans +Chassaignes +Vanxains +Villetoureix +Seynes +Le Rozel +Slabsides +Emil Bach House +La Brillanne +Peyruis +Chavenon +Tiwai Island +Au Sable Light +21 West Street +203 Prince Street +Mallemort +Graveson +Grans +Jouques +Fuveau +Eyragues +Beaurecueil +La Barben +Aureille +Rouilly +Alleins +Aurons +Rubelles +Trets +Rognonas +Rognac +Le Rove +Puyloubier +Peynier +Noves +Mimet +Paradou +Meyrargues +Meyreuil +Orsonnette +Sammeron +Samoreau +Savins +Sigy +Solers +Sourdun +Tancrou +Thomery +La Tombe +Tigeaux +Touquin +Sardon +Tousson +Fraisse +Trilbardou +Trilport +Chambourcy +Ampus +Varreddes +Vaucourtois +Vendrest +Vignely +Villecerf +Villemareuil +Villenoy +Villuis +Vimpelles +Vinantes +Voinsles +Voulton +Voulx +Voulangis +Voisenon +Raqchi +Tureia +Loupes +SaarLorLux +Bosselshausen +Kirrwiller +Colondannes +Dominica +Servais +Montesson +Pontours +Urval +Visan +Velleron +Vacqueyras +Travaillan +Suzette +Sorgues +Uchaux +Savoillan +Sarrians +Sablet +Fouquereuil +Rasteau +Mornas +Roaix +Monieux +Lapalud +Mazan +Mormoiron +Grillon +Jonquerettes +Flassan +Entrechaux +Lagnes +Lafare +Abainville +Raveau +Pevensey Levels +Hop Brook Lake +Cournonterral +Ablainzevelle +Acheville +Achicourt +Affringues +Adinfer +Acq +Agny +Chorges +Tallard +Vauvert +Loconville +Sospel +Rijsoord +Benham Mound +Puy du Fou +Stompwijk +Strijensas +Burchenal Mound +Jublains +Marcoussis +De Wilp +Ugine +Uzerche +Isle Martin +Coburg Island +Allex +Wye Marsh +Aunac +Le Montet +Makemo +Gaillon +Mathew Mound +Norwood Mound +Boissezon +Turpin Site +Maakhir +Andlau +Longa Island +Geney +Mondonville +La Postolle +Saussignac +Demoret Mound +Aumessas +Aulas +Aujargues +Aubussargues +Aubord +Aubais +Arphy +Argilliers +Anduze +Alzon +Aimargues +Aigaliers +Mann Mound +Roberts Mound +Adena Mound +Calvisson +Juniville +Cesseville +Longueval +Raine Island +Vogelenzang +Moisson +Alteckendorf +Cheshire East +Doizieux +Virargues +Exmes +Carrouges +Eramosa Karst +Makuleke +Douvaine +Mennecy +Ablis +Cressensac +Massiac +Le Boulou +Moirans +Vergongheon +Montmarault +Corpeau +Montchanin +Sarralbe +Lorquin +Jeumont +Busigny +Esternay +La Capelle +Banassac +Marvejols +Les Vignes +Le Pompidou +Meyrueis +Ispagnac +La Canourgue +Badaroux +Uchaud +Sernhac +Redessan +Navacelles +Pouzilhac +Blandas +Meynes +Marguerittes +Manduel +Bagard +Steige +Archiac +Arthenac +Le Haillan +Germignac +Cierzac +Lonzac +Neuillac +Ayrens +Cromwell Manor +La Guerche +Vougeot +Fixin +Migennes +Corgoloin +Brochon +Couchey +Monthelie +Musigny +Bouzeron +Irancy +Mercurey +Nitry +Viozan +Dardilly +Toufflers +Junas +Caveirac +Sauve +Salindres +Concoules +Codognan +Chamborigaud +Collias +Garons +Caissargues +Bouillargues +Brignon +Bezouce +Bragassargues +Bordezac +Blauzac +Bourdic +Bernis +Billington Sea +West Linga +Chasseneuil +Beynac +Sudbrook Park +Brywood Park +Pleucadeuc +Ceann Ear +Les Ventes +Tourneville +Sassey +Sacquenville +Parville +Huest +Irreville +Guichainville +Miserey +Cierrey +Dardez +Gravigny +Fauville +Gauciel +Claville +Bacquepuis +Bernienville +Bourth +Bueil +Acquigny +Breuilpont +Le Vaudreuil +Le Torpt +Vannecrocq +Foulbec +Quittebeuf +Boulleville +Incarville +Thiberville +Authou +Les Authieux +Brionne +Lisors +Authevernes +Aubevoye +Rugles +Lieurey +Ambenay +Ajou +Aizier +Alizay +Bouquelon +Aigleville +Aclou +Acon +Ceann Iar +Steinhuder Meer +Alembon +Alette +Alincthun +Allouagne +Alquines +Ambrines +Amplier +Annequin +Amettes +Annezin +Anvin +Ambleteuse +Les Attaques +Attin +Aubrometz +Ayette +Audembert +Audrehem +Audinghen +Aumerval +Audincthun +Avroult +Avondance +Autingues +Averdoingt +Bailleulmont +Baincthun +Bainghen +Bailleulval +Balinghem +Busnes +Bancourt +Baralle +Barastre +Bavincourt +Beaurains +Beussent +Bermicourt +Bernieulles +Boyaval +Bazinghen +Bellebrune +Bellonne +Coulomby +Beaudricourt +Beuvrequen +Beaulencourt +Bergueneuse +Cuinchy +Bezinghem +Blendecques +Berneville +Beugny +Zutkerque +Bimont +Bourecq +Bouvelinghem +Beutin +Beugin +Bihucourt +Brias +Bomy +Beuvry +Blairville +Brimeux +Burbure +Boisdinghem +Brunembert +Blingel +Bouquehault +Boyelles +Boffles +Bourlon +Bucquoy +Caffiers +Buissy +Buneville +Canteleux +Chocques +Cagnicourt +Clerques +Lavoine +Milly +Sorbier +Cambligneul +La Calotterie +Canettemont +Canlers +La Cauchie +Caucourt +Auterrive +Aussevielle +Aydius +Aydie +Aubous +Auga +Audaux +Aubertin +Astis +Asson +Arudy +Artiguelouve +Artigueloutan +Arnos +Arrien +Arget +Argagnon +Aren +Aressy +Arette +Araux +Araujuzon +Anoye +Agnos +Andrein +Angous +Andoins +Accous +Abitain +Anos +Vendres +Vendargues +Sussargues +Balazuc +Loubressac +Autoire +Noalhac +Le Rozier +Javols +Fournels +Chaudeyrac +Les Hermaux +Les Salces +Grandvals +Chauchailles +Chaulhac +Chastanier +Chanac +Cassagnas +Chadenet +Canilhac +Blavignac +Brenoux +Les Bondons +Auroux +Belvezet +Bassurels +Pourcharesses +Pelouse +Palhers +Nasbinals +Les Bessons +Altier +Allenc +Antrenas +Vialas +Vebron +La Tieule +Serverette +Rimeize +Rousses +Le Recoux +Montrodat +Ribennes +Molezon +Le Massegros +Malbouzon +Les Laubies +Lajo +Julianges +Lachamp +Grandrieu +Gabrias +Fontans +Estables +Cornillac +Lisses +Chelers +Clarques +Clairmarais +Condette +Colembert +Clenleu +Cormont +Corbehem +Coulogne +Coullemont +Couin +Coyecques +Dannes +Couturelle +Duisans +Dohem +Delettes +Courset +Douriez +Manitoga +Echinghen +Ecquedecques +Heuringhem +Ecques +Hestrus +Hocquinghen +Hubersent +Houchin +Huclier +Humbercamps +Hulluch +Elnes +Estevelles +Ergny +Escalles +Ervillers +Festubert +Esquerdes +Essars +Hesmond +Favreuil +Farbus +Fampoux +Ferfay +Ferques +Feuchy +Foncquevillers +Ficheux +Floringhem +Fleurbaix +Fosseux +Frencq +Framecourt +Fresnoy +Fressin +Guisy +Galametz +Gavrelle +Gonnehem +Gosnay +Groffliers +Guarbecque +Guemps +Guigny +Guinecourt +Haisnes +Habarcq +Haillicourt +Haplincourt +Hermelinghen +Henneveux +Herlincourt +Halinghen +Hallines +Hamelincourt +Herbelles +Oldfields +Haravesnes +Hannescamps +Hardinghen +Helfaut +Hernicourt +Herbinghen +Hermaville +Hermies +Hermin +Steepletop +Inghem +Inxent +Isques +Isbergues +Ivergny +Journy +Labourse +Labroye +Lacres +Lambres +Laires +Lapugnoy +Lebiez +Lefaux +Ledinghem +Lespesses +Lespinoy +Lestrem +Leubringhen +Leulinghem +Libercourt +Licques +Liencourt +Liettres +Lignereuil +Linghem +Linzeux +Locon +Lisbourg +La Loge +Longuenesse +Lorgies +Lottinghen +Louches +Lozinghem +Lugy +Lumbres +Maintenay +Maisnil +Maisoncelle +Maninghem +Marant +Marconne +Marconnelle +Marenla +Marest +Martinpuich +Matringhem +Mazinghem +Mencas +Mazingarbe +Mercatel +Merlimont +Meurchin +Mingoval +Monchiet +Mondicourt +Montcavrel +Montenescourt +Morchies +Moringhem +Morval +Mouriez +Moulle +Nabringhen +Nesles +Neulette +Neuvireuil +Nordausques +Nortkerque +Noyellette +Oblinghem +Offin +Offekerque +Offrethun +Ostreville +Ourton +Palluel +Parenty +Pelves +Penin +Peuplingues +Pierremont +Pihem +Pittefaux +Planques +Plouvain +Polincove +Pommera +Le Ponchel +Pommier +Fleurey +Pressy +Pronville +Preures +Quelmes +Quercamps +Quernes +Quesques +Questrecques +Quilen +Radinghem +Racquinghem +Rebergues +Rebecques +Rebreuviette +Reclinghem +Renty +Rety +Regnauville +Rinxent +Rimboval +Rodelinghem +Robecq +Rollancourt +Rombly +Rougefay +Roquetoire +Roussent +Ruisseauville +Ruitz +Royon +Rumaucourt +Ruminghem +Ruyaulcourt +Zudausques +Salperwick +Sanghen +Le Sars +Saudemont +Saulchoy +Saulty +Duagh +Seninghem +Sempy +Senlecques +Serques +Servins +Setques +Simencourt +Sibiville +Siracourt +Sorrus +Le Souich +Souastre +Sombrin +Surques +Tangry +Tatinghem +Tardinghen +Teneur +Ternas +Vez +Zouafques +Heathfield Park +Landerneau +Lesneven +Pipriac +Loctudy +Plouguin +La Thieuloye +Thiembronne +Tubersent +Garlin +Tilques +Tincques +Tingry +Tollent +Tortefontaine +Les Mathes +Damblain +Cuers +Stony Kill Farm +Lirac +Lamelouze +Lecques +Issirac +Goudargues +Le Garn +Gailhan +Fressac +Euzet +Flaux +Domazan +Deaux +Domessargues +Dourbies +Courry +Crespian +Cornillon +Conqueyrac +Connaux +Corconne +Colognac +Combas +Collorgues +Cendras +Cavillargues +Codolet +Carsan +Carnas +Clarensac +Cardet +La Calmette +Le Cailar +Ploemel +Sarzeau +Vorey +Arzal +Arradon +Augan +Choisel +Beignon +Bieuzy +Berric +Bignan +Billio +Billiers +Bohal +Tortequesne +Tramecourt +Le Transloy +Trescault +Troisvaux +Valhuon +Vaudringhem +Verchin +Verchocq +Verlincthun +Brech +Brandivy +Bubry +Vermelles +Verquin +Caden +Camors +Verton +Carentoir +Caudan +Vincly +Waben +Violaines +Colpo +Concoret +Cournon +Le Cours +Le Croisty +Croixanvec +Damgan +Cruguel +La Gacilly +Gourhel +Gourin +Gueltas +Guern +Le Guerno +Guidel +Guilliers +Valmeinier +Inguiniel +Kerfourn +Kergrist +Silkwood Park +Kervignac +Souvigny +Landaul +Langonnet +Lantillac +Languidic +Lanvaudan +Lauzach +Pecqueuse +Uhrwiller +Limerzel +Lizio +Locmalo +Locmaria +Locqueltas +Loyat +Villemurlin +Viglain +Coullons +Wacquinghen +Malansac +Malestroit +Marzan +Mauron +Melrand +Merlevenez +Meslan +Missiriac +Meucon +Mohon +Molac +Monteneuf +Monterblanc +Monterrein +Muzillac +Naizin +Neulliac +Nostang +Nivillac +Noyalo +Chamarande +La Cavalerie +Le Palais +Peillac +Creissels +Persquen +Plaudren +Le Cros +Le Caylar +Les Rives +Plescop +Pleugriffet +Plouharnel +Plougoumelen +Plouray +Auvernaux +Pluherlin +Plumelec +Plumelin +Plumergat +Pluneret +Pluvigner +Porcaro +Priziac +Quelneuc +Quily +Quistinic +Rodilhan +Sardan +Salinelles +Savignargues +Salazac +Soustelle +Saze +Souvignargues +Soudorgues +Thoiras +Tornac +Tresques +Tharaux +Vallabrix +Verfeuil +Villevieille +Vissec +Roquedur +Sabran +Revens +Montdardier +Monoblet +Meyrannes +Le Martinet +Martignargues +Mauressargues +Mandagout +Puechredon +Pougnadoresse +Poulx +Pujaut +Les Plantiers +Peyremale +Parignargues +Orsan +Ners +Montignargues +Montmirat +Dions +Chars +Arbrissel +Antrain +Amanlis +Campel +Cardroc +Les Brulais +Broualan +Bruz +Brielles +Breteil +Bovel +La Boussac +Boistrudan +Boisgervilly +Baulon +La Baussaine +Villedoux +Remungol +Riantec +Roudouallec +Silfiac +Le Sourn +Sulniac +Taupont +Surzur +Theix +Le Saint +Kennicott Grove +Treignac +Chamberet +Ayen +Astaillac +Ambrugeat +Albussac +Allassac +Altillac +Affieux +Albignac +Avrieux +Arvillard +Arith +Avressieux +Allondaz +Albens +Aigueblanche +Aiguebelle +Valezan +Bozel +Le Marigot +Le Vauclin +Poissons +Round Church +Valbois +Morey +Duclair +Villebon +Coudures +Outarville +Sergeac +Avaux +Aussonce +Authe +Autruche +Autry +Les Ayvelles +Auflance +Asfeld +Aubrives +Arreux +Arnicourt +Aouste +Annelles +Antheny +Angecourt +Anchamps +Amblimont +Aiglemont +Amagne +Les Alleux +Alincourt +Ayzieu +Barcugnan +Lavardens +Avezan +Ayguetinte +Bajonnette +Avensac +Aussos +Aurimont +Lunac +Custines +Wolschheim +Steinbourg +Waldolwisheim +Monswiller +Ottersthal +Otterswiller +Saessolsheim +Printzheim +Maennolsheim +Gottesheim +Hattmatt +Furchhausen +Friedolsheim +Eckartswiller +Dettwiller +Landersheim +Haegen +Asswiller +Altwiller +Artolsheim +Avolsheim +Auenheim +Allenwiller +Gottenhouse +Adamswiller +Achenheim +Altenheim +Avocourt +Avioth +Andernay +Ancemont +Amanty +Aincreville +Donacarney +Rugney +Tobico Marsh +Gunsbach +Alwyn Court +Wambercourt +Wamin +Dunleith +Ytres +Witternesse +Zoteux +Wittes +Wizernes +Wismes +Wirwignes +Wisques +Wimille +Willeman +Willencourt +Wicquinghem +Wissant +Widehem +Westrehem +Willerval +Le Wast +Wanquetin +Wancourt +Warluzel +Wailly +Wardrecques +Montesquiou +Avelanges +Avosnes +Arrans +Auxant +Autricourt +Arconcey +Argilly +Arceau +Ancey +Antheuil +Allerey +Aiserey +Agey +Arcenant +Ahuy +Ruoms +Burzet +Bozas +Boffres +Bessas +Bidon +Brossainc +Beauchastel +Baix +Asperjoc +Banne +Les Assions +Arlebosc +Barnas +Ardoix +Andance +Arcens +Ajoux +Alissas +Aizac +Accons +Aubignas +Ailhon +Le Teil +Rochemaure +Ucel +Salavas +Lanas +Lavilledieu +Dornas +Coucouron +Jaujac +Le Cheylard +Larnas +Gras +Babberich +Jaketown Site +La Mure +Molesmes +Murbach +Rankin Ranch +Hocquigny +Auderville +Arutua +Fangatau +Fakarava +Reao +Tatakoto +Cametours +Vou +Uberach +Baerendorf +Balbronn +Gigouzac +Corenc +Le Bugue +Nivelle +Chabanais +Arlay +Sours +Western Orissa +Gouzon +Ulu Kalumpang +Civrieux +Cleyzieu +Contrevoz +Cormoz +Corveissiat +Bidu Bidu +Courmangoux +Courtes +Crottet +Marchamp +Marlieux +Martignat +Meillonnas +Montcet +Montracol +Les Neyrolles +Outriaz +Perrex +Lingreville +Pueblo Zoo +Modjeska House +Haalderen +Vany +Felletin +Nampont +Montespan +Hawar +Eichhoffen +Angoisse +Dussac +Nanthiat +Lanouaille +Sarlande +Vidauban +Anlhiac +Excideuil +Avanton +Sardent +Lake McConaughy +Salagnac +Vaumeilh +Bouzigues +Buzignargues +Boisseron +Brenas +Berlou +Baillargues +Autignac +Assignan +Azillanet +Aumelas +Argelliers +Bassan +Aumes +Les Aires +Adissan +Aigne +Agel +Arboras +Abeilhan +Bessan +Fouras +Miglos +Azy +Cantenac +Le Boisle +Valloire +Brassempouy +Bannalec +Botmeur +Bolazec +Botsorhel +Bodilis +Bohars +Brasparts +Brennilis +Collorec +Commana +Daoulas +Dirinon +Edern +Esquibien +Garlan +Gouesnou +Guengat +Gourlizon +Goulven +Goulien +Guerlesquin +Guiclan +Guilers +Guilvinec +Guipavas +Guipronvel +Hanvec +Henvic +Irvillac +Kergloff +Kerlaz +Kernilis +Lanarvily +Landeleau +Landivisiau +Landudal +Landunvez +Landudec +Lanhouarneau +Lanildut +Lanmeur +Riedwihr +Agenville +Lanneuffret +Lannilis +Le Drennec +Le Faou +Le Juch +Le Ponthou +Locquirec +Loperhet +Loqueffret +Lothey +Mahalon +Mespaul +Milizac +Motreff +Pencran +Pleuven +Pleyben +Arnas +Agenvillers +Nouvion +Aigneville +Plogonnec +Airaines +Plomodiern +Plomeur +Plouarzel +Ploudaniel +Ploudiry +Plouescat +Plougar +Plougasnou +Plougonvelin +Plougonven +Plougoulm +Plougourvest +Plouguerneau +Plouider +Plouigneau +Ploumoguer +Plourin +Plouvien +Plouvorn +Plovan +Pluguffan +Waly +Allaines +Allenay +Allery +Allonville +Porspoder +Pouldreuzic +Pouldergat +Poullaouen +Primelin +Roscanvel +Rosporden +Nades +Prudhomat +Olargues +Mosset +Lagrasse +Eus +Villemagne +Taurize +Villetritouls +Larressingle +Sarrant +Santec +Andainville +Scrignac +Sibiril +Sizun +Treffiagat +Ponsonnas +Susville +Marcieu +Monteynard +Cholonge +Sousville +Laffrey +Chantelouve +Lavaldens +Ornon +Oulles +Valbonnais +Valjouffrey +Vaujany +Clelles +La Tronche +Hagondange +Sassenage +Seyssins +Murianette +Noyarey +Poisat +Meylan +Eybens +Crolles +Vernas +Voissant +Torchefelon +Trept +Soleymieu +Serpaize +Paladru +Renage +Pontcharra +Charavines +Huez +Choranche +Burcin +Chamrousse +Bressieux +Brangues +La Buisse +Bossieu +Blandin +Bonnefamille +Bernin +Bilieu +Bessins +Bizonnes +Beaucroissant +Beaufin +Balbins +Biviers +Avignonet +Assieu +Autrans +Allevard +Apprieu +Arandon +Arzay +Les Adrets +Les Abrets +Allemond +Agnin +Creysseilles +Le Crestet +Cheminas +Chirols +Chauzon +Chazeaux +Chassiers +Charnas +Chalencon +Chandolas +Chambonas +Mirmande +Limeuil +Monflanquin +Pecquencourt +Raismes +Abscon +Nueltin Lake +Marsillargues +Andechy +Argoules +Fareins +Farges +Flaxieu +Francheleins +Garnerans +Duranus +Germagnat +Argeliers +Bambecque +Esquelbecq +Bollezeele +Steenvoorde +Broxeele +Haubourdin +Wicres +Wavrin +Tressin +Vendeville +Verlinghem +Warneton +Templemars +Seclin +Sequedin +Santes +Ronchin +Mouvaux +Marquillies +Linselles +Leers +Herlies +Houplines +Lompret +Hantay +Cysoing +Gruson +Escobecques +Frelinghien +Emmerin +Fretin +Marcoing +Thiant +Iwuy +Capinghem +Baisieux +Suzan +Thumeries +Tourmignies +Wannehain +Ostricourt +Wahagnies +Phalempin +Provin +Templeuve +Mouchin +Moncheaux +Louvil +Le Maisnil +Gondecourt +Chemy +Ennevelin +Carnin +Genech +Bourghelles +Bauvin +Avelin +Bachy +Attiches +Hautmont +Iffendic +Cobrieux +Arleux +Brette +Gorrevod +Coustouges +Grilly +Taillet +Taulis +Serralongue +Groissiat +Illiat +Izenave +Jasseron +Montferrer +Montbolo +Le Tech +Les Cluses +Jujurieux +Calmeilles +Corsavy +Laiz +Estagel +Labalme +Lalleyriat +Le Vivier +Tautavel +Targassonne +Lancrans +Saillagouse +Oreilla +Matemale +Fillols +Lescheroux +Fontrabiouse +Eyne +Arboussols +Leyssard +La Cabanasse +Estavar +Nyer +Canaveilles +Serdinya +Sauto +Fuilla +Nahuja +Llo +Dorres +Polliat +Le Poizat +Peyriat +Pouillat +Pressiat +Reyssouze +Valmanya +Urbanya +Taurinya +Tarerach +Sahorre +Souanyas +Sournia +Railleu +Rabouillet +Rigarda +Bihorel +Ten Chimneys +Saugues +Lompnas +Seillonnaz +Yzeure +Volx +Zinswiller +Vulbens +Avelesges +Authuille +Aveluy +Autheux +Authieule +Ayencourt +Assevillers +Aubercourt +Aubvillers +Arvillers +Auchonvillers +Assainvillers +Liancourt Rocks +Ploufragan +Allineuc +Aucaleuc +Berhet +Bobital +Binic +Boqueho +La Bouillie +Bourbriac +Bourseul +Bringolo +Brusvily +Calanhel +Calorguen +Le Cambout +Canihuel +Camlez +Chatte +Luisant +Caulnes +Coadout +Coatascorn +Cohiniac +Corlay +Corseul +Erquy +Gausson +Gouarec +Goudelin +Le Gouray +Guenroc +Gurunhuel +La Harmoye +Hengoat +Hillion +Illifaut +Kerbors +Kerien +Kerpert +Lancieux +La Landec +Lanfains +Langast +Langourla +Langoat +Languenan +Langueux +Laniscat +Lanleff +Lanloup +Lanmodez +Lanrelas +Lanrivain +Lantic +Lannebert +Laurenan +Le Leslay +Lanvallay +Lanvollon +Locarn +Lanvellec +Lohuec +Louargat +Magoar +Mantallot +La Malhoure +Mellionnec +Merdrignac +Le Merzer +Meslin +Morieux +Gahard +Le Moustoir +Noyal +Paule +Penguily +Pabu +Planguenoual +Plaintel +Plerneuf +Plessala +Pleubian +Robersart +Pleudaniel +Azelot +Azerailles +Autrepierre +Arracourt +Armaucourt +Athienville +Anthelupt +Ansauville +Arnaville +Amenoncourt +Anoux +Angomont +Anderny +Allain +Allamps +Ancerviller +Aingeray +Affracourt +Allamont +Abaucourt +Plouagat +Plouaret +Plouasne +Ploubalay +Ploubezre +Plougonver +Plougras +Plougrescant +Plouguenast +Plouha +Plouguiel +Plouisy +Ploumagoar +Ploumilliau +Plourhan +Plourivo +Pludual +Plufur +Pluduno +Plumaudan +Plumaugat +Plumieux +Plouvara +Plurien +Plussulien +Pluzunet +Pommeret +Pontrieux +Pordic +Pouldouran +Letia +Baizieux +Barleux +Bavelincourt +Bayencourt +Bayonvillers +Bazentin +Quemperven +Quintenic +Quessoy +Le Quillio +Quintin +Le Quiou +Rospez +Rostrenen +Yvias +Yffiniac +Aguilcourt +Aizelles +Annois +Arrancy +Artemps +Ronvaux +Bannoncourt +Wittelsheim +Bantheville +Artzenheim +Appenwihr +Andolsheim +Ammerschwihr +Ammerzwiller +Altenach +Roderen +Rorschwihr +Wuenheim +Westhalten +Pfaffenheim +Orschwihr +Gueberschwihr +Hattstatt +Soultzmatt +Obermorschwihr +Sigolsheim +Beblenheim +Kientzheim +Bennwihr +Wettolsheim +Hunawihr +Zellenberg +Rodern +Rouffach +Wintzenheim +Mittelwihr +Les Autels +La Bouteille +Orschwiller +La Vancelle +Blienschwiller +Mittelbergheim +Ingolsheim +Hunspach +Heiligenstein +Scherwiller +Itterswiller +Wimmenau +Bourgheim +Reichstett +Vendenheim +Blaesheim +Ingwiller +Goxwiller +Gertwiller +Oberhausbergen +Wolfisheim +Mundolsheim +Lipsheim +Geispolsheim +Holtzheim +Eckwersheim +Entzheim +Marlenheim +Fegersheim +Meyenheim +Eckbolsheim +Houssen +Habsheim +Kintzheim +Krautergersheim +Seltz +Innenheim +Domfessel +Wittenheim +Epfig +Ottmarsheim +Niederhaslach +Courbes +Savy +Sissonne +Sorbais +Squiffiec +Aubure +Munwiller +Muntzenheim +Munchhouse +Ambleny +Ancienville +Ambrief +Attilly +Artonges +Amifontaine +Aubenton +Muespach +Mortzwiller +Mooslargue +Moosch +Mollau +Moernach +Mitzach +Mittlach +Metzeral +Masevaux +Mertzen +Reiningue +Dolleren +Godewaersvelde +Soustons +Angresse +Cauna +Aurice +Audignon +Sewen +Manspach +Malmerspach +Macouba +Le Diamant +Ducos +Le Carbet +Cantaron +Bendejun +Ardilleux +Caille +Bougon +Pamproux +Exoudun +Adilly +Aiffres +Amailloux +Aigonnay +Blausasc +Courmes +Beuil +Bairols +Auvare +Ascros +Amirat +Roubion +Falicon +La Gaude +Castagniers +Roquesteron +Le Rouret +Massoins +Pierrefeu +Rimplas +Pierlas +Peymeinade +Lantosque +La Penne +Peillon +Le Tignet +Toudon +Valdeblore +Valderoure +Venanson +Sallagriffon +Sigale +Gorbio +Guillaumes +Carros +Ilonse +Saorge +Lieuche +Tramain +Le Mas +Les Mujouls +Caussols +Daluis +Escragnolles +Entraunes +Fontan +Les Ferres +Treffrin +Tressignaux +Samognat +Sauverny +Servignat +Sermoyer +Vandeins +Vernoux +Vescours +Vesancy +Audignicourt +Audigny +Autremencourt +Bancigny +Autreppes +Barisis +Beaurevoir +Beautor +Berlise +Bernot +Bellenglise +Benay +Berrieux +Bertricourt +Berthenicourt +Besmont +Beuvardes +Bichancourt +Beugneux +Blesmes +Bieuxy +Bonnesvalyn +Bonneil +Beaumetz +Beauquesne +La Chabanne +Vitray +Coates Castle +Bellancourt +Belleuse +Vron +Bergicourt +Bermesnil +Bernaville +Thorey +Risoul +Bernes +Bertangles +Bertrancourt +Bettembos +Belleu +Beuvraignes +Acy +Bouffignereux +Bouresches +Brasles +Brenelle +Breny +Brumetz +Bruys +Buire +Bucilly +Brunehamel +Buironfosse +Burelles +Bussiares +Le Catelet +Camelin +Cerizy +Cerseuil +Chacrise +Chaillevois +Chaourse +Chalandry +Chamouille +Chaudun +Le Charmel +Chavonne +Chassemy +Chavignon +Chevregny +Chaudardes +Chouy +Chierry +Cierges +Clastres +Coingt +Clairfontaine +Chevennes +Condren +Commenchon +Connigis +Contescourt +Colonfay +Concevreux +Corbeny +Coupru +Couvrelles +Corcy +Courmelles +Coyolles +Cramaille +Craonnelle +Courboin +Crouy +Craonne +Crupilly +Cuffies +Danizy +Cuirieux +Dampleux +Dammard +Dallon +Dhuizel +Dercy +Dohis +Cugny +Deuillet +Dorengt +Dolignon +Dravegny +Englancourt +Dommiers +Erloy +Erlon +Effry +Droizy +Domptin +Essises +Faucoucourt +Fieulaine +Folembray +Fonsommes +Foreste +Festieux +Fourdrain +Fossoy +Fressancourt +Gandelu +Gauchy +Gergny +Glennes +Gibercourt +Gizy +Gercy +Goussancourt +Gernicourt +Grandrieux +Gronard +Grugies +Gricourt +Guivry +Guignicourt +Grougis +Guny +Haramont +Happencourt +Hannapes +Guyencourt +Harcigny +Hary +Hautevesnes +Haution +Harly +Hinacourt +Holnon +Houry +Itancourt +Housset +Jeancourt +Iviers +Jouaignes +Jaulgonne +Jeantes +Jumencourt +Laigny +Jumigny +Lanchy +Laffaux +Lappion +Laversine +Lehaucourt +Lavaqueresse +Lempire +Laniscourt +Latilly +Leschelle +Lesges +Lerzy +Lesdins +Lhuys +Lierval +Lislet +Lizy +Longpont +Leury +Levergies +Loupeigne +Luzoir +Macogny +La Malmaison +Malzy +Maizy +Macquigny +Manicamp +Marfontaine +Mayot +Margival +Merval +Mennessis +Meurival +Mennevret +Molinchart +Mondrepuis +Monampteuil +Montbavin +Monnes +Montbrehain +Monthenault +Monthiers +Montgobert +Monthurel +Montlevon +Morsain +Muscourt +Nauroy +Neuflieux +Nogentel +Ohis +Noircourt +Ollezy +Orainville +Omissy +Noyales +Ostel +Kaliningrad +Paissy +Papleux +Pargnan +Parfondru +Parpeville +Pernant +Pasly +Pavant +Pithon +Ploisy +Pierremande +Pignicourt +Plomion +Pontru +Pontruet +Pontavert +Priez +Prisces +Proix +Proisy +Prouvais +Regny +Raillimont +Ramicourt +Renansart +Renneval +Remies +Retheuil +Ribemont +Rogny +Roupy +Roucy +Rougeries +Samoussy +Seboncourt +Septmonts +Saulchery +Serain +Serches +Sequehart +Saponay +Septvaux +Selens +Soize +Sermoise +Sommelans +Sinceny +Sommeron +Taillefontaine +Tergnier +Le Sourd +Surfontaine +Thenailles +Thenelles +Travecy +Thiernu +Tartiers +Le Thuel +Trefcon +Tupigny +Trucy +Variscourt +Urvillers +Urcel +Vassogne +Vaudesson +Vasseny +Vassens +Vauxbuin +Vendeuil +Vendhuile +Vauxtin +Vauxrezis +Vendelles +Vauxaillon +Venizel +Vermand +Le Verguier +Verdilly +Veslud +Viffort +Vierzy +Villemontoire +Vuillery +Voharies +Vivaise +Vregny +Wassigny +Vorges +Watigny +Voyenne +Wimy +Agonges +Archignat +Wissignicourt +Abrest +Andelaroche +Arfeuilles +Audes +Arronnes +Avermes +Barberier +Biozat +Bellenaves +Billezois +Le Bouchaud +Blomard +Beaulon +Bizeneuille +Bayet +Braize +Cesset +Chamblet +Bransat +Charmeil +Chassenard +Le Brethon +Bresnay +Busset +Chevagnes +Chouvigny +Chazemais +Contigny +Brugheas +Chezelle +Coulandon +Coutansouze +La Chapelaude +Chavroches +Cressanges +Cusset +Couzon +Droiturier +Doyet +Le Donjon +Escurolles +Fourilles +Franchesse +Fleuriel +La Guillermie +Gennetines +Huriel +Gipcy +Lalizolle +Jenzat +Isserpent +Gouise +Hyds +Langy +Lenax +Loriges +Liernolles +Limoise +Lamaids +Givarlais +Loddes +Laprugne +Luneau +Lusigny +Mariol +Meaulne +Mesples +Mazerier +Mazirat +Meillers +Montilly +Molles +Montord +Molinet +Montvicq +Nassigny +Montbeugny +Meillard +Neure +Nizerolles +Montoldre +Ronnet +Quinssaines +Sauvagny +Saulzet +Serbannes +Sanssat +Saulcet +Sussat +Seuillet +Sazeret +Terjat +Thionne +Theneuille +Servilly +Tortezais +Treteau +Treban +Treignat +Tronget +Valignat +Veauce +Venas +Vieure +Valigny +Le Veurdre +Le Vilhain +Viplaix +Vaumas +Vernusse +Voussac +Verneix +Villebret +Vendat +Ygrande +Archail +Allos +Auzet +Aubignosc +Beauvezer +Barles +Bellaffaire +Bevons +Bayons +Le Brusquet +Champtercier +Le Caire +Clamensane +Blieux +Cruis +Demandolx +Draix +Clumanc +Curbans +Entrevennes +Entrages +Entrepierres +Enchastrayes +Gigors +Ganagobie +Estoublon +Lambruisse +Jausiers +Fontienne +La Javie +Limans +Le Fugeret +Majastres +Lardiers +Mallemoisson +Melve +Malijai +Meyronnes +Moriez +Montlaux +Montsalier +Mison +Montfuron +Nibles +Niozelles +Montjustin +Les Omergues +Ongles +Oppedette +Oraison +Peipin +Pierrevert +Redortiers +La Rochegiron +Puimoisson +Peyroules +Quinson +Puimichel +Rougon +Roumoules +Seyne +Sigonce +Sausses +Selonnet +Soleilhas +Tartonne +Valavoire +Thoard +Ubraye +Turriers +Sourribes +Les Thuiles +Valbelle +Valensole +Verdaches +Vergons +Valernes +Villemus +Volonne +Ancelle +Barbaise +Bayonville +Ballay +Bignicourt +Biermes +Blagny +Bergnicourt +Bertoncourt +Bouconville +Boulzicourt +Boutancourt +La Besace +Bourcq +Bouvellemont +Blombay +Cernion +Bulson +Challerange +Cauroy +Champigneulle +Chardeny +Charbogne +Charnois +Briquenay +Cheveuges +Contreuve +Cornay +Cliron +Dommery +Damouzy +Draize +Douzy +Dricourt +Donchery +Estrebay +Fagnon +Exermont +Faissault +Foisches +Flize +Fleigneux +Fraillicourt +Fligny +Francheval +Germont +Fromelennes +Gernelle +Girondelle +Givron +Givonne +Fromy +Gespunsart +La Francheville +Grandham +Gomont +La Grandville +Glaire +Hagnicourt +Hannappes +Haudrecy +Harcy +Harricourt +Guincourt +Haybes +La Horgne +Houldizy +Herbeuval +Laifour +Jonval +Leffincourt +Lametz +Houdilcourt +Landrichamps +Lalobbe +Liart +Linay +Lucquy +Liry +Mairy +Inaumont +Lumes +Lonny +Malandry +Marby +Maranwez +Jandun +Manre +Margut +Marlemont +Marquigny +La Moncelle +Mogues +Messincourt +Mondigny +Mazerny +Montgon +Monthois +Les Mazures +Montcheutin +Mouron +Montmeillant +Neufmanil +Noirval +Neuvizy +Nouart +Neufmaison +Nouzonville +Oches +Omont +Pauvres +Omicourt +Osnes +Raillicourt +Rancennes +Regniowez +Renwez +Roizy +Rimogne +La Sabotterie +Sachy +Rubigny +Senuc +Semuy +Seuil +Sommauthe +Singly +Sommerance +Sury +Sormonne +Sugny +Taizy +Taillette +Tarzy +Tagnon +Thelonne +Thilay +Le Thour +Touligny +Tournavaux +Stonne +Tourteron +Vendresse +Tournes +Verpel +Voncq +Wagnon +Vrizy +Yvernaumont +Yoncq +Wasigny +Williers +Wignicourt +Darbres +Devesset +Eclassan +Empurany +Freyssenet +Flaviac +Fabras +Genestelle +Dompnac +Glun +Grospierres +Issanlas +Gluiras +Joannas +Juvinas +Issamoulenc +Labeaume +Laboule +Lamastre +Lanarce +Lalouvesc +Laveyrune +Lavillatte +Limony +Lyas +Laviolle +Malbosc +Jaunac +Mauves +Meysse +Mariac +Montselgues +Meyras +Peyraud +Peaugres +Mercuer +Planzolles +Plats +Le Plagnal +Pradons +Quintenas +Rompon +Rochecolombe +Pranles +Rochepaule +Roiffieux +Le Pouzin +Rochessauve +Savas +Sampzon +Satillieu +Silhac +Sceautres +Sanilhac +Tauriers +La Souche +Thueyts +Vagnas +Vanosc +Vaudevant +Valgorge +Thorrenc +Villevocance +Vesseaux +Vinzieux +Toulaud +Visseiche +Vinezac +Vocance +Alliat +Aleu +Arabaux +Les Vans +Alzen +Arignac +Arvigna +Ascou +Arnave +Arrout +Argein +Augirein +Aucazein +Axiat +Audressein +Auzat +Vignoc +Baulou +Balacet +Besset +Bestiac +Bethmale +Benagues +Bouan +Boussenac +Betchat +Cadarcet +Calzan +Camarade +Le Carlaret +Caychax +Cazavet +Le Verger +Couflens +Coussa +Contrazy +Crampagna +Dalou +Dreuilhe +Coutens +Engomer +Esclagne +Encourtiech +Escosse +Eycheil +Fornex +Freychenet +Ganac +Galey +Esplas +Le Fossat +Garanou +Ignaux +Gabre +Goulier +Ilhat +Illartein +Gourbit +Les Issards +Justiniac +Lanoux +Larcat +Lacourt +Lapenne +Larnat +Lescousse +Larbont +Lesparrou +Lercoul +Lassur +Lescure +Lieurac +Leychert +Limbrassac +Loubaut +Malegoude +Lordat +Luzenac +Manses +Mercenac +Montardit +Massat +Montgauch +Monesple +Montagagne +Montseron +Nescus +Nalzen +Montferrier +Niaux +Orgibet +Orgeix +Le Pla +Orus +Pradettes +Le Puch +Le Peyrat +Les Pujols +Raissac +Prayols +Rimont +Sabarat +Rouze +Rieucros +Roquefixade +Roumengoux +Treffendel +Saurat +Seix +Salsein +Senconac +Sautel +Sentein +Siguer +Sieuras +Sorgeat +Sinsat +Soula +Tabre +Surba +Soulan +Tignac +Tourtrol +Tourtouse +Uchentein +Unac +Unzent +Vaychis +Varilhes +Ussat +Vicdessos +Ventenac +Vernajoul +Ustou +Ailleville +Verniolle +Vernaux +Arconville +Thourie +Arrelles +Talensac +Aubeterre +Teillay +Assenay +Avreuil +Balignicourt +Barbuise +Baroville +Bernon +Bessy +Bertignolles +Beurey +Bayel +Taillis +Boulages +Bossancourt +Bouranton +Blignicourt +Bourdenay +Bourguignons +Brillecourt +La Chaise +Chacenay +Channes +Chauchigny +Chaudrey +Chaumesnil +Chaserey +Chennegy +Chavanges +Chervey +Cormost +Courceroy +Courtaoult +Coclois +Coussegrey +Courteranges +Courteron +Couvignon +Crancey +Courtenot +Cussangy +Davrey +Dienville +Dosches +Dosnon +Cunfin +Donnement +Engente +Estissac +Dolancourt +Feuges +Fontette +Fontvannes +Fravaux +Fralignes +Fresnay +Fuligny +Hampigny +Les Granges +Essoyes +Herbisse +Jasseines +Joncreuil +Javernant +Jessains +Landreville +Jeugny +Juvancourt +Lantages +Lassicourt +Lagesse +Lentilles +Laubressel +Longsols +Lesmont +Magnicourt +Mesgrigny +Mergey +Mathaux +Messon +Meurville +Montaulin +Montfey +Montgueux +Montpothier +Morembert +Montsuzain +Onjon +Ortillon +Palis +Pargues +Payns +Polisy +Polisot +Poivres +Prugny +Pougy +Proverville +Les Riceys +Radonvilliers +Ramerupt +Roncenay +Ruvigny +Semoine +La Saulsotte +Thieffrain +Sommeval +Souligny +Torvilliers +Trannes +Trancault +Turgy +Trouans +Unienville +Vernonvilliers +Vauchonvilliers +Vauchassis +Verricourt +Vaucogne +Villadin +Villacerf +Vanlay +Vaupoisson +Villemereuil +Vallentigny +Villeloup +Villemorien +Villery +Vinets +Vosnon +Villemoyenne +Voigny +Vulaines +Ajac +Alaigne +Airoux +Armissan +Antugnac +Alzonne +Aunat +Alairac +Arzens +Axat +Vougrey +Bagnoles +Baraigne +Belflou +Badens +Belpech +Berriac +Barbaira +Belvis +La Bezole +Bouisse +Bouilhonnac +Blomac +Le Bousquet +Bizanet +Brugairolles +Les Brunels +Bourigeole +Bugarach +Boutenac +Cailhavel +Cailhau +Cabrespine +Cambieure +Brenac +Cailla +Carlipa +Capendu +La Cassaigne +Castans +Caudebronde +Caudeval +Cavanac +Cassaignes +Cazalrenoux +Le Clat +Comigne +Citou +Couffoulens +Counozouls +Cournanel +Courtauly +Coudons +Cucugnan +Cruscades +Coustouge +Donazac +Coustaussa +Davejean +Dernacueillette +Douzens +Escouloubre +Espezel +La Fajolle +Fendeille +Escales +Fabrezan +Feuilla +Floure +Fourtou +Fontjoncouse +Galinagues +Generville +Ginoles +Gourvieille +Gincla +Gruissan +Les Ilhes +Gramazie +Hounoux +Greffeil +Lafage +Joucou +Lanet +Laurabuc +Laurac +Lauraguel +Leuc +Limousis +Lignairolles +Loupia +Magrie +Malras +Marquein +Marcorignan +Marseillette +Mayronnes +Mazuby +Molandier +Mayreville +Molleville +Montgradail +Monthaut +Mirepeisset +Moussan +Moussoulens +Mouthoumet +Moux +Montjardin +Ornaisons +Ouveillan +Biert +Palairac +Palaja +Paraza +Pauligne +Padern +Paziols +Pennautier +Peyrens +Plaigne +Pexiora +Plavilla +Pezens +Pomas +Preixan +Puginier +Pieusse +Quirbajou +Quintillan +Ribaute +Ribouisse +Rivel +Roullens +Rustiques +Roubia +Rodome +Rouvenac +La Redorte +Saissac +Salvezines +La Serpent +Salsigne +Soupex +Seignalens +Souilhe +Talairan +Sigean +Terroles +Salza +Sougraigne +Souilhanels +Tourreilles +Tournissan +Trassanel +Tuchan +Trausse +Villalier +Tourouzelle +Treilles +Villardonnel +Villautou +Villasavary +Verzeille +Villedaigne +Villegailhenc +Vignevieille +Villedubert +Villefloure +Villebazy +Vinassan +Villegly +Villesiscle +Villespy +Aguessac +Alpuech +Ambeyrac +Les Albres +Arvieu +Auzits +Baraqueville +Brandonnet +Brasc +Brommat +Buzeins +Camjac +Campouriez +Camboulazet +Campuac +Cantoin +Castelmary +Combret +Compeyre +Le Cayrol +Le Clapier +Connac +Compolibat +Coupiac +Coubisou +La Cresse +Druelle +Coussergues +Drulhe +Durenque +Espeyrac +Le Fel +Flagnac +Firmi +Fondamente +La Fouillade +Galgan +Gissac +Gramond +Golinhac +Graissac +Goutrens +Laissac +Lacalm +Lapanouse +Huparlac +Lavernhe +Lassouts +Maleville +Manhac +Martrin +Meljac +Martiel +Montagnol +Montbazens +Mayran +Montjaux +Montrozier +Murasson +Montfranc +Murols +Naucelle +Le Nayrac +Nauviale +Olemps +Paulhe +Peyreleau +Privezac +Pousthomy +Pruines +Pradinas +Rieupeyroux +Rebourguil +La Rouquette +Roussennac +Rodelle +Saujac +Salmiech +La Serre +La Terrisse +Taussac +Sanvensa +Valzergues +Le Truel +Toulonjac +Veyreau +Vailhourles +Le Vibal +Viviez +Vimenet +Vaureilles +Barembach +Villecomtal +Baldenheim +Batzendorf +Bassemberg +Bellefosse +Bernardswiller +Bergbieten +Beinheim +Bernolsheim +Pomayrols +Berstheim +Bettwiller +Bilwisheim +Betschdorf +Bissert +Bitschhoffen +Blancherupt +Bietlenheim +Bischholtz +Birkenwald +Bindernheim +Romazy +Biblisheim +Boofzheim +Berstett +La Broque +Bolsenheim +Rimou +Bootzheim +La Richardais +Buswiller +Climbach +Bossendorf +Retiers +Cosswiller +Cleebourg +Butten +Crastatt +Dangolsheim +Dauendorf +Le Rheu +Dahlenheim +Diebolsheim +Dalhunden +Daubensand +Dimbsthal +Diemeringen +Diedendorf +Dehlingen +Dieffenthal +Donnenheim +Dingsheim +Duntzenheim +Durstel +Duppigheim +Durningen +Drusenheim +Dorlisheim +Elsenheim +Duttlenheim +Engwiller +Erckartswiller +Drulingen +Durrenbach +Eschbourg +Ettendorf +Eywiller +Flexbourg +Forstfeld +Eschwiller +Frohmuhl +Forstheim +Geiswiller +Furdenheim +Gambsheim +Geudertheim +Fouday +Gingsheim +Gerstheim +Gougenheim +Gresswiller +Gungwiller +Grendelbruch +Grassendorf +Handschuheim +Hangenbieten +Gundershoffen +Gunstett +Harskirchen +Heidolsheim +Pleurtuit +Herrlisheim +Herbsheim +Herbitzheim +Hegeney +Hengwiller +Hessenheim +Hinsbourg +Hindisheim +Hipsheim +Fouchy +Hinsingen +Hochstett +Hohatzenheim +Hirschland +Ichtratzheim +Hohfrankenheim +Hoffen +Hurtigheim +Le Hohwald +Ingenheim +Huttendorf +Jetterswiller +Ittenheim +Kaltenhouse +Kertzfeld +Keffenach +Keskastel +Kindwiller +Kauffenheim +Kienheim +Kesseldorf +Issenhausen +Kilstett +Kogenheim +Kolbsheim +Krautwiller +Kurtzenhouse +Hilsenheim +Pleumeleuc +Pleugueneuc +Kuttolsheim +Kriegsheim +Plesder +Lampertsloch +Plerguer +Littenheim +Lixhausen +Leutenheim +Lochwiller +Lorentzen +Lutzelhouse +Marckolsheim +Limersheim +Mackenheim +Lobsann +Mackwiller +Maisonsgoutte +Lembach +Melsheim +Memmelshoffen +Matzenheim +Mietesheim +Meistratzheim +Menchhoffen +Minversheim +Mollkirch +Lalaye +Morschwiller +Muttersholtz +Mutzenhouse +Mussig +Neubois +Mothern +Ebersmunster +Niedernai +Niedermodern +Niedersteinbach +Obenheim +Nordhouse +Odratzheim +Offwiller +Obersteinbach +Obersoultzbach +Ohlungen +Oberbronn +Oberlauterbach +Oberhaslach +Osthouse +Ottwiller +Oermingen +Pfalzweyer +Preuschdorf +Offendorf +Olwisheim +Pfettisheim +Ohnenheim +Puberg +Petersbach +Plaine +Rangen +Rauwiller +Quatzenheim +Ottrott +Reichsfeld +Reutenbourg +Osthoffen +Le Pertre +Retschwiller +Reipertswiller +Rimsdorf +Ratzwiller +Richtolsheim +Rhinau +Riedseltz +Ringendorf +Rittershoffen +Ranrupt +Rossfeld +Roppenheim +Rosteig +Romanswiller +Rottelsheim +Rothau +Rosenwiller +Ringeldorf +Saasenheim +Rothbach +Rohrwiller +Salmbach +Rountzenheim +Salenthal +Sarrewerden +Schaeffersheim +Schirrhoffen +Schalkendorf +Schirrhein +Schillersdorf +Schopperten +Schwobsheim +Sermersheim +Schnersheim +Schwenheim +Sessenheim +Schleithal +Schwindratzheim +Siewiller +Singrist +Solbach +Siltzheim +Sparsbach +Stattmatten +Stotzheim +Stundwiller +Steinseltz +Surbourg +Traenheim +Tieffenbach +Truchtersheim +Struth +Sundhouse +Uhlwiller +Urbeis +Valff +Urmatt +Uttenhoffen +Uttwiller +Walbourg +Volksberg +Wahlenheim +Uttenheim +La Walck +Wasselonne +Waldersbach +Weinbourg +Weislingen +Westhoffen +Westhouse +Wildersbach +Weyersheim +Weiterswiller +Windstein +Weitbruch +Wingersheim +Wintzenbach +Wilwisheim +Willgottheim +Witternheim +Wisches +Wintershouse +Wolfskirchen +Wiwersheim +Zehnacker +Zittersheim +Wittisheim +Zellwiller +Wittersheim +Zeinheim +Wolxheim +Bandol +Save the Chimps +Biaches +Biarre +Biencourt +Boisbergues +Nouvoitou +La Nouaye +Mordelles +Monthault +Montgermont +Montours +Monterfil +Montautour +Mondevert +Gumery +Mernel +Melesse +Meillac +Loutehel +Lourmais +Longaulnay +Le Loroux +Lillemer +Lieuron +Champier +Bosquel +Bouchoir +Boufflers +Bessans +Allanche +Andelat +Apchon +Alleuze +Anterrieux +Auzers +Arnac +Badailhac +Bassignac +Brageac +Calvinet +Brezons +Carlat +Cassaniouze +Cayrols +Celoux +Chaliers +Chalvignac +Charmensac +Chalinargues +Cheylade +Chaussenac +Collandres +Le Claux +Drugeac +Crandelles +Coltines +Escorailles +Le Falgoux +Le Fau +Dienne +Fontanges +Jaleyrac +Girgols +Fridefont +Joursac +Junhac +Labrousse +Labesserette +Jussac +Ladinhac +Landeyrat +Lanobre +Lapeyrugue +Laroquebrou +Laroquevieille +Lascelle +Laveissenet +Leucamp +Lavastrie +Lugarde +Leynhac +Madic +Leyvaux +Maurines +Maurs +Montmurat +Montgreleix +Marmanhac +Molompize +La Monselie +Menet +Montsalvy +Montvert +Moussages +Malbo +Mourjou +Narnhac +Omps +Pailherols +Nieudan +Parlan +Naucelles +Paulhenc +Pleaux +Pradiers +Peyrusse +Polminhac +Roffiac +Rageade +Rouziers +Le Rouget +Raulhac +Lanrigan +Langouet +Sauvat +Landujan +Tanavelle +Sourniac +Landavran +Les Ternes +Talizat +Le Trioulou +La Trinitat +Trizac +Tiviers +Lalleu +Laignelet +Le Vaulmier +Vebret +Vernols +Velzic +Valjouze +Vieillespesse +Le Vigean +Vieillevie +Yolet +Ytrac +Ydes +Les Iffs +Les Adjots +Bouquemaison +Agris +Aigre +Ambernac +Angeduc +Aubeville +Bardenac +Alloue +Bourseville +Jabrun +Compreignac +Boussicourt +Bouttencourt +Bouzincourt +Bovelles +Braches +Hirel +Guipry +Guipel +Guignen +Goven +La Fresnais +Feins +Bayers +Breilly +Benest +Bazac +Bioussac +Bignac +Bessac +Bouteville +Brettes +Brillac +Brossac +Boisbreteau +Brigueuil +Bunzac +Cellefrouin +Chadurie +Challignac +Chabrac +Champmillon +Chantillac +Chassiecq +Charmant +Charras +Chenommet +Chassors +Chenon +Chavenat +Bresle +Brocourt +Brouchy +Brucamps +Chillac +Combiers +Brutelles +Condac +Courbillac +Coulgens +Courlac +Deviat +Courgeac +Dignac +Curac +Douzat +Exideuil +La Faye +Fontenille +Eymouthiers +Fontclaireau +Foussignac +Fouquebrune +Genac +Fouqueure +Les Gours +Gimeux +Grassac +Gourville +Gondeville +Guimps +Guizengeard +Hiersac +Gurat +Javrezac +Juignac +Jauldes +Houlette +Juillaguet +Hiesse +Jurignac +Lessac +Lachaise +Lesterps +Le Lindois +Ladiville +Linars +Londigny +Mainzac +Mainxe +Mansle +Malaville +Mainfonds +Lupsault +Lonnes +Merpins +Mesnac +Massignac +Montbron +Montchaude +Montboyer +Montrollet +Mornac +Moulidars +Nercillac +Nieuil +Nersac +Nonaville +Nonac +Orgedeuil +Parzac +Moutonneau +Nanclars +Passirac +Oriolles +Nabinaud +Pillac +Les Pins +Palluaud +Pleuville +Pranzac +Poursac +Poullignac +Pressignac +Plaizac +Puymoyen +Rancogne +Raix +Ronsenac +Rougnac +Buverchy +Sauvignac +Saulgond +Sauvagnac +Souffrignac +Sigogne +Sonneville +Suaux +Suris +Sireuil +Tourriers +Touvre +Torsac +Tuzie +Tusson +Verdille +Vignolles +Villefagnan +Vilhonneur +Villognon +Vindelle +Viville +Villejoubert +Vouharte +Vouzan +Xambes +Vouthon +Yviers +Angoulins +Arvert +Annepont +Archingeay +Aumagne +Cachy +Annezay +Bagnizeau +La Barde +Balanzac +Arces +Bazauges +Ballans +Belluire +Beaugeay +Bercloux +Benon +Beurlay +Bougneau +Bords +Bresdon +Brizambourg +Boscamnant +Chadenac +Cercoux +Burie +Chaillevette +Champagnolles +Chartuzac +La Brousse +Champdolent +Cabariot +Chamouillac +Chermignac +Chaniers +La Clotte +Le Chay +Chervettes +Coivert +La Clisse +Corignac +Courcerac +Courcoury +Cozes +Cramchaban +Crazannes +Le Douhet +Expiremont +Le Fouilloux +Fontenet +Le Gicq +La Flotte +Esnandes +Givrezac +Les Gonds +Gourvillette +Haimps +Juicq +Lagord +La Laigne +La Jard +Jazennes +Jussas +Loix +Loulay +Lussant +Macqueville +Lorignac +Louzignac +Marsais +Lozay +Luchat +Mazeray +Montguyon +Meursac +Moragne +Montils +Nancras +Muron +Nachamps +Le Mung +Neuvicq +Pessines +Pisany +Plassay +Les Nouillers +Prignac +Puyrolland +Puilboreau +Rioux +Romegoux +Rouffignac +Sablonceaux +Saleignes +Soulignonne +Siecq +Saujon +Le Seure +Sousmoulins +Semussac +Thaims +Tesson +Taugon +Trizay +Taillant +Vanzac +La Tremblade +Varaize +Tanzac +Varzay +Vergeroux +Villemorin +Vinax +Virollet +Voissay +Cahon +Caix +Cambron +Canaples +Candas +Caours +Cardonnette +Le Cardonnois +Carnoy +Feux +Tendron +Grandsaigne +Peyrelevade +Sarran +Cavillon +Obukhovo +Cerisy +Cannelle +Canari +Tox +Epiniac +Drouges +Dourdain +Domloup +La Dominelais +Domalain +Cuguen +Le Crouais +Crevin +Comblessac +Clayes +Chelun +Chavagne +Cherrueix +Chantepie +Calvignac +Brivezac +Vigeois +Bugeat +Beyssac +Beyssenac +Branceilles +Beynat +Benayes +Bonnefond +Bellechassagne +Merris +Mussidan +Cherisy +Allogny +Annoix +Arcomps +Aubinges +Ardenais +Bannegon +Beffes +Barlieu +Blancafort +La Celette +Beddes +Boulleret +Bouzais +Cerbois +La Chapelotte +Charentonnay +Le Chautay +Couargues +Corquoy +Concressault +Couy +Croisy +Coust +Cornusse +Drevant +Ennordres +Garigny +Faverdines +Grossouvre +Fussy +Givardon +Ignol +Humbligny +Groises +Gardefort +Ineuil +La Groutte +Lapan +Jalognes +Lazenay +Henrichemont +Levet +Lunery +Laverdines +Maisonnais +Massay +Meillant +Montlouis +Morogues +Morlac +Morthomiers +Orcenais +Parassy +Feignies +Osmery +Oizon +Lewarde +La Perche +Pigny +Poisieux +Presly +Le Pondy +Rezay +Quantilly +Primelles +Sagonne +Sancergues +Santranges +Saugy +Soulangis +Sancoins +Thauvenay +Serruelles +Chantecoq +Sidiailles +Thaumiers +Le Subdray +Trouy +Touchay +Veaugues +Torteron +Vasselay +Venesmes +Villecelin +Villegenon +Verdigny +Vereaux +Vesdun +Villabon +Vernais +Vinon +Vallenay +Vorly +Vouzeron +Villequiers +Ambiegna +Marsainvilliers +Arbellara +Appietto +Azzana +Bocognano +Vornay +Arbori +Albitreccia +Bilia +Calcatoggio +Carbini +Cargiaca +Ciamannacce +Bastelicaccia +Cozzano +Casalabriva +Corrano +Cauro +Carbuccia +Bastelica +Coggia +Casaglione +Foce +Forciolo +Fozzano +Busserolles +Giuncheto +Frasseto +Breuilh +Bouzic +Grossa +Bourniquel +Guagno +Boulazac +Bosset +Bouniagues +Lecci +Lopigna +Bourrou +Boisseuilh +Granace +Bourgnac +Levie +Cristinacce +Boisse +Murzo +Olivese +Beleymas +Marignana +Olmeto +Olmiccia +Orto +Palneca +Beaupouyet +Pastricciola +Bayac +Baneuil +Beaussac +Osani +Archignac +Partinello +Aubas +Bardou +Quasquara +Quenza +La Bachellerie +Poggiolo +Rezza +Renno +Pietrosella +Salice +Sampolo +Rosazia +Piana +Serriera +Sorbollano +Sotta +Tavera +Soccia +Urbalacone +Tolla +Zicavo +Tavaco +Sollacaro +Zigliara +Ucciani +Zoza +Zonza +Ajain +Azerables +Auzances +Bazelat +Blaudeix +Blessac +Banize +Auriat +Beissat +Basville +La Brionne +Bosroger +Bourganeuf +Chamberaud +Chambonchard +Ceyroux +Chamborand +Champsanglard +Le Chauchet +La Chaussade +Chavanat +Clairavaux +Clugnat +Le Compas +La Courtine +Cressat +Le Donzeil +Dontreix +Crocq +Domeyrot +Croze +Fleurat +Fresselines +Jouillat +Flayat +Gioux +Ladapeyre +Lafat +Janaillat +Jalesches +Lavaufranche +Jarnages +Lupersat +Linard +Leyrat +Mainsat +Malleret +Les Mars +Mazeirat +Mautes +Maisonnisses +Malval +Montboucher +Mortroux +Naillat +Nouziers +Peyrabout +Nouzerines +La Nouaille +Parsac +Pionnat +Nouhant +Nouzerolles +Pontarion +Pontcharraud +Rimondeix +La Pouge +Sagnat +Reterre +Poussanges +Rougnat +La Freissinouse +Furmeyer +Fouillouse +Eyguians +Espinasses +Eygliers +La Faurie +Crots +La Cluse +Chauffayer +Les Costes +Soumans +Tercillat +Sermur +Soubrebost +Vidaillat +La Souterraine +Vigeville +Tardes +Verneiges +Viersat +La Villetelle +Bagnot +Thauron +Beaunotte +Barjon +Chanousse +Champcella +Chabottes +Buissard +Beneuvre +Ceillac +Belleneuve +La Beaume +Barcillonnette +Bruis +Baratier +Chabestan +Benoisey +Antonaves +Binges +Aiguilles +Billey +Beurizot +Arvieux +Blessey +Blancey +Bousselange +Bonnencontre +Bourberain +Bouilland +Boudreville +Bouhey +Neffes +Moydans +Boussey +Montbrand +Bouix +Montgardin +Boussenois +Manteyer +Lagrand +Jarjayes +Guillestre +Lettret +Le Glaizil +Les Infournas +Broindon +Busseaut +Laye +Buncey +Brianny +Broin +Chaignay +Chambain +Chamesson +Champagny +Chanceaux +Chambeire +Chamblanc +Charencey +Censerey +Champrenault +Channay +Ventavon +Les Vigneaux +Charigny +Chassey +Chaugey +Valserres +Veynes +La Chaume +Upaix +Sigottier +Vallouise +Cheuge +La Saulce +Savournon +Clamerey +Chevannay +Chazilly +Le Saix +Chivres +Clomot +Combertault +Commarin +Corgengoux +Corberon +Corrombles +Corsaint +Rosans +Courlon +Ribeyret +Courtivron +Couternon +Ribiers +Rabou +Ristolas +Remollon +Crugey +Courban +Cuiserey +Crimolois +La Piarre +Oze +Les Orres +Orpierre +Pelleautier +Darcey +Darois +Daix +Diancey +Drambon +Duesme +Esbarres +Essey +Essarois +Clapiers +Jacou +Teyran +Guzargues +Foissy +Flavignerot +Foncegrive +Flammerans +Fontangy +Franxault +Fussey +Gemeaux +Gergueil +Gevrolles +Glanon +Les Goulles +Genlis +Hauteroche +Izier +Jallanges +Jancigny +Jouey +Izeure +Juillenay +Lanthes +Laignes +Lantilly +Lacanche +Lamargelle +Liernais +Levernois +Longeault +Longvic +Leuglay +Louesme +Losne +Maconge +Magnien +Les Maillys +Manlay +Marandeuil +Marcellois +Marcenay +Marcheseuil +Marliens +Martrois +Mauvilly +Menesble +Merceuil +Le Meix +Meuilley +Meloisey +Meursanges +Meulson +Mimeure +Moloy +Moitron +Molphey +Molinot +Missery +Montberthault +Montmoyen +Montoillot +Nantoux +Nicey +Noidan +Oisilly +Orgeux +Origny +Normier +Orain +Orret +Ouges +Painblanc +Panges +Pasques +Pellerey +Pluvet +Pichanges +Pluvault +Posanges +Pouillenay +Puits +Prenois +Quetigny +Roilly +Sacquenay +Saffres +Samerey +Santosse +Salives +Salmaise +Saussy +Savilly +Savolles +Segrois +Savoisy +Savouges +Semarey +Semond +Senailly +Semezanges +Selongey +Sombernon +Seurre +Soirans +Seigny +Souhey +Sussey +Talmay +Talant +Tellecey +Tarsul +Thenissey +Thoires +Thoste +Thomirey +Tillenay +Toutry +Trouhans +Tichey +Touillon +Trouhaut +Trugny +Turcey +Vannaire +Urcy +Vauchignon +Veilly +Velogny +Verdonnet +Varanges +Vanvey +Vernot +Vertault +Vianges +Vesvres +Villargoix +Villebichot +Villecomte +Vieilmoulin +Vielverge +Villeberny +Villeferry +Voudenay +Vonges +Vitteaux +Viserny +Angervilliers +Arrancourt +Chabrignac +Chamboulive +Chanteix +Chameyrat +Le Chastang +Chasteaux +Chaumeil +Chaveroche +Cornil +Clergoux +Chavanac +Combressol +Cosnac +Cublac +Courteix +Dampniat +Darazac +Darnets +Davignac +Espartignac +Estivals +Feyt +Estivaux +Eygurande +Eyburie +Donzenac +Eyrein +Goulles +Hautefage +Lacelle +Le Jardin +Gumond +Favars +Lamongerie +Laguenne +Lagleygeolle +Latronche +Lapleau +Lestards +Lanteuil +Liourdres +Ligneyrac +Lignareix +Madranges +Le Lonzac +Lostanges +Masseret +Margerides +Liginiac +Maussac +Meilhards +Mansac +Merlines +Meyssac +Millevaches +Mestes +Montgibaud +Louignac +Palazinges +Palisse +Nespouls +Objat +Le Pescher +Nonards +Pandrignes +Peyrissac +Reygade +Sadroc +Seilhac +Sexcles +Sornac +Sioniac +Soursac +Tarnac +Valiergues +Tudeils +Venarsal +Ussac +Viam +Varetz +Soudeilles +Sarroux +Vignols +Yssandon +Veix +Ardin +Voutezac +Beaussais +La Bataille +Boisserolles +Bessines +Le Beugnon +Le Bourdet +Le Busseau +Boussais +Bretignolles +Caunay +Cersay +Chantecorps +Chauray +Chey +Cherveux +Le Chillou +Combrand +Courlay +La Couarde +Exireuil +Les Fosses +Fomperron +Fressines +Genneton +Hanc +Largeasse +Irais +Lhoumois +Les Groseillers +Lezay +Lageon +Louzy +Juscorps +Luzay +Lusseray +Limalonges +Maisonnay +Massais +Maisontiers +Melleran +Moncoutant +Montravers +Mougon +Nanteuil +Pamplie +La Peyratte +Pouffonds +Pliboux +Oroux +Prahecq +Prailles +Pompaire +Priaires +Pioussay +Puihardy +Le Retail +Reffannes +Pugny +Saivres +Sciecq +Secondigny +Saurais +Sansais +Sompt +Sepvret +Le Tallud +Tillou +Soutiers +Tourtenay +Ulcot +Trayes +Vallans +Vanzay +Vausseroux +Vasles +Vautebis +Viennay +Verruyes +Villemain +Villefollet +Voultegon +Xaintray +Campsegret +Capdrot +Cantillac +Carves +La Cassagne +Cercles +Cendrieux +Chalagnac +Chancelade +Champcevinel +Le Change +Chapdeuil +Chenaud +Cherval +Chourgnac +Cladech +Coubjours +La Coquille +Daglan +Doissat +Cornille +Coursac +Creyssac +Coulaures +Cubjac +La Dornac +Douville +La Douze +Douchapt +Douzillac +Escoire +Eyzerac +Faurilles +Fanlac +Festalemps +Firbeix +Eyliac +Fonroque +Les Farges +Fougueyrolles +La Feuillade +Eymet +Flaugeac +Fouleix +Ginestet +Gaugeac +Les Graulges +Jayac +Journiac +Grives +La Jemaye +Lacropte +Gardonne +Jaure +Labouquerie +Lanquais +Lavalade +Lempzours +Lembras +Lusignac +Loubejac +Manaurie +Marsaneix +Mazeyrolles +Mayac +Mescoules +Mensignac +Minzac +Monplaisant +Monsaguel +Montcaret +Monsac +Montrem +Nailhac +Nadaillac +Monsec +Mouleydier +Naussannes +Orliac +Nabirat +Montagrier +Orliaguet +Nantheuil +Paunat +Nastringues +Parcoul +Peyrignac +Pazayac +Pezuls +Le Pizou +Pomport +Ponteyraud +Prigonrieux +Puymangou +Rampieux +Plazac +Queyssac +Proissans +Puyrenier +Sagelat +Ribagnac +Sadillac +Villamblard +Villac +Veyrignac +Vallereuil +Verteillac +Varaignes +Vergt +Vaunac +Vendoire +Tourtoirac +Valojoulx +Thonac +Sourzac +Teillots +Servanches +Soudat +Soulaures +Sorges +Singleyrac +Simeyrols +Liebvillers +Montivernage +Accolans +Abbenans +Vuillecin +Reculfoz +Quingey +Aibre +Voires +Voujeaucourt +Vuillafans +Amagney +Allondans +Amancey +Amondans +Mandeure +Longemaison +Anteuil +Appenans +Allenjoie +Audeux +Athose +Arbouans +Voillans +Audincourt +Autechaux +Badevel +Avoudrey +Bavans +Le Barboux +Avilley +Bannans +Belfays +Berthelange +Bartherans +Berche +Belleherbe +Beure +Bethoncourt +Beutal +Baulne +Ballainvilliers +Boigneville +Bondoufle +Boutervilliers +Brouy +Champcueil +Champmotteux +Champlan +Chatignonville +Cheptainville +Corbreuse +Courances +Estouches +Dieulefit +Mureils +Mornans +Montvendre +Montoison +Montmiral +Montrigaud +Montjoyer +Montmeyran +Montguers +Montfroc +Autichamp +Montjoux +Montchenu +Aulan +Aubres +Arnayon +Aucelon +Arpavon +Alixan +Ambonil +Anneyron +Andancette +Aleyrac +Le Chaffal +Le Chalon +Chabrillan +Chabeuil +Chalancon +Propiac +Poyols +Puygiron +Ponsas +Pommerol +Les Pilles +Pontaix +Plaisians +Peyrins +Peyrus +Parnans +Pierrelongue +Pelonne +Orcinas +Ourches +Bourdeaux +Boulc +Bouvante +Taulignan +Mercurol +Vinsobres +Larnage +Gervans +Beauvallon +Beausemblant +Bathernay +Barcelonne +Montescot +Champien +Rouffilhac +Padirac +Pontcirq +Maxou +Lhospitalet +Orniac +Fourmagnac +Crayssac +Lanzac +Capdenac +Les Arques +Cuzac +Aujols +Aynac +Arcambal +Anglars +Alvignac +Mudaison +Valergues +Saussines +Salasc +Vailhan +Pouzolles +Poujols +Roqueredonde +Pouzols +Olonzac +Paulhan +Pardailhan +Les Matelles +Juvignac +Galargues +Cruzy +Courniou +Coulobres +Saussan +Creissan +Cournonsec +Corneilhan +Pignan +Combaillaux +Grabels +Ceyras +Cesseras +Cazedarnes +Cazevieille +Caussiniojouls +Camplong +Candillargues +La Caunette +Campagnan +Cabrerolles +Capestang +Poussan +Villeveyrac +Mireval +La Chavatte +Blamont +Blussans +Bief +Blarians +Le Bizot +Bolandoz +Bondeval +Blussangeaux +Boujailles +Bouclans +Breconchaux +Bournois +Bremondans +Bretigney +Bretonvillers +Braillans +Bouverans +Brognard +Bugny +Buffard +Cendrey +Cessey +Burnevillers +Burgille +Chalezeule +Champoux +Chantrans +Charmauvillers +Chamesol +Chaffois +Charquemont +Chamesey +Chasnans +Champlive +Chipilly +Chaucenne +Chemaudin +La Chenalotte +Chouzelot +Chazot +La Chevillotte +Chevroz +Les Combes +Corcondray +Courchapon +Cubry +Cusance +Cubrial +Le Crouzet +Chirmont +Dambelin +Dampjoux +Damprichard +Dambenois +Dasle +Deluz +Guillerval +Guibeville +Itteville +La Norville +Lardy +Leudeville +Lanans +Lavernay +Lanthenans +Lizine +Larnod +Laviron +Liesle +Lods +Malbrans +Ouvans +Montenois +Mamirolle +Malbuisson +Longechaux +Moncley +Mancenans +Montflovin +Palantine +Palise +Ouhans +Zermezeele +Zuydcoote +Zegerscappel +Zuytpeene +Lederzeele +Lecelles +Aniche +Malincourt +Amfroipret +Anhiers +Lesdain +Aibes +Leffrinckoucke +Avesnelles +Buysscheure +Colleret +Obrechies +Odomez +Brouckerque +Rumegies +Ruesnes +Volckerinckhove +Gouzeaucourt +Quarouble +Raimbeaucourt +Rainsars +Bermerain +Bermeries +Berlaimont +Bertry +Bersillies +Bettignies +Beuvrages +Bettrechies +Beugnies +Berthen +Nieurlet +Noordpeene +Maresches +Loffre +Warlaing +Locquignol +Warhem +Bugnicourt +Morbecque +Wylder +Mauchamps +Maisse +Mespuits +Monnerville +Orveau +Bouvignies +Boussois +Brillon +Bissezeele +Bousignies +Blaringhem +Bellaing +Bellignies +Bierne +Boeschepe +Bavinchove +Beaurain +Bantigny +Bousies +Banteux +Audignies +Assevent +Bantouzelle +Baives +Bachant +Auby +Boursies +Estreux +Hordain +Onnaing +Cartignies +Pussay +Richarville +Roinvilliers +Saclas +Tigery +Valpuiseaux +Vaugrigneuse +Vauhallan +Videlles +Villejust +Villeconin +Wissous +Devecey +Durnes +Chuignes +Domprel +Chuignolles +Esnans +Citerne +Faimbe +Fallerans +Exincourt +Eysson +Fontenotte +Fessevillers +Feule +Les Fontenelles +Flangebouche +Les Fins +Fourbanne +Fontain +Fourg +Les Fourgs +Froidevaux +Franey +Fuans +Frambouhans +Franois +Gellin +Frasne +Geneuille +Germondans +Gevresin +Cizancourt +Andelnans +Anjoutey +Angeot +Bavilliers +Beaucourt +Cocquerel +Bessoncourt +Bermont +Bethonvilliers +Botans +Banvillars +Bourogne +Brebotte +Chavanatte +Cravanche +Courtelevant +Danjoutin +Delle +Dorans +Faverois +Coigneux +Eguenigue +Frais +Giromagny +Grosne +Grosmagny +Grandvillars +Foussemagne +Florimont +Froidefontaine +Gonsans +Gouhelans +Les Gras +Les Grangettes +Le Gratteris +Grosbois +Houtaud +Indevillers +Issans +Jallerange +Laissey +Jougne +Lougres +Laire +Le Luhier +La Longeville +Marchaux +Mathay +Marvelise +Luxiol +Mesmay +Mondon +Montandon +Montancy +Montgesoye +Montussaint +Montperreux +Montlebon +Mouthe +Nancray +Narbief +Morre +Le Moutherot +Nommay +Ollans +Noirefontaine +Novillars +Osselle +Orve +Pelousey +Passonfontaine +Ornans +Pirey +Pessans +Onans +Placey +Pointvillers +Les Pontets +Pugey +Rantechaux +Randevillers +Raynans +Rancenay +Rillans +Rignosot +Rochejean +Rosureux +Ronchaux +Rondefontaine +Rougemontot +Roulans +Puessans +Le Russey +Rigney +Routelle +Rouhe +Le Porge +Carcans +Lacanau +Hourtin +Rurey +Anglade +Santoche +Sarrageois +Solemont +Semondans +Sauvagney +Sombacour +Servin +Sourans +Surmont +Avensan +Tallans +Tallenay +Auros +Soye +Taillecourt +Tarcenay +Auriolles +Audenge +Thoraise +Arveyres +Thise +Thulay +Arbanats +Arbis +Arsac +Tournans +Arcins +Tressandans +Trouvans +Aillas +Uzelle +Valdahon +Valentigney +Valonne +Valoreille +Vauclusotte +Vaufrey +Vandoncourt +Vaudrivillers +Vanclans +Vellevans +Vennes +Vennans +Vergranne +Joncherey +Vernierfontaine +Le Vernoy +Lacollonge +Vieilley +Lebetain +Lepuix +Les Villedieu +Menoncourt +Meroux +Chamaret +Chamaloc +Montbouton +La Charce +Morvillars +Moval +Charens +Novillard +Offemont +Charpey +Chaudebonne +Charols +Clansayes +Petitmagny +Phaffans +Petitefontaine +Cobonne +Colonzelle +Combovin +La Coucourde +Claveyson +Cliousclat +Curnier +Divajeu +Crupies +Espeluche +Establet +Eurre +Espenel +Eymeux +Eygaliers +Eyzahut +Eyroles +Eygalayes +Seignosse +Ondres +Glandage +Labenne +Capbreton +Gumiane +Hauterives +Geyssans +Hostun +Aubagnan +Audon +Jaillans +Artassenx +Recouvrance +Arjuzanx +Arengosse +Arsague +Arboucave +Argelouse +Roppe +Riervescemont +Rougegoutte +Sermamagny +Sevenans +Suarce +Thiancourt +Urcerey +Vauthiermont +Valdoie +Vescemont +Laborel +La Laupie +Lachau +Laveyron +Malataverne +Manthes +Malissard +Marsaz +Menglon +Montaulieu +Coisy +Colincamps +Reilhanette +Rioms +Rochechinard +Rochebaudin +Combles +Romeyer +Roussas +Roynac +Rottier +Sahune +Roussieux +Contalmaison +Contay +Saou +Souspierre +Savasse +Soyans +Tersanne +La Touche +Les Tourrettes +Triors +Truinas +Upie +Valaurie +Valouse +Verclause +Vercoiran +Vercheny +Veaunes +Vesc +Volvent +Villeperdrix +Bacqueville +Les Barils +Barquet +Beaubray +Bazoques +Berthenonville +Berthouville +Bernouville +Boisney +Bosgouet +Bosrobert +Bouafles +Bouquetot +Bosnormand +Les Bottereaux +Bouchevilliers +Brestot +Bretagnolles +Cahaignes +Calleville +Carsix +Burey +Canappeville +Chaignes +Champenard +Cantiers +Chamblac +Aiglepierre +Iville +Juignettes +Amange +Annoire +Letteguives +Launay +Archelange +Le Landin +Lorleau +Louye +Louversey +Aresches +Arinthod +Arthenas +Audelange +Augerans +Aumur +Augea +Authume +Augisey +Auxange +Balaiseaux +Balanod +Barretaine +Baverans +Beffia +Bellecombe +Bersaillin +Besain +Billecul +Bletterans +Biarne +Blye +Biefmorin +Contoire +Contre +Conty +Cottenchy +Coullemelle +Coulonvillers +Courcelette +Courtemanche +Cramont +Curlu +Fleurie +Chiroubles +Croixrault +Curchy +Dromesnil +Driencourt +Douilly +Doudelainville +Dargnies +Daours +Davenescourt +Dernancourt +Doingt +Domesmont +Dominois +Domqueur +Domvast +Gueschart +Auzay +Aizenay +Gaujacq +Toulouzette +Geaune +Pimbo +Hagetmau +Soumoulou +Espoey +Pontacq +Nousty +Idron +Bizanos +Ousse +Livron +Boissia +Bonlieu +Bourcia +Bonnaud +Brainans +Brans +Brevans +Briod +Broissia +Buvilly +Montmeyan +Censeau +Cesancey +Cernans +Chamole +Chamblay +Champdivers +Champrougier +Chancia +Charchilla +Charcier +Charency +Chatelay +Chassal +Charnod +Chatonnay +Chaussenans +Chaussin +Chaumergy +Chemin +Chevigny +Chemilla +Chemenot +Chevreaux +Chevrotaine +Chille +Choux +Clucy +Coiserette +Coisia +Choisey +Commenailles +Cogna +Colonne +Cosges +Cousance +Courlans +Cornod +Courlaoux +Cramans +Coyron +Crenans +Crotenay +Cressia +Cuisia +Cuttura +Darbonnay +Damparis +Dessia +Domblans +Doucier +Dournon +Doye +Rabastens +Cadalen +Essia +Falletans +Florentia +Fontainebrux +Fontenu +Fraisans +Foulenay +Fraroz +Frontenay +Angely +Andryes +Annoux +Appoigny +Armeau +Bassou +Baon +Beine +Bellechaume +Blannay +Asquins +Argentenay +Bazarnes +Beugnon +Arthonnay +La Belliole +Bernouil +Massangis +Menades +Marmeaux +Marsangy +Molinons +Michery +Mouffy +Montillot +Molosmes +Nuits +Nailly +Parly +Pasilly +Paron +Perceneige +Brosses +Carisey +Butteaux +Brannay +Censy +Pisy +Piffonds +Cerisiers +Pontaubert +Pourrain +Chailley +Provency +Prunoy +Champignelles +Quenne +Yrouerre +Chambeugle +Champlay +Champlost +Champcevrais +Vinneuf +Vireaux +Lignorelles +Fulvy +Fouronnes +Fournaudin +Fontenouilles +Chigy +Tharot +Sainpuits +Charentenay +Dannemoine +Dollot +Tharoiseau +Villefargeau +Villenavotte +Montvalezan +Montsapey +Montvernier +Motz +Queige +Montgellafrey +Monthion +Montendry +Montgirod +Mouxy +Montgilbert +Montaimont +Orelle +Barberaz +Ontex +Ruffieux +Pallud +Bonvillaret +Bramans +Bonvillard +Bourdeau +Rognaix +Cessens +Montailleur +Yenne +Vions +Voglans +Vimines +Villaroux +Venthon +Villarembert +Hauteluce +Lescheraines +Ballersdorf +Battenheim +Loisieux +Baldersheim +Balgau +Baltzenheim +Zimmerbach +Balschwiller +Lanslevillard +Zillisheim +Tagolsheim +Zimmersheim +Lutterbach +Bollwiller +Storckensohn +Biederthal +Bergholtzzell +Eglingen +Roggenhouse +Pulversheim +Sondernach +Guewenheim +Soultzeren +Sondersdorf +Oderen +Luemschwiller +Raedersdorf +Obersaasheim +Sausheim +Gendrey +Gatey +Genod +Geraise +Gevingey +Geruge +Gillois +Gevry +Gizia +Grozon +Gredisans +Grusse +Aguts +Andouque +Appelle +Le Bez +Briatexte +Escoussens +Rouairoux +Roquecourbe +Donnazac +Puybegon +Lacroisille +Carlus +Laparrouquial +Coufouleux +Lacrouzette +Roquevidal +Crespinet +Combefa +Malange +Embreville +Ivrey +Jouhe +Jeurre +Les Bouchoux +Les Chalesmes +La Chassagne +La Charme +Le Chateley +La Chaumusse +Les Crozets +Le Deschaux +Le Fied +Le Frasnois +Les Hays +Lains +La Latette +La Loye +La Marre +Lamoura +La Mouille +La Pesse +La Rixouse +Larnaud +Larrivoire +Lavangeot +Le Larderet +Le Latet +Lemuy +Nothalten +Le Louverot +Le Pasquier +Les Molunes +Les Piards +Les Nans +Le Vaudioux +Le Vernois +Le Villey +Loisia +Longcochon +Longchaumois +Blandouet +Loulle +Louvatange +Belgeard +Bazougers +Louvenne +Alexain +Arquenay +Montflours +Bourgon +Montaudin +Averton +Montenay +Villepail +Senonnes +Longuefuye +Niafles +Vaiges +Bouessay +Hardanges +Chammes +Vautorte +Saulges +Orbagna +Orgelet +Orchamps +Vieuvy +Ounans +Ougney +Offlanges +Balesta +Nozeroy +Lespugue +Lodes +Longages +Marquefave +Benque +Beauzelle +Nantey +Neuvilley +Aignes +Arbas +Agassac +Nancuise +Aigrefeuille +Lespiteau +Ambax +Arguenos +Arlos +Mailholas +Artigue +Malvezie +Mauressac +Bellesserre +Carbonne +Nogna +Nailloux +Moustajon +Montgiscard +Englebelmer +Montbernard +Montberon +Montberaud +Fonbeauzard +Rieumes +Villenouvelle +Venerque +Roumens +Cassagne +Castelbiague +Riolas +Castelgaillard +Drudas +Castelginest +Castelmaurou +Ciadoux +Eoux +Fourquevaux +Fougaron +Soueich +Languimberg +Laning +Laudrefang +Launstroff +Laumesfeld +Lelling +Leyviller +Lhor +Laquenexy +Lengelsheim +Lostroff +Givrycourt +Sarreinsming +Fraquelfing +Flastroff +Salonnes +Helstroff +Gavisse +Vaudreching +Hertzing +Zimming +Xanrey +Zommange +Woustviller +Kerbach +Xocourt +Langatte +Kemplich +Xouaxange +Hottviller +Woippy +Kappelkinger +Achain +Voimhaut +Adaincourt +Ajoncourt +Albestroff +Adelange +Alsting +Amanvillers +Lezey +Algrange +Alzing +Altviller +Lemud +Lessy +Lemoncourt +Romelfing +Roncourt +Zilling +Francaltroff +Holacourt +Vittersbourg +Hinckange +Vittoncourt +Hilsprich +Hilbesheim +Hestroff +Hermelange +Vasperviller +Walschbronn +Vergaville +Juvelize +Volstroff +Varsberg +Lachambre +Veckersviller +Zetting +Zarbeling +Lafrimbolle +Eincheville +Chicourt +Cocheren +Chenois +Cheminot +Chesny +Clouange +Escherange +Donnelay +Chieulles +Puttigny +Dornot +Farschviller +Roupeldange +Ranguevaux +Rochonvillers +Roppeviller +Sarraltroff +Schwerdorff +Schmittviller +Saulny +Schneckenbusch +Maisod +Mantry +Mallerey +Macornay +Marnoz +Martigna +Mathenay +Maynal +Mesnay +Menotey +Mesnois +Meussia +Mirebel +Moissey +Moiron +Molamboz +Mignovillard +Molinges +Ennemain +Chennebrun +Combon +Connelles +Colletot +Le Cormier +Corneuil +Crestot +La Croisille +Croth +Courteilles +Coudres +Les Damps +Dampsmesnil +Drucourt +Duranville +Ecquetot +Farceaux +Fains +Le Fidelaire +Feuguerolles +Flipou +Foucrainville +Fourges +Fourmetot +Fouqueville +Gadencourt +Fresney +Gasny +Glisolles +Gouville +Grainville +Giverville +Granchain +Guernanville +Guerny +Guitry +Hauville +Harquency +Hacqueville +Hecmanville +Guiseniers +Heudebouville +Hennezis +Hectomare +Hondouville +Les Hogues +Houetteville +Igoville +La Houssaye +Mainneville +Malouy +Martagny +Marbeuf +Menneval +Moisville +Manthelon +Montaure +Mouettes +Muids +Nassandres +Morsan +Le Neubourg +Noards +Mouflaines +Morgny +Eppeville +Nonancourt +Orvaux +Piseux +Muzy +Le Planquay +Les Places +Panilleuse +Piencourt +Perruel +Plasnes +Pinterville +Puchay +Pullay +La Pyle +Quatremare +Radepont +Richeville +Quessigny +La Roquette +Routot +Rougemontiers +Le Sacq +La Saussaye +Suzay +Surtauville +Thevray +Thibouville +Thierville +Le Thil +Tostes +Tourny +Theillement +Touville +Toutainville +La Vacherie +Triqueville +Valailles +Vandrimare +Le Troncq +Verneusses +Valletot +Villalet +Villettes +Vironvay +Vatteville +Vitot +Vraiville +Voiscreville +Erches +Ercheu +Ercourt +Ergnies +Monay +Monnetay +Montain +Montcusel +Montbarrey +Monteplain +Montholier +Montfleur +Montmarlon +Montmorot +Mouchard +Moutonne +Moutoux +Mutigney +Abondant +Alluyes +Ardelu +Ardelles +Argenvilliers +Arrou +Auneau +Baignolet +Barjouville +Barmainville +Beauche +Boisgasson +Billancelles +Blandainville +Bouglainval +Bleury +Briconville +Brezolles +Bullou +Champhol +Champseru +Challet +Bullainville +Brunelles +Charray +Charonville +Chassant +Charpont +Chauffours +Civry +Chuisnes +Coltainville +Chaudon +Combres +Cormainville +Courbehaye +Corancez +Le Coudray +Coudreceau +Courtalain +Dambron +Dangeau +Dangers +Digny +Denonville +Douy +Escorpain +Francourville +Friaize +Gallardon +Garnay +La Gaudaine +Germignonville +Gellainville +Gohory +Germainville +Guainville +Hanches +Guillonville +Jallans +Guilleville +Gouillons +Havelu +Happonvilliers +Jaudrais +Lamblore +Landelles +Lanneray +Laons +Levainville +Logron +Langey +Lormaye +La Loupe +Lumeau +Luigny +Maillebois +Esclainvillers +Essertaux +La Faloise +Falvy +Fescamps +Fienvillers +Flaucourt +Flixecourt +Folies +Fluy +Frucourt +Marchezais +Miermaigne +Mittainvilliers +Montboissier +Montharville +Montireau +Montlandon +Morancez +Moriers +Mottereau +Morainville +Moulhard +Nottonville +Orrouer +Ouarville +Ouerre +Oulins +Poinville +Poupry +Pontgouin +Poisvilliers +Prudemanche +Rohaire +Revercourt +La Puisaye +Prasville +Oysonville +Les Ressuintes +Saumeray +Sancheville +Serazereux +Sainville +Senonches +La Saucelle +Sandarville +Terminiers +Le Thieulin +Thiron Gardais +Serville +Soulaires +Thiville +Thivars +Toury +Trancrainville +Unverre +Viabon +Vieuvicq +Umpeau +Villampuy +Vaupillon +Villeau +Ymeray +Ymonville +Yermenonville +Voise +Voves +Ardizas +Aubiet +Augnax +Bazian +Bassoues +Armentieux +Bascous +Beccas +Bazugues +Forceville +Berrac +Betplan +Berdoues +Bezolles +Bonas +Blaziert +Boulaur +Brugnens +Bourrouillan +Cadeilhan +Cannet +Castelnavet +Cadeillan +Cassaigne +Catonvielle +Castin +Caussens +Cazaubon +Courrensan +Crastes +Courties +Duffort +Corneillan +Encausse +Espas +Espaon +Endoufielle +Estang +Estramiac +Flamarens +Gaujan +Estipouy +Gaudonville +Galiax +Garravet +Fleurance +Gazaupouy +Giscaro +Gimont +Goutz +Goux +Haget +Haulies +Gondrin +Juilles +Izotges +Le Houga +Justian +Labrihe +Lahitte +Lahas +Lannemaignan +Lannepax +Laymont +Laujuzan +Lasserade +Lannux +Ligardes +Louslitges +Loubersan +Lupiac +Manciet +Magnan +Mansempuy +Leboulin +Magnas +Malabat +Marambat +Maravat +Fossemanant +Marguestau +Marestaing +Masseube +Marsolan +Marsan +Miradoux +Mirannes +Monblanc +Monbardon +Monguilhem +Moncassin +Monbrun +Monfort +Mongausy +Monlezun +Montamat +Monpardiac +Montadet +Monties +Montiron +Noulens +Nogaro +Pallanne +Orbessan +Nougaroulet +Mouchan +Pauilhac +Panassac +Noilhan +Pellefigue +Panjas +Pessan +Pessoulens +Pavie +Pis +Plieux +Pouydraguin +Pompiac +Peyrecave +Pouylebon +Pujaudran +Puylausic +Puycasquier +Projan +Preignan +Ramouzens +Razengues +Riguepeu +Riscle +La Romieu +Ricourt +Roquepine +Sabaillan +Sabazan +Sadeillan +Saramon +Samatan +Sarragachies +Sarraguzan +Sauvimont +Sempesserre +Tachoires +Solomiac +Simorre +Tasque +Tarsac +Taybosc +Terraube +Thoux +Toujouse +Touget +Tournecoupe +Tillac +Tourdun +Troncens +Urgosse +Tudelle +Tourrenquets +Urdens +Verlus +Vergoignan +Froyelles +Balizac +Barie +Le Barp +Baurech +Beautiran +Berthez +Bayas +Bieujac +Bellebat +Les Billaux +Biganos +Blaignan +Bommes +Bonnetan +Bossugan +Bouliac +Bourideys +Bourdelles +Blasimon +Brannens +Blaignac +Bonzac +Budos +Cadarsac +Brouqueyran +Cabara +Cadaujac +Camarsac +Campugnan +Camiran +Cantois +Caplong +Captieux +Casseuil +Castelviel +Caudrot +Cazats +Cavignac +Cazaugitat +Cauvignac +Cessac +Chamadelle +Cleyrac +Coubeyrac +Courpiac +Coirac +Coutras +Croignon +Cursan +Cubnezais +Dardenac +Donnezac +Doulezon +Daignac +Dieulivol +Escaudes +Escoussans +Espiet +Les Esseintes +Eyrans +Eynesse +Eysines +Faleyras +Flaujagues +Le Fieu +Gabarnac +Galgon +Gauriaguet +Gauriac +Giscos +Goualade +Gornac +Guillos +Hostens +Illats +Jugazan +Labescau +Ladaux +Labarde +Lados +Landerrouat +Lamarque +Landiras +Langoiran +Lapouyade +Lavazan +Latresne +Laruscade +Lucmau +Louchats +Lugasson +Lugaignac +Marcheprime +Madirac +Martillac +Margueron +Marions +Marcenais +Marcillac +Marimbault +Martres +Masseilles +Mazion +Mios +Mesterrieux +Massugas +Mongauzy +Montagoudin +Montussan +Monprimblanc +Mombrier +Mourens +Noaillac +Neuffons +Le Nizan +Omet +Noaillan +Origne +Ordonnac +Paillet +Parempuyre +Les Peintures +Pellegrue +Peujard +Pineuilh +Pompignac +Le Pout +Portets +Preignac +Pondaurat +Pugnac +Puisseguin +Puynormand +Rimons +Rauzan +Riocaud +Queyrac +Roaillan +Sadirac +La Roquille +Salaunes +Saucats +Saugon +Samonac +Saumos +La Sauve +Semens +Sillas +Soulignac +Sigalens +Soussac +Taillecavat +Soussans +Le Teich +Talais +Targon +Tayac +Toulenne +Teuillac +Le Tourne +Le Tuzan +Tresses +Uzeste +Vensac +Valeyrac +Vignonet +Verdelais +Villegouge +Villandraut +Vertheuil +Virelade +Virsac +Biesheim +Berentzwiller +Yvrac +Bellemagny +Berrwiller +Bernwiller +Biltzheim +Bischwihr +Bisel +Blodelsheim +Le Bonhomme +Blotzheim +Fouencamps +Fricamps +Framicourt +Fresneville +Brinckheim +Bruebach +Brunstatt +Buethwiller +Buschwiller +Carspach +Courtavon +Dessenheim +Didenheim +Dietwiller +Durmenach +Diefmatten +Durrenentzen +Elbach +Emlingen +Eschentzwiller +Falkwiller +Eteimbes +Fellering +Fessenheim +Ferrette +Fislis +Folgensbourg +Flaxlanden +Fortschwihr +Friesen +Fulleren +Fressenneville +Galfingue +Geispitzen +Geishouse +Geiswasser +Gommersdorf +Gildwiller +Grentzingen +Gundolsheim +Grussenheim +Hausgauen +Hartmannswiller +Heidwiller +Heimersdorf +Heimsbrunn +Heiteren +Heiwiller +Henflingen +Helfrantzkirch +Hettenschlag +Hindlingen +Hirsingue +Hirtzfelden +Hirtzbach +Hochstatt +Hohrod +Holtzwihr +Hombourg +Illfurth +Illhaeusern +Jebsheim +Jungholtz +Katzenthal +Kembs +Kiffis +Kingersheim +Kruth +Kunheim +Lapoutroie +Largitzen +Lauw +Lautenbachzell +Leymen +Liebenswiller +Liebsdorf +Frettecuisse +Linsdorf +Ligsdorf +Logelheim +Nambsheim +Neuwiller +Niederbruck +Niederhergheim +Niffer +Oberbruck +Oberentzen +Oberlarg +Oberhergheim +Oltingue +Orbey +Osenbach +Raedersheim +Rantzwiller +Ranspach +Rammersmatt +Retzwiller +Richwiller +Riedisheim +Frettemeule +Rimbachzell +Rixheim +Ruederbach +Riespach +Roppentzwiller +Rustenhart +Ruelisheim +Schwoben +Sierentz +Staffelfelden +Steinsoultz +Stosswihr +Strueth +Sundhoffen +Tagsdorf +Thannenkirch +Ueberstrass +Uffheim +Uffholtz +Ungersheim +Urschenheim +Voegtlinshoffen +Vogelgrun +Volgelsheim +Walbach +Waltenheim +Wasserbourg +Wattwiller +Weckolsheim +Waldighofen +Werentzhouse +Wentzwiller +Widensolen +Wickerschwihr +Willer +Wittersdorf +Wildenstein +Wolfgantzen +Wolschwiller +Zaessingue +Albertacce +Algajola +Aghione +Alzi +Antisanti +Avapessa +Aregno +Altiani +Ampriani +Barrettali +Bisinchi +Bigorno +Bustanico +Cagnano +Calacuccia +Barbaggio +Campitello +Carpineto +Canavaggia +Carticasi +Casalta +Casamaccioli +Casevecchie +Castifao +Castineta +Castirla +Cateri +Chiatra +Chisa +Corscia +Erbajolo +Favalello +Farinole +Crocicchia +Felce +Feliceto +Focicchia +Ficaja +Furiani +Giocatojo +Lavatoggio +Giuncaggio +Lozzi +Ghisoni +Linguizzetta +Lumio +Mazzola +Meria +Moltifao +Montegrosso +Moncale +Muracciole +Nocario +Morsiglia +Occhiatana +Ogliastro +Nonza +Novale +Oletta +Omessa +Olcani +Ortale +Palasca +Noceta +Perelli +Pianello +Pancheraccia +Piedipartino +Patrimonio +Piazzole +Piedicroce +Pietracorbara +Piazzali +Ortiporio +Piedigriggio +Pietralba +Pietraserena +Pietroso +Pietricaggio +Polveroso +Piobetta +Pioggiola +Popolasca +Rapaggio +Rapale +Riventosa +Quercitello +Rospigliani +Rusio +Rutali +La Porta +Scata +Scolca +Sermano +Soveria +Speloncato +Tarrano +Sorio +Talasani +Tralonca +Urtaca +Silvareccio +Tallone +Tomino +Vallecalle +Venaco +Vallica +Ventiseri +Vezzani +Venzolasca +Volpajola +Vivario +Zalana +Zilia +Zuani +Auragne +Auribail +Ausseing +Aureville +Aussonne +Auzas +Auzielle +Ausson +Bachas +Ayguesvives +Bachos +Bagiry +Azas +Bazus +Beauteville +Binos +Beauchalot +Belberaud +Bondigoux +Blajan +Boudrac +Boussan +Bretx +Brignemont +Bragayrac +Bouzin +Boutx +Le Burgaud +Le Cabanial +Burgalays +Caignac +Cadours +Cambiac +Cambernard +Caragoudes +Cathervielle +Capens +Caubiac +Caujac +Cazaunous +Charlas +Cessales +Cintegabelle +Cornebarrieu +Corronsac +Couret +Coueilles +Cuguron +Le Cuing +Deyme +Daux +Donneville +Cugnaux +Eaunes +Empeaux +Escalquens +Escanecrabe +Escoulis +Esperce +Estadens +Estancarbon +Le Faget +Falga +Figarol +Folcarde +Le Fauga +Forgues +Francarville +Fontenilles +Le Fousseret +Franquevielle +Francon +Frouzins +Fustignac +Ganties +Garac +Gardouch +Garidech +Goudex +Gibel +Goutevernisse +Gragnague +Gratens +Gouzens +Goyrans +Gratentour +Herran +Huos +Jurvielle +Juzes +Labastidette +Lacaugne +Landorthe +Lahage +Larcan +Latoue +Launac +Latrape +Lautignac +Launaguet +Lauzerville +Lescuns +Abelcourt +Achey +Ailloncourt +Aillevans +Loudet +Lunax +Luscan +Mancioux +Marsoulas +Marliac +Mascarville +Mauremont +Massabrac +Maureville +Mauran +Martisserre +Mauvaisin +Mervilla +Menville +Milhas +Mondavezan +Mondouzil +Mondilhan +Monestrol +Montgazin +Amoncourt +Ancier +Andelarrot +Andelarre +Andornay +Angirey +Arbecey +Anjeux +Arpenans +Arsans +Attricourt +Augicourt +Autet +Authoison +Autoreille +Les Aynans +Baignes +Bassigney +Baudoncourt +Baulay +Battrans +Belfahy +Belverne +Belonchamp +Besnans +Betaucourt +Beveuge +Blondefontaine +Montgeard +Montgras +Montjoire +Montmaurin +Montoussin +Montpitol +Nogaret +Noueilles +Odars +Ondes +Palaminy +Payssous +Pechbonnieu +Peyrissas +Pelleport +Peyssies +Peyrouzet +Pechbusque +Pinsaguel +Le Plan +Plagnole +Poubeau +Poucharramet +Pouze +Pompertuzat +Proupiary +Puydaniel +Puymaurin +Rebigue +Roquettes +Rieumajou +Saccourvielle +Salerm +Saleich +Samouillan +Sarrecave +Sarremezan +Saubens +Saussens +Seilh +Seyre +Sengouagnet +Sepx +Seysses +Tarabel +Terrebasse +Les Tourreilles +Toutens +Touille +Urau +Vacquiers +Vallesvilles +Vaudreuille +Vignaux +Vendine +Villate +Villaudric +Bonboillon +Villematier +Borey +Bougey +Bougnon +Bouligney +Ageville +Boulot +Aingoulaincourt +Allichamps +Aizanville +Bousseraucourt +Aillianville +Breuches +Ambonville +Breuchotte +Brevilliers +Aiguilhe +Brussey +Bresilley +Alleyrac +Agnat +Pagnoz +Parcey +Pagney +Passenans +Peintre +Patornay +Picarreau +Pimorin +Plainoiseau +Pillemoine +Plaisia +Pleure +Plasne +Plumont +Pointre +Ponthoux +Jussey +Lambrey +Lantenot +Larret +Lavoncourt +Lieucourt +Lieffrans +Lavigney +Lomont +Longevelle +Linexert +La Longine +Lyoffans +Les Magny +Magnivray +Magnoncourt +Le Magnoray +Malbouhans +Mantoche +Maussans +Marast +Malvillers +Mandrevillars +Membrey +Melin +Mersuay +Menoux +Mignavillers +Miellin +Meurcourt +Moimay +Montagney +Montbozon +Montboillon +Montcey +Mollans +Montcourt +Montessaux +Nantilly +Noiron +Pretin +Navenne +Pupillin +Quintigny +Publy +Recanoz +Rainans +Ranchot +Revigny +Ravilloles +Relans +Reithouse +Rogna +Romange +Rans +Rothonay +Rouffange +Rotalier +Araules +Alleyras +Arlet +Autrac +Aubazat +Friaucourt +Fouquescourt +Franleu +Auzon +Beaux +Berbezit +Bessamorel +Beauzac +Blassac +Blesle +Blavozy +Cerzat +Le Brignon +Cayres +Ceyssac +Chadrac +Chambezon +Champclause +Chanaleilles +Chanteuges +Chaniat +Fourcigny +Fourdrinoy +Calmoutier +Cemboing +Cenans +Cendrecourt +Chagey +Champlitte +Champtonnay +Fransart +Champey +Chantes +Charcenne +Chariez +Chaumercenne +Chenebier +Chavanne +Choye +Cintrey +Chevigney +Citers +Citey +Clairegoutte +Coisevaux +Colombotte +Combeaufontaine +Fransu +Comberjon +Conflandey +Confracourt +Corbenay +Cordonnet +Corravillers +Corre +Fransures +Cornot +Chaspinhac +Chassagnes +Chaspuzac +Charraix +Chomelix +Coulevon +Chaudeyrolles +La Chomette +Collat +Connangles +Couteuges +Cohade +Chilhac +Costaros +Courcuire +Courchaton +Croisances +Coubon +Desges +Domeyrat +Cronce +Esplantas +Cresancey +Couthenans +Les Estables +Franvillers +Espalem +La Creuse +Cromary +Fontannes +Creveney +Ferrussac +Javaugues +Jullianges +Goudet +Cugney +Landos +Langeac +Lantriac +Josat +Cuve +Lapte +Laussonne +Lavaudieu +Lorlanges +Lubilhac +Malrevers +Loudes +Malvalette +Demangevelle +Monlet +La Demie +Montclard +Montregard +Montusclat +Moudeyres +Le Pertuis +Ouides +Pinols +Paulhaguet +Raucoules +Retournac +Riotord +Rauret +Salzuit +Tailhac +Thoras +Sembadel +Tence +Torsiac +Tiranges +Les Vastres +Valprivas +Vernassal +Vergezac +Venteuges +Vielprat +Les Villettes +Annonville +Arbot +Aprey +Anrosey +Audeloncourt +Attancourt +Auberive +Arnancourt +Leffonds +Aujeurres +Lecey +Leurville +Louvemont +Leuchey +Louze +Lavernoy +Vignory +Lavilleneuve +Puellemontier +Plesnoy +Baissey +Bassoncourt +Beauchemin +Marac +Manois +Beurville +Biesles +Blessonville +Suzannecourt +Blaisy +Droyes +Bonnecourt +Blumeray +Orquevaux +Bourmont +Bouzancourt +Champsevraine +Brachay +Brennes +Brethenay +Euffigneix +Bricon +Brousseval +Busson +Celsoy +Chalvraines +Ceffonds +Chalindrey +Chalancey +Chambroncourt +Lafauche +Lamancine +Chamouilley +Chancenay +Vraincourt +Laneuvelle +Chanoy +Chantraines +Violot +Vivey +Voncourt +Voillecomte +Cohons +Clinchamp +Chauffourt +Consigny +Clefmont +Cusey +Culmont +Daillecourt +Coupray +Poulangy +Rangecourt +Curmont +Daillancourt +Prauthoy +Praslay +Darmannes +Rennepont +Dommarien +Domblain +Effincourt +Dancevoir +Enfonvelle +Reynel +Sommancourt +Esnouveaux +Sexfontaines +Silvarouvres +Jonchery +Sommevoire +Illoud +Farincourt +Foulain +Juzennecourt +Frampas +Verbiesles +Froncles +Fronville +Germainvilliers +La Genevroye +Humberville +Germisay +Germay +Rupt +Gillancourt +Vecqueville +Germaines +Grenant +Soyers +Guyonvelle +Hallignicourt +Planrupt +Peigney +Oudincourt +Maranville +Mardor +Mareilles +Mathons +Mertrud +Mennouveaux +Merrey +Meures +Mirbel +Montheries +Montcharvot +Morancourt +Morionvilliers +Montsaugeon +Sarrey +Saudron +Semilly +Saulles +Nijon +Ninville +Mouilleron +Occey +Palaiseul +Perrusse +Rougeux +Pancey +Riaucourt +Ormancey +Rouelles +Orcevaux +Pisseloup +Le Pailly +Poinsenot +Rimaucourt +Rolampont +Vaudrecourt +Treix +Tornay +Thilleux +Poiseul +Torcenay +Valleret +Vauxbons +Thivet +Magland +Amancy +Allinges +Ambilly +Entrevernes +Arbusigny +Archamps +Arenthon +Usinens +Argonay +Ayse +Ballaison +Machilly +Aviernoz +Gruffy +Bassy +La Baume +Bellevaux +Le Biot +Bloye +Chessenaz +Bossey +Le Bouchet +Villaz +Brenthonne +Lyaud +Franclens +Larringes +Burdignin +Cernex +Challonges +Cervens +Champanges +Cercier +Charvonnex +Chapeiry +Chavannaz +Copponex +Cusy +Neuvecelle +Mieussy +Cuvat +Excenevex +Lornay +Scientrier +Lugrin +Vacheresse +Nonglard +Fillinges +Valleiry +Chevenoz +Onnion +Les Clefs +Reyvroz +Cornier +Cruseilles +Etaux +Seytroux +Desingy +Sciez +Leschaux +Vallorcine +Domancy +Draillant +La Forclaz +Seythenex +Duingt +Doussard +Fessy +Groisy +Loisin +Le Sappey +Lucinges +Margencel +Frangy +Marignier +Marcellaz +Lovagny +Serraval +Sillingy +Marlens +Marlioz +Taninges +Thyez +Scionzier +Servoz +Vanzy +Thusy +Marnaz +Moye +Massongy +Publier +Vinzier +Nangy +Messery +Meillerie +Orcier +Neydens +Saxel +Montriond +La Muraz +Meythet +Minzier +Poisy +Peillonnex +Perrignier +Le Reposoir +La Vernaz +Peyrilhac +Augne +Ambazac +Balledent +La Bazeuge +Aureil +Les Billanges +Gajoubert +Boisseuil +Breuilaufa +Le Buis +Chamboret +Les Cars +Oigney +Le Chalard +Bujaleuf +Chaptelat +Champsac +Burgnac +Cieux +Cheissoux +Onay +Couzeix +Jouac +Oppenans +Darnac +Domps +Oricourt +Ormenans +Dinsac +Eyjeaux +Le Dorat +Dournazac +Eybouleuf +Ormoiche +Feytiat +Droux +Ouge +Eymoutiers +Flavignac +Folles +Javerdat +Ovanches +La Geneytouse +Fromental +Glanges +Glandon +Lavignac +Marval +Panazol +Moissannes +Pensol +Mortemart +Janailhac +Vaulry +Nedde +Linards +Thiat +Gorre +Meilhac +Nieul +Nantiat +Palante +Nouic +Jourgnac +Villefavard +La Meyze +Veyrac +Pageas +La Porcherie +Videix +Meuzac +Rancon +Rempnat +Tersannes +Surdoux +Roussac +Solignac +Le Vigen +Pesmes +Adast +Perrouse +La Pisseure +Pomoy +Plainemont +Changey +Ancizan +Angos +Andrest +Anla +Moumoulous +Antist +Ansost +Aragnouet +Antin +Ardengost +Pontcey +Espieilh +Armenteule +Arrodets +Pujo +Artagnan +Cizos +Poyans +Artiguemy +Preigney +Asque +Aucun +Astugue +Hiis +Averan +Monlong +Azereix +Barrancoueu +Aventignan +Bazet +Puydarrieux +Castelbajac +Aveux +Bazordan +Banios +Bazillac +Azet +Bareilles +Barlest +Barthe +Beaucens +Purgerot +Barbachen +Betpouey +Bizous +Betpouy +Oursbelille +Odos +Bonnefont +Bertren +Ordizan +Bettes +Bonrepos +Bonnemazon +La Quarte +Boulin +Bourisp +Quers +Bugard +Bramevaque +Quenoche +Lacassagne +Lafitole +Caharet +Buzon +Caixon +Cabanac +Ilheu +Ilhet +Camous +Izaux +Camparan +Izaourt +Cantaous +Jacque +Capvern +Castelvieilh +Campan +Houeydets +Casterets +Poumarous +Vizos +Hitte +Campistrous +Chis +Cazarilh +Cheust +Cieutat +Dours +Escala +Esbareich +Coussan +Esconnets +Escaunets +Escondeaux +Esparros +Estensan +Escots +Estampures +Estarvielle +Fontrailles +Estirac +Esterre +Gaillagos +Gayan +Gembrie +Gazost +Gaudent +Galez +Gaussan +Geu +Gonez +Gez +Gouaux +Gazave +Guchan +Grailhen +Grust +Hagedet +Guizerix +Goudon +Guchen +Hauban +Hautaget +Hachan +Horgues +Hibarette +Hourc +Labastide +Juncalas +Juillan +Julos +Lanne +Lapeyre +Laslades +Lhez +Lescurry +Layrisse +Lespouey +Libaros +Lizos +Lassales +Loubajac +Liac +Lortet +Loucrup +Loudervielle +Louey +Louit +Lugagnan +Lustar +Luquet +Marquerie +Mazouau +Mingot +Maubourguet +Lutilhous +Nouilhan +Neuilh +Orieux +Omex +Nistos +Nestier +Orignac +Orincles +Oroix +Osmets +Oueilloux +Ourdon +Pailhac +Orleix +Ourde +Peyraube +Ossen +Ouzous +Peyrouse +Peyrun +Pouzac +Pintac +Recurt +Puntous +Pouyastruc +Sabalos +Sabarros +Sadournin +Saligos +Sailhan +Samuran +Sanous +Sarniguet +Sarlabous +Sarrouilles +Sarrancolin +Sassis +Sarp +Seich +Sazos +Sentous +Siarrouy +Siradan +Sireix +Sinzos +Visker +Vidouze +Viey +Vidou +Vignec +Villembits +Soublecause +Sombrun +Tarasteix +Souyeaux +Villemur +Tajan +Talazac +Ugnouas +Soulom +Tuzaguet +Tilhouse +Tostat +Thuy +Uglas +Troubat +Vieuzos +Viscos +Espondeilhan +Villelongue +Lagamas +Lansargues +Joncels +Valros +Villespassans +Lespignan +Villeneuvette +Fouzilhon +Montouliers +Soumont +Florensac +Maureilhan +Liausson +Sauteyrargues +Maraussan +Montady +Montarnaud +Murles +Plaissan +Oupia +Popian +Le Pouget +Portiragnes +Poilhes +Roquebrun +Le Pradal +Le Puech +Roquessels +Saturargues +Puissalicon +Vieussan +Rosis +Puilacher +Riols +Rouet +Tourbes +Le Triadou +Sauvian +Valmascle +Puimisson +Tressan +Quarante +Ardentes +Ambrault +Aize +Argy +Baudres +Puisserguier +Bommiers +Anjouin +Arthon +La Berthenoux +Vouillon +Luzeret +Bouesse +Montierchaume +Lureuil +Pruniers +Prissac +Reboursin +Lizeray +Oulches +Douadic +Fontgombault +Fontguenand +Sauzelles +Saulnay +Briantes +Ceaulmont +Chaillac +Chabris +Paudy +Champillet +Paulnay +Heugnes +Pellevoisin +Levroux +Le Tranger +La Buxerette +La Champenoise +Lurais +Liniez +Villegouin +Martizay +Malicornay +Lignac +Migny +Villentrois +Obterre +Poulaines +Luant +Mouhet +Montchevrier +Montgivray +Montipouret +Villegongis +Concremiers +Mouhers +Chouday +Niherne +Coings +Chazelet +Chitray +Diors +Dunet +Le Menoux +Mosnay +Cuzion +Veuil +Vigoux +Abilly +La Vernelle +Ambillou +Barrou +Villebourg +Villeperdue +Manthelan +Benais +Berthenay +Noizay +Bournan +Marray +Cerelles +Braslou +Le Boulay +Charentilly +Charnizay +Cangey +Brizay +Chaveignes +Chaumussay +Crotelles +Crouzilles +Truyes +Louestault +Couziers +Trogues +Sorigny +Tauxigny +Huismes +Theneuil +Tavant +Mettray +Thilouze +Couesmes +Chisseaux +Sonzay +Monthodon +Limeray +Dierre +Esvres +Jaulnay +Pouzay +Cinais +Ligueil +Continvoir +Cormery +Montbazon +Druye +Cussay +Les Hermites +Louans +Hommes +Francueil +Gizeux +Sazilly +Saunay +Monnaie +Sepmes +Morand +Neuil +Seuilly +Nouzilly +Le Louroux +Perrusson +Panzoult +Pussigny +Mosnes +Pernay +Sublaines +Rochecorbon +Razines +La Riche +Paulmy +Cessieu +Chantesse +Chamagnieu +Champagnier +Charantonnay +Charancieu +Chapareillan +Panissage +Parmilieu +Panossas +Montcarra +Chassignieu +Optevoz +Ornacieux +Chavanoz +Vourey +Chichilianne +Le Cheylas +Cheyssieu +Chimilin +Chirens +Chozeau +Commelle +Chuzelles +Colombe +Corbelin +Coublevie +Crachier +Culin +Dizimieu +Dionay +Doissin +Oyeu +Marcollin +Domarin +Engins +Marnans +Marcilloles +Montseveroux +Massieu +Rencurel +Pressins +Proveysieux +Quincieu +Janneyrias +Veyssilieu +Seyssuel +Virieu +Vignieu +Villemoirieu +Vernioz +Viriville +Voreppe +Thodure +Theys +Tencin +Rochetoirin +Heyrieux +Tullins +Roissard +Primarette +Romagnieu +Nantoin +Estrablin +Murinais +Valencogne +Izeaux +Eydoche +Fitilieu +Izeron +Lieudieu +Gillonnay +Jarcieu +Jarrie +La Forteresse +Froges +Frontonas +Velanne +Goncelin +Vasselin +Granieu +Lentiol +Varacieux +Vertrieu +Vatilieu +Lavars +Lalley +Leyrieu +Lumbin +Merlas +Herbeys +Longechenal +Luzinay +Montchaboud +Morestel +Morette +Mottier +Le Moutaret +Moras +Montfalcon +La Murette +Villefontaine +La Morte +Passins +Pajay +Valencin +La Valette +Succieu +Treffort +Le Touvet +Sarcenas +Sillans +Sardieu +Le Versoud +Sinard +Semons +Salagnon +Sonnay +Roybon +Rovon +Penol +Pinsot +La Pierre +Pisieu +Raincourt +Ranzevelle +Renaucourt +Rignovelle +Rigny +Rioz +Ruhans +Saponcourt +Saulnot +Scye +Secenans +Savoyeux +Senoncourt +Seveux +Semmadon +Servigney +Tavey +Servance +Theuley +Tromarey +Thieffrans +Le Tremblois +Jonvelle +Jasney +Esprels +Errevet +Esmoulins +Faverney +Faymont +Les Fessey +Fondremand +Framont +Francalmont +Fresse +Franchevelle +Francourt +Froideconche +Saffloz +Froideterre +Saligney +Saizenay +Santans +Sarrogna +Saugeot +Sergenon +Songeson +Sergenaux +Sermange +Savigna +Soucia +Souvans +Sirod +Septmoncel +Senaud +Tavaux +Thervay +Syam +Thoiria +Tourmont +Uxelles +Thoirette +Trenal +Vannoz +Taxenne +Thoissia +Varessia +Vernantois +Vevy +Vaudrey +Vescles +Vertamboz +Vercia +Villerserine +Villechantria +Villevieux +Vosbles +Voiteur +Vriange +Vulvoz +Vitreux +Baigts +Bascons +Bassercles +Baudignan +Belhade +Bastennes +Beylongue +Biarrotte +Bergouey +Biaudos +Beyries +Mugron +Bonnegarde +Nousse +Bougue +Onard +Bostens +Pomarez +Bourdalat +Perquie +Brocas +Buanes +Cachen +Cagnotte +Cassen +Castandet +Castelner +Candresse +Castets +Cauneille +Classun +Caupenne +Donzacq +Doazit +Escalans +Commensacq +Dumes +Escource +Estibeaux +Estigarde +Gabarret +Garein +Garrosse +Geloux +Gibret +Gourbera +Gaas +Garrey +Hastingues +Gastes +Gousse +Goos +Gouts +Heugas +Hinx +Josse +Horsarrieu +Labouheyre +Hontanx +Lacquy +Lacrabe +Lacajunte +Laluque +Laglorieuse +Labrit +Hauriet +Larbey +Lahosse +Lesgor +Linxe +Le Leuy +Lencouacq +Liposthey +Lesperon +Latrille +Lourquen +Lubbon +Luglon +Louer +Maillas +Marpaps +Luxey +Magescq +Lussagnet +Mauries +Maurrin +Mant +Mimbaste +Maylis +Momuy +Monget +Morcenx +Morganx +Oeyregave +Nassiet +Narrosse +Nerbis +Moustey +Genevreuille +Genevrey +Georfans +Girefontaine +Gouhenans +Gourgeon +Grandecourt +Grattery +Hautevelle +Greucourt +Orthevielle +Oeyreluy +Orist +Orx +Ossages +Parleboscq +Ozourt +Peyrehorade +Philondenx +Pissos +Pey +Poudenx +Poyanne +Pouydesseaux +Poyartin +Hugier +Retjons +Hyet +Hurecourt +Renung +Sarraziet +Samadet +Saubion +Saubrigues +Saubusse +Sarron +Sarbazan +Siest +Le Sen +Souprosse +Tosse +Urgons +Taller +Trensacq +Le Vignau +Ychoux +Ambloy +Artins +Areines +Autainville +Villenave +Averdon +Yzosse +La Vaivre +Vaite +Valay +Vandelans +Vanne +Varogne +Bauzy +Baillou +Boisseau +Bonneveau +Bouffry +Boursay +Bracieux +Vauchoux +Busloup +Briou +Chailles +Velet +Velleclaire +Vellefaux +Chitenay +Choue +Vellefrie +Velleminfroy +Choussy +Vellemoz +Concriers +Cormenon +Velorcey +Cormeray +Couddes +Venisey +Courmemin +Couffy +Vereux +La Vergenne +Crucheray +Dhuizon +Verlans +La Vernotte +Les Hayes +Herbault +Fortan +Gombergean +Josnes +Lestiou +Loreux +Maray +Lorges +Marchenoir +Maves +Maslives +Menars +Mesland +Membrolles +Moisy +Meusnes +Molineuf +Monteaux +Montlivault +Mondoubleau +Villafans +Villargent +Les Montils +Vezet +Villefrancon +Villeparois +Vilory +Visoncourt +Villersexel +Volon +Vregille +Vouhenans +Mulsans +Naveil +Montrouveau +Oisly +Nourray +Onzain +Oucques +Pezou +Ouchamps +Le Poislay +Pontlevoy +Renay +Rahart +Rhodon +Rougeou +Salbris +Sambin +Seigy +Sassay +Selommes +Seillac +Guignemicourt +Seur +Semerville +Theillay +Tourailles +Souesmes +Souday +Troo +Verdes +Thoury +Veuves +Tripleville +Villavard +Villechauve +Villebout +Veilleins +Valaire +Villeherviers +Villebarou +Villemardy +Villeporcher +Villerable +Villeny +Villermain +Villerbon +Guillaucourt +Villetrun +Villeromain +Villiersfaux +Villexanton +Vouzon +Ailleux +Arcinges +Amions +Arcon +Balbigny +Apinac +Aveizieux +Arthun +Le Bessat +Ambierle +Belleroche +Briennon +Burdignes +Cellieu +Le Cergne +Caloire +Cezay +Chagnon +Chambles +La Chamba +Chalmazel +Champdieu +La Chambonie +Champoly +Chandon +Chavanay +Chausseterre +Chuyer +Cherier +Chirassimont +Combre +Civens +Craintilleux +Cuinzier +Le Crozet +Cottance +Cremeaux +Cordelle +Farnay +La Fouillouse +Fraisses +Genilac +La Gimond +Graix +Grammond +La Gresle +Ouches +Salvizinet +Sauvain +Palogneux +Trelins +Urbise +Sevelinges +Valeille +Vendranges +Soleymieux +Villemontais +Violay +Viricelles +Virigneux +Nervieux +Veauche +Nandax +Nollieux +Souternon +Maizilly +Vivans +Neulise +Maringes +Montchal +Marlhes +Noailly +Neaux +Planfoy +Marclopt +Montverdun +Poncins +Pralong +Montarcher +Riorges +Unias +Unieux +Valfleury +Villerest +Jonzieux +Veauchette +Luriecq +Pavezin +Marcenod +Roisey +Jarnosse +Renaison +Lavieu +Lentigny +Leigneux +Tartaras +La Versanne +Anetz +Les Salles +La Ricamarie +Avessac +Barbechat +Le Bignon +Bouaye +Campbon +Carquefou +Le Cellier +Mouzillon +Mouais +Soulvache +Missillac +Paulx +Lusanger +Montbert +Pierric +Le Croisic +Corsept +Donges +Pornic +Herbignac +Erbray +Malville +Crossac +Conquereuil +Derval +Cordemais +Varades +Mesquer +Mouzeil +Le Pellerin +Montrelais +Geneston +Guenrouet +Oudon +Jans +Louisfert +Treffieux +Touvois +Frossay +Villepot +Pornichet +Prinquiau +Le Pouliguen +Vritz +Sautron +Trignac +La Chevallerais +Le Landreau +La Marne +Le Pallet +La Planche +La Turballe +Puceul +Rouans +La Grigonnais +Les Touches +Andonville +Chaingy +Chapelon +Champoulet +Artenay +Attray +Ascoux +Audeville +Le Bardon +Baccon +Givraines +Boisseaux +Boismorand +Bou +Boiscommun +Bondaroy +Charsonville +Cercottes +Boynes +Bricy +Bromeilles +Cepoy +Breteau +Chanteau +Le Charme +Ramoulu +Dimancheville +Engenville +Les Choux +Coinces +Chuelles +Erceville +Combreux +Corbeilles +Escrennes +Ervauville +Estouy +Combleux +Corquilleroy +Villemoutiers +Grangermont +Tigy +Foucherolles +Villorceau +Tivernon +Villevoques +Faverelles +Escrignelles +Guigneville +Vimory +Courtempierre +Dordives +Coudroy +Sermaises +Sigloy +Solterre +Thorailles +Sennely +Juranville +Tavers +Tournoisis +Gaubertin +Sougy +Trinay +Thignonville +Santeau +Sandillon +Paucourt +Mignerette +Presnoy +Villemandeur +Cortrat +Thimory +Gidy +Coulmiers +Nibelle +Courtemaux +Oison +Vennecy +Villamblain +Darvoy +Nevoy +Dadonville +Donnery +Desmonts +Langesse +Lombreuil +Montcorbon +Loury +Lorcy +Louzouer +Melleroy +Manchecourt +Montbarrois +Messas +Montbouy +Nangeville +Nesploy +Montliard +Belmontet +Baladou +Beaumat +Bessonies +Le Bastit +Le Bourg +Blars +Berganty +Le Bouyssou +Cadrieu +Bretenoux +Cahus +Brengues +Caillac +Montgesty +Montvalent +Montlauzun +Nadillac +Montredon +Calamane +Duravel +Cambayrac +Frayssinhes +Calviac +Esclauzels +Durbans +Carayac +Camboulit +Camburat +Castelfranc +Carlucet +Gindou +Ginouillac +Glanes +Flaugnac +Gintrac +Girac +Gorses +Uzech +Cazillac +Cieurac +Concots +Cavagnac +Lamagdelaine +Issepts +Comiac +Vidaillac +Lamativie +Vayrac +Vaylats +Viazac +Issendolus +Cremps +Couzou +Cuzance +Varaire +Leyme +Marminiac +Frayssinet +Pescadoires +Pinsac +Puybrun +Puyjourdes +Peyrilles +Planioles +Estal +Felzins +Faycelles +Floressas +Espeyroux +Les Junies +Lagardelle +Ladirat +Labathude +Laburgade +Larnagol +Lascabanes +Lauresses +Lunegarde +Mayrac +Mechmont +Lebreil +Lugagnac +Milhac +Le Montat +Montamel +Montdoumerc +Payrignac +Meyronne +Prendeignes +Rampoux +Le Roc +Reyrevignes +Reilhaguet +Promilhanes +Rudelle +Salviac +Saux +Soucirac +Sonac +Soturac +Sousceyrac +Strenquels +Terrou +Teyssieu +Vaillac +Valprionde +Gruny +Ginchy +Gratibus +Andard +Angrie +Auverse +Beausse +Blou +La Bohalle +Bouchemaine +Brossay +Carbay +Brissarthe +Briollay +Les Cerqueux +Cernusson +Chambellay +Chanzeaux +La Chaussaire +Chavagnes +Chavaignes +Cheffes +Chemellier +La Cornuaille +Daumeray +Durtal +Feneu +Le Fuilet +Genneteil +Jallais +Landemont +Juvardeil +Le Longeron +Louvaines +Le Marillais +Louerre +La Meignanne +Montguillon +Montpollin +Montilliers +Montrevault +Mouliherne +Noyant +Morannes +Nyoiseau +Les Rairies +Roussay +Somloire +Le Thoureil +Le Tremblay +La Tourlandry +Valanjou +Gamaches +Vaulandry +Vergonnes +Les Ulmes +Vernantes +Villemoisan +Yzernay +Soucelles +La Tessoualle +Turquant +Vaudelnay +Varrains +Verrie +Villebernier +Gapennes +Argouges +Auxais +Bacilly +Barenton +Azeville +La Baleine +Baudre +Beaucoudray +Beauficel +Baupte +Beuvrigny +Beslon +Biniville +Blosville +Biville +Boisyvon +Boisroger +La Bonneville +Bourguenolles +Boutteville +Brectouville +Braffais +Breuville +Bricquebosq +Brucheville +Brillevast +Buais +Brouains +Cambernon +Carantilly +Camprond +Catteville +Carquebut +Cavigny +Canisy +Carneville +Champcey +Champcervon +Carolles +Les Chambres +Champrepus +Chasseguey +Chavoy +Chaulieu +Le Chefresne +Coigny +Cosqueville +Colomby +Clitourps +Couville +Courtils +Crollon +Les Cresnays +Cretteville +Domjean +Denneville +Digulleville +Dangy +Digosville +Doville +Gorenflos +Gentelles +Ginasservis +Tanneron +Varages +Forcalqueiret +Mazaugues +Villecroze +Riboux +Correns +Aiguines +Rocbaron +Cogolin +Cotignac +Trigance +Lorgues +Carnoules +Tourves +Taradeau +Carqueiranne +Bauduen +Pignans +Belgentier +Bargemon +Barjols +Torchamp +Marchemaisons +Tinchebray +Ticheville +Marchainville +Touquettes +Yvrandes +Antoigny +Merri +Perrou +Passais +Irai +Lalacelle +Gandelain +Vaunoise +Godisson +Geneslay +Ginai +Fervaches +Folligny +Foucarville +Fermanville +Flottemanville +Gathemo +Gavray +Fresville +Geffosses +La Godefroy +Gonfreville +La Glacerie +Gratot +Gouberville +Grimesnil +Golleville +Gourfaleur +Hardinvast +Guilberville +Hambye +Montrabot +Neufmesnil +Helleville +Montpinchon +Pontaubault +Houtteville +Gourgue +Husson +Hiesville +Hyenville +Saussemesnil +Sartilly +Deuteren +Maplewood Park +Guizancourt +Guerbigny +Goyencourt +Grattepanche +Aquia Church +Grivesnes +Grivillers +Hallu +Hailles +Hallencourt +Hallivillers +Joganville +Juilley +Jullouville +Lapenty +Lestre +Laulne +Lengronne +Lingeard +Lithaire +Le Loreur +Lozon +Magneville +La Luzerne +La Meauffe +Martinvast +Montanel +Montbray +Montcuit +Montchaton +Montfarville +Montgardon +Monthuchon +Montsurvent +Montviron +Montebourg +Morigny +Moyon +Nicorps +Morsalines +Le Neufbourg +Ouville +Nouainville +Ozeville +Orglandes +La Pernelle +Le Perron +Les Perques +Plomb +Picauville +Portbail +Pirou +Les Pieux +Ravenoville +Raids +Rampan +Rocheville +Reffuveille +Rouffigny +Rouxeville +Roncey +Hamelet +Sacey +Sainteny +Hancourt +Servigny +Sortosville +Sourdeval +Sideville +Soulles +Sotteville +Surtainville +Taillepied +Tamerville +Le Tanu +Tonneville +Tirepied +Le Teilleul +Tollevast +Tribehou +Sottevast +Trelly +Tourlaville +Vains +Turqueville +Valcanville +Troisgots +Varenguebec +Vengeons +Vaudreville +Vaudrimesnil +Vessey +Varouville +Le Vast +Vasteville +Le Vicel +Villechien +Videcosville +Vindefontaine +Virandeville +Vergoncey +Yquelon +Aigny +Ablancourt +Les Veys +Vidouville +Virey +Villebaudon +Hangard +Alliancelles +Anglure +Aougny +Argers +Ambonnay +Anthenay +Arrigny +Aubilly +Le Baizil +Baconnes +Auve +Avize +Harponville +Hattencourt +Havernas +Heilly +Bassu +Bassuet +Baudement +Beaunay +Berru +Bethon +Berzieux +Bisseuil +Binarville +Bouleuse +Bouvancourt +Branscourt +Blesme +Brandonvillers +Boursault +Bouzy +Brimont +Brouillet +La Caure +Chambrecy +Champguyon +Champaubert +Chaltrait +Chamery +Champvoisy +Champillon +Chantemerle +Les Charmontois +Chapelaine +Chaumuzy +Cheniers +Le Chemin +Cherville +Chichey +Cheminon +Clesles +Chepy +Chouilly +Clamanges +La Cheppe +Compertrix +Connantre +Congy +Contault +Coolus +Cormontreuil +Cormicy +Cormoyeux +Corrobert +Corribert +Coupetz +Courcemain +Courgivaux +Courdemanges +Courlandon +Courjeonnet +Courmas +Crugny +Courtagnon +Courtisols +Cuis +Cuperly +Couvrot +Cuchery +Cramant +Drosnay +Dontrien +Dormans +Drouilly +Dompremy +Escardes +Euvy +Favresse +Fismes +Germinon +Frignicourt +Gionges +Glannes +Gizaucourt +Gratreuil +Hautvillers +Grauves +Hermonville +Herpont +Huiron +Haussimont +Humbauville +Hourges +Isse +Janvilliers +Joiselle +Jonquery +Leuvrigny +Lagery +Larzicourt +Linthelles +Linthes +Lavannes +Loivre +Malmy +Marfaux +Matougues +Mardeuil +Marson +Marsangis +Massiges +Les Mesneux +Merfy +Merlaut +Moslins +Montgenost +Moiremont +Morsains +Muizon +Mutigny +Omey +La Noue +Outines +Olizy +Norrois +Noirlieu +Oiry +Oyes +Orconte +Outrepont +Pocancy +Pogny +Pomacle +Plivot +Pourcy +Pierry +Possesse +Poilly +Prosnes +Poix +Plichancourt +Potangis +Queudes +Puisieulx +Recy +Pleurs +Prouilly +Reuves +Prunay +Rouffy +Romigny +Reuil +Sapignicourt +Sarcy +Scrupt +Sermiers +Saudoy +Somsois +Soudron +Thaas +Sompuis +Thibie +Songy +Suippes +Taissy +Tinqueux +Thillois +Unchair +Troissy +Tramery +Vadenay +Treslon +Trigny +Vandeuil +Vauclerc +Vatry +Vaudesincourt +Vaudemange +Ventelay +Vernancourt +Venteuil +Verzenay +Vertus +La Veuve +Verzy +Vindey +Virginy +Villeseneux +Vraux +Vouillers +Villevenard +Voilemont +Voipreux +Vouzy +Warmeriville +Vouarces +Vroil +Carelles +Le Buret +Congrier +Cosmes +Courbeveille +Couptrain +La Croixille +La Cropte +Gastines +Entrammes +Gesnes +Grazay +Gorron +Hambers +La Gravelle +Gesvres +Landivy +Le Horps +Livet +Loiron +Lesbois +Montourtier +Le Pas +Neau +La Pallu +Peuton +Ravigny +Pommerieux +Le Ribay +Les Baroches +Bauzemont +Bazailles +Barbonville +Baslieux +Battigny +Beuveille +Bettainvillers +Bertrichamps +Benney +Beuvezin +Bionville +Bicqueley +Bezaumont +Boucq +Borville +Bonviller +Bouzanville +Bertrambois +Bouillonville +Brouville +Bralleville +Bratte +Bruley +Bruville +Buissoncourt +Buriville +Chaligny +Chaouilley +Bulligny +Cerville +Charey +Champigneulles +Ceintrey +Chanteheux +Clayeures +Chenicourt +Colmey +Coincourt +Courbesseaux +Coyviller +Croismare +Crusnes +Dampvitoux +Crantenoy +Deneuvre +Dolcourt +Dommartemont +Diarville +Deuxville +Domjevin +Dieulouard +Drouville +Domgermain +Domprix +Einvaux +Errouville +Flainval +Euvezin +Flin +Fenneviller +Flirey +Seichamps +Faulx +Foug +Fraimbois +Friauville +Frolois +Gellenoncourt +Germiny +Germonville +Gibeaumeix +Frouard +Glonville +Gogney +Gondrexon +Giriviller +Grimonviller +Goviller +Grosrouvres +Gripport +Gye +Griscourt +Gorcy +Haigneville +Hatrize +Gugney +Harbouey +Hablainville +Halloville +Hammeville +Haudonville +Heillecourt +Haussonville +Hamonville +Herserange +Houdemont +Houdreville +Houdelmont +Hudiviller +Jeandelize +Jaillon +Juvrecourt +Labry +Jarny +Jevoncourt +Jezainville +Jeandelaincourt +Joudreville +Laix +Jaulny +Lagney +Lamath +Jouaville +Laneuvelotte +Landremont +Landres +Laxou +Laronxe +Lanfroicourt +Lebeuville +Lenoncourt +Leintrey +Leyr +Lemainville +Lorey +Lubey +Longlaville +Loromontzey +Lironville +Lupcourt +Maixe +Malavillers +Malleloy +Mancieulles +Manonviller +Manonville +Marbache +Mance +Mangonville +Marainviller +Mattexey +Marthemont +Mazerulles +Mexy +Minorville +Moineville +Montenoy +Merviller +Montauville +Messein +Moivrons +Morfontaine +Moriviller +Mouaville +Mouacourt +Moutrot +Neufmaisons +Moyen +Murville +Nonhigny +Nomeny +Ochey +Olley +Omelmont +Othe +Onville +Phlin +Pettonville +Piennes +Parux +Parroy +Petitmont +Pulligny +Ozerailles +Praye +Pexonne +Pulney +Pulnoy +Quevilloncourt +Puxieux +Raucourt +Remenoville +Rehainviller +Repaix +Puxe +Reherrey +Royaumeix +Saffais +Rozelieures +Reillon +Rouves +Saulnes +Sanzey +Selaincourt +Seranville +Saulxerotte +Seicheprey +Saizerais +Tantonville +Sommerviller +Sionviller +Tanconville +Tellancourt +Sponville +Serrouville +Tiercelet +Tomblaine +Tonnoy +Tremblecourt +Tronville +Trondes +Vacqueville +Ugny +Vallois +Trieux +Tucquegnieux +Uruffe +Vaxainville +Valhey +Vandelainville +Vaudigny +Vennezey +Verdenal +Veney +Vigneulles +Villacourt +Vaucourt +Virecourt +Waville +Viterne +Vitrimont +Vroncourt +Xeuilley +Xirocourt +Xures +Xammes +Vitrey +Vittonville +Xousse +Baudonvilliers +Baulny +Beauclair +Xonville +Beausite +Behonne +Belleray +Belrain +Bouquemont +Boureuilles +Boviolles +Brandeville +Bouligny +Braquis +Brizeaux +Cesse +Brauvilliers +Chaillon +Champougny +Chanteraine +Brouennes +Champneuville +Charpentry +Chalaines +Chardogne +Le Claon +Contrisson +Consenvoye +Chattancourt +Cheppy +Chauvoncourt +Dagonville +Courouvre +Couvertpuis +Couvonges +Cunel +Damloup +Damvillers +Dannevoux +Delut +Dombras +Doulcon +Eix +Duzey +Dompcevrin +Flassigny +Euville +Froidos +Fromezey +Futeau +Givrauval +Gincrey +Gremilly +Goussaincourt +Gouraincourt +Guerpont +Girauvoisin +Geville +Gussainville +Haudainville +Herbeuville +Haironville +Harville +Heippes +Hennemont +Haudiomont +Houdelaincourt +Les Islettes +Lachalade +Jametz +Lamouilly +Laimont +Lahaymeix +Lahayville +Laheycourt +Labeuville +Lavincourt +Lemmes +Lavoye +Lamorville +Lissey +Longeaux +Maizey +Loison +Loupmont +Mangiennes +Malancourt +Manheulles +Maizeray +Maulan +Mauvages +Marre +Menaucourt +Montblainville +Mogeville +Montbras +Les Monthairons +Montplonne +Mouilly +Muzeray +Morgemoulin +Moulotte +Murvaux +Moulainville +Nantillois +Le Neufour +Nantois +Nepvant +Ornes +Osches +Nouillonpont +Pareid +Peuvillers +Raival +Parfondrupt +Rambucourt +Les Paroches +Nettancourt +Reffroy +Pintheville +Remennecourt +Riaville +Les Roises +Remoiville +Resson +Richecourt +Salmagne +Sauvigny +Saudrupt +Samogneux +Sampigny +Sauvoy +Saulvaux +Septsarges +Senon +Sepvigny +Seigneulles +Silmont +Seuzey +Spincourt +Sommelonne +Tannois +Sommeilles +Souilly +Stainville +Thillombois +Taillancourt +Thonnelle +Troyon +Thillot +Sommedieue +Vadelaincourt +Troussey +Vacherauville +Vadonville +Vassincourt +Vauquois +Velaines +Vaubecourt +Velosnes +Vavincourt +Vignot +Willeroncourt +Wiseppe +Wavrille +Vittarville +Watronville +Woimbey +Anzeling +Arraincourt +Arriance +Argancy +Angevillers +Attilloncourt +Assenoncourt +Bacourt +Azoudange +Aumetz +Arzviller +Augny +Bambiderstroff +Barchain +Bassing +Bazoncourt +Barst +Bettange +Bermering +Beux +Bettelainville +Biding +Bining +Bibiche +Bidestroff +Bickenholtz +Bliesbruck +Bioncourt +Boulange +Bourdonnay +Bousbach +Bourgaltroff +Boucheporn +Bistroff +Boust +Boustroff +Bronvaux +Burlioncourt +Brouviller +Brulange +Chanville +Brouderdorff +Budling +Burtoncourt +Chambrey +Colmen +Brouck +Craincourt +Brettnach +Bousseviller +Buding +Dalstein +Denting +Diebling +Conthil +Cuvry +Coume +Colligny +Desseling +Dalhain +Diesen +Dannelbourg +Dolving +Distroff +Destry +Entrange +Elzange +Enchenberg +Erching +Erstroff +Failly +Etzling +Fameck +Filstroff +Fleisheim +Flocourt +Fixem +Florange +Fonteny +Fossieux +Foville +Folkling +Folschviller +Foulcrey +Fouligny +Freistroff +Garrebourg +Ernestviller +Goetzenbruck +Fontoy +Gandrange +Gomelange +Freybouse +Grundviller +Guebenhouse +Gondrexange +Gosselming +Guermange +Guenviller +Guinkirchen +Gelucourt +Guerstling +Guinzeling +Haboudange +Guerting +Guinglange +Guntzviller +Halstroff +Hallering +Hanviller +Hangviller +Haselbourg +Hampont +Hannocourt +Harreberg +Haspelschiedt +Hartzviller +Hattigny +Harprich +Hauconcourt +Hellimer +Hazembourg +Herny +Henriville +Henridorff +Havange +Hommert +Hommarting +Ibigny +Hultehouse +Holving +Inglange +Hundling +Insviller +Honskirch +Illange +Jallaucourt +Ippling +Imling +Knutange +Kirschnaumen +Kalhausen +Kirviller +Landange +Juville +Landroff +Kuntzig +Wuisse +Herleville +Huppy +Lidrezing +Lixheim +Loudrefing +Lommerange +Liocourt +Loupershouse +Loutzviller +Luppy +Mainvillers +Macheren +Maizeroy +Maizery +Lutzelbourg +Manderen +Manom +La Maxe +Malroy +Luttange +Maxstadt +Menskirch +Marieulles +Merschweiller +Marthille +Metzervisse +Merten +Metting +Metzing +Metzeresche +Molring +Moncheux +Momerstroff +Moncourt +Montenach +Mittelbronn +Mittersheim +Monneren +Mondelange +Montbronn +Morhange +Champvallon +Chassignelles +Charbuy +Chamvres +Mouterhouse +Mulcey +Moyenvic +Nelling +Neufmoulins +Neufvillage +Niderhoff +Neufchef +Neufgrange +Chichery +Niederstinzel +Niedervisse +Nilvange +Noisseville +Cisery +Chitry +Collan +Nitting +Oberdorff +Obervisse +Nouilly +Oberstinzel +Ogy +Niderviller +Collemiers +Obreck +Cornant +Compigny +Ormersviller +Coulangeron +Ommeray +Oudrenne +Coulours +Ottonville +Oriocourt +Peltre +Courgis +Coutarnoux +Ottange +Pettoncourt +Courtoin +Pange +Pontoy +Plesnois +Pierrevillers +Plappeville +Porcelette +Philippsbourg +Racrange +Postroff +Piblange +Rahling +Dicy +Diges +Dissangis +Esnon +Dracy +Fleys +Flacy +Guerchy +Jouancy +Jully +Jaulges +Grimault +Lailly +Gurgy +Raville +Junay +Laduz +Lainsecq +Retonfey +Rettel +Rezonville +Richeling +Lixy +Lindry +Richeval +Looze +Rimling +Rolbing +Rodemack +Reyersviller +Rosselange +Russange +Rustroff +Rosbruck +Rodalbe +Schorbach +Rouhling +Secourt +Schalbach +Sotzeling +Solgne +Spicheren +Tenteling +Seingbouse +Siersthal +Soucht +Vantoux +Terville +Willerwald +Stuckange +Sturzelbronn +Wittring +Tarquimpol +Wiesviller +Talange +Thonville +Thicourt +Tincry +Tragny +Thimonville +Tromborn +Tressange +Vallerange +Troisfontaines +Valmestroff +Valmunster +Vannecourt +Vatimont +Vaxy +Veckring +Vescheim +Velving +Vibersviller +Viller +Vulmont +Voyer +Waldwisse +Virming +Vry +Villing +Waldhouse +Waltembourg +Wintersbourg +Volmunster +Walscheid +Achun +Anlezy +Amazy +Alluy +Anthien +Arbourse +Arquian +Arleuf +Arthel +Vigy +Arzembouy +Authiou +Asnan +Balleray +Bazolles +Bazoches +Biches +Blismes +Rugny +Breugnon +Bulcy +Chalaux +Cervon +Challement +Challuy +Champallement +Champlemy +Champvert +Champvoux +Chaumard +Chasnay +Chaulgnes +Chevenon +Chevroches +Charrin +Chougny +Cizely +La Collancelle +Corancy +Corbigny +Couloutre +Ciez +Devay +Cossaye +Dirol +Dornecy +Donzy +Empury +Epiry +Garchy +Gimouille +Giry +Guipy +Gouloux +Jailly +Germenay +Garchizy +Grenois +Isenay +Lanty +Limanton +Larochemillay +Langeron +Lormes +Luzy +Menou +La Machine +Menestreau +Maux +Montapas +Montambert +Michaugues +Montreuillon +Moraches +Montenoison +Murlin +Nannay +Myennes +Nuars +Ouagne +Oudan +Neuffontaines +Oulon +Pazy +Ougny +Poil +Planchez +Poiseux +Rouy +Pousseaux +Ruages +Sivry +Saizy +Sichamps +Surgy +Sermages +Teigny +Tazilly +Thianges +Thaix +Urzy +Tresnay +Vandenesse +Tronsanges +Taconnay +Tintury +Vauclaix +Vielmanay +Cagnoncles +Vignol +Cauroir +Caullery +Cantin +Choisies +Clairfayts +Craywick +Courchelettes +Cuincy +Curgies +Dechy +Escaudain +Escautpont +Erchin +Esquerchin +Famars +Fressain +Faumont +Guesnain +Haulchin +Hasnon +Haveluy +Hergnies +Lallaing +Lourches +Maing +Marpent +Louvroil +Mastaing +Maulde +Millonfosse +Sambourg +Santigny +Seignelay +Sementron +Sergines +Serrigny +Cousolre +Sommecaise +Sermizelles +Sormery +Coutiches +Cuvillers +Damousies +Dimechaux +Doignies +Crochte +Dourlers +Ebblinghem +Drincham +Eecke +Le Doulieu +Soumaintrain +Stigny +Englefontaine +Escarmain +Felleries +Taingy +Eswars +Esnes +Fenain +Erre +Estrun +Estaires +Floyon +Floursies +Fressies +Frasnoy +Gommegnies +La Gorgue +Glageon +Gussignies +Tanlay +Gonnelieu +Haussy +Haverskerque +Haynecourt +Hestrud +Hardifort +Ghissignies +Hecq +Treigny +Holque +Hondeghem +Hoymille +Killem +Trichey +Jolimetz +Jenlain +Tissey +Landas +Turny +Tronchoy +Hornaing +Herzeele +Larouillies +La Longueville +Lynde +Mairieux +Vallan +Merckeghem +Mecquignies +Marbaix +Masny +Vallery +Nomain +Vaumort +Ochtezeele +Looberghe +Vaudeurs +Maretz +Monchecourt +Obies +Orsinval +Venizy +Pitgam +Nieppe +Potelle +Venouse +Prisches +Venoy +Oudezeele +Paillencourt +Ramousies +Vergigny +Verlin +Rieulay +Renescure +Romeries +Vermenton +Vernoy +Rosult +Salesches +Semousies +Sassegnies +Sercus +Socx +Sepmeries +Sommaing +Steene +Villebougis +Strazeele +Spycker +Steenbecque +Thiennes +Terdeghem +Solrinnes +Villecien +Uxem +Vertain +Villeperrot +Villemanoche +Villethierry +Viesly +Vred +Villevallier +Wambaix +Wulverdinghe +Winnezeele +Wignehies +Haspres +Vincelottes +Niergnies +Prouvy +Proville +Recquignies +Rouvignies +Saultain +La Sentinelle +Thivencelle +Wallers +Waziers +Les Ageux +Airion +Amblainville +Angivillers +Andeville +Ansacq +Angicourt +Anserville +Ansauvillers +Appilly +Arsy +Attichy +Auneuil +Avrigny +Bailleval +Bachivillers +Bazicourt +Berthecourt +Biermont +Blicourt +Blacourt +Blincourt +Bonlier +Blargies +Boubiers +Bornel +Bouconvillers +Bonvillers +Borest +Bouillancy +Boursonne +Boullarre +Bouvresse +Braisnes +Brasseuse +Boutavent +Boutencourt +Broquiers +Brombos +Brenouille +Briot +Buicourt +Caisnes +Bucamps +Bulles +Antully +Aluze +Artaix +Authumes +Anost +Barizey +Bantanges +Baudemont +Ballore +Beaubery +Barnay +Bellevesvre +Bergesserin +Beauvernois +Les Bizots +Blanzy +Bosjean +Bouhans +La Boulaye +Bourgvilain +Branges +Briant +Bruailles +Burgy +Buxy +Chalmoux +Burnand +Burzy +Cersot +Chambilly +Chamilly +Champforgeuil +Champlecy +Charbonnat +Lauzun +Chauffailles +Charrecey +Adainville +Auffargis +Andelu +Clessy +Clermain +La Clayette +Clux +La Comelle +Blaru +Condal +Cormatin +Cordesse +Bouafle +Chapet +Cortevaix +Cortambert +Autouillet +Davron +Couches +Cravent +Courgent +Bazainville +Bazemont +Cronat +Bennecourt +Cruzille +Cuiseaux +Cuisery +Curbigny +Boinvilliers +Curdin +Curgy +Boissets +Cuzy +Magnanville +Maulette +Bonnelles +Buchelay +Ecquevilly +Damerey +Demigny +Dettey +La Falaise +Favrieux +Devrouze +Dennevy +Diconne +Flacourt +Feucherolles +Maurecourt +Loze +Balignac +Bardigues +Malause +Bioule +Lizac +Auvillar +Bessens +Montagudet +Boudou +Montalzat +Escatalens +Esparsac +Escazeaux +Labourgade +Dyo +Essertenne +Puylagarde +Puylaroque +Comberouger +Goudourville +Laparade +Castelsagrat +Castelferrus +Campsas +Castelmayran +Caussade +Cayriech +Cayrac +Montech +Montbartier +Montbarla +Lauzerte +Lavaurette +Larrazet +Lavit +Lapenche +Meauzac +Goas +Glatens +Gimat +Gasques +Dieupentale +Ginals +Roquecor +Vensat +Le Fay +Millemont +Mittainville +Mansonville +Merles +Albias +Angeville +Montfermier +Nohic +Pommevic +Perville +Montricoux +Piquecos +Espinas +Faudoas +Cumont +Bressols +Poupas +Fajolles +Finhan +Espalais +Septfonds +Touffailles +Garganvillar +Fauroux +Lacour +Sistels +Combronde +Vazerac +Valeilles +Villemade +Vigueron +Laqueuille +Lezoux +Morainvilliers +Mulcent +Villebrumier +Neauphlette +Lempdes +Orcemont +Puycornet +Corbarieu +Gerzat +Orgerus +Orvilliers +Orsonville +Orphin +Montbeton +Fley +Fleurville +Perdreauville +Les Barthes +Frontenard +Porcheville +Fretterans +Fragnes +Rolleboise +Raizeux +Frontenaud +Rennemoulin +Chabreloche +Flexanville +Issou +Juziers +Gressey +Gambais +Quinquempoix +Mondescourt +Monneville +Montiers +Montmacq +Montlognon +Montmartin +Montataire +Montjavoult +Cannectancourt +Quesmy +Campremy +Canly +Lihus +Lierville +Carlepont +Libermont +Lieuvillers +Lormaison +Loueuse +Luchy +Machemont +Arlanc +Cressonsacq +Lavacquerie +Lattainville +Laversines +Lavilletertre +Gergy +Germagny +Gibles +Dargies +Cuvergnon +Cuvilly +Duvy +Delincourt +Grevilly +Catenoy +Grury +Catheux +Guerfand +Cauffry +Catigny +Chambors +Chepoix +Chevincourt +Cauvigny +Maimbeville +Les Guerreaux +Cernoy +Cinqueux +Cempuis +Pontpoint +Pronleroy +Maysel +Lataule +Le Meux +Moliens +Labosse +Monceaux +Wacquemoulin +Courteuil +Courtieux +Crapeaumesnil +Cramoisy +Crisolles +Royaucourt +Croutoy +La Guiche +Hainvillers +Valdampierre +Clairoix +Grandfresnoy +Lalandelle +Larbroye +Coivrel +Lassigny +Jaulzy +Jaux +Coudun +Couloisy +Le Crocq +Lamorlaye +Rhuis +Feigneux +Ivors +Troussures +Troussencourt +Trumilly +Valescourt +Varesnes +Varinfroy +Vauchelles +Viefvillers +Vignemont +Vaudancourt +Hautefontaine +Glaignes +Froissy +Gerberoy +Sermaize +Thibivillers +Gaudechart +Morienval +Mouy +Moyvillers +Morangles +Morlincourt +Mureaumont +Morvillers +Nampcel +Neufchelles +Gannes +Oudeuil +Flavacourt +Muirancourt +Muidorge +Orrouy +Pimprez +Senots +Villeselve +Pisseleu +Sarcus +Sarnois +Salency +Solente +Songeons +Tartigny +Formerie +Fouilleuse +Sommereux +Heilles +Hannaches +Suzoy +Talmontiers +Villembray +Hanvoile +Wavignies +Gilocourt +Wambez +Rethondes +Hautbos +Lafraye +Rivecourt +Ricquebourg +Rotangy +Rousseloy +Romescamps +Escames +Esches +Erquery +Rothois +Ercuis +Erquinvillers +Esquennoy +Espaubourg +Essuiles +Foulangues +Hardivillers +Francastel +Fournival +Godenvillers +Thourotte +Sempigny +Fouquerolles +Thiescourt +Gourchelles +Venette +Thiverny +Verderonne +Tourly +Hondainville +Vaumoise +Ognolles +Paillart +Plainval +Fosseuse +Houdancourt +Plailly +Fleurines +Porcheux +Haudivillers +Ponchon +Raray +Laigneville +Golancourt +Rantigny +Maniquerville +Anquetierville +Auquemesnil +Auppegard +Lammerville +Lanquetot +Sandouville +Yvecrique +Thiergeville +Gonzeville +Gueutteville +Yainville +Imbleville +Hermeville +Intraville +Ingouville +Yquebeuf +Yerville +Incheville +Lindebeuf +Limpiville +Ymare +Anceaumeville +Alvimare +Lintot +Longroy +Longmesnil +Ambrumesnil +Autretot +Galluis +Gambaiseuil +Quevillon +Pavilly +Penly +Paluel +Reuville +Quiberville +Quincampoix +Campneuseville +Callengeville +Villepreux +Lommoye +Pierrefiques +Nullemont +Ocqueville +Pommereux +Pierreval +Bouelles +Oherville +Bosville +Bourdainville +Raffetot +Boudeville +Melleville +Bracquemont +Mentheville +Belmesnil +Neufbosc +Goussonville +Gargenville +Montrottier +Montromant +Gazeran +Mornant +Nuelles +Oingt +Bessenay +Avenas +Grosrouvre +Odenas +Ouroux +Aveize +Azolette +Guernes +Quincieux +Ranchal +Affoux +Bibost +Ancy +Ampuis +Amplepuis +Chaussan +Jambville +Jeufosse +Guitrancourt +Duerne +Hermeray +Herbeville +Senlisse +Hardricourt +Toussieu +Septeuil +Taponas +Grandris +Jumeauville +Valsonne +Taluyers +Soindres +Vaugneray +Vauxrenard +Meys +Yzeron +Monsols +Sonchamp +Marchampt +Jarnioux +Jons +Joux +Pollionnay +Messimy +Rontalon +Hargeville +Pomeys +Communay +La Hauteville +Avremesnil +Baillolet +Bazinval +Bardouville +Baromesnil +Beaussault +Mathonville +Beautot +Mauquenchy +Maucomble +Blacqueville +Flocques +Fallencourt +Criquiers +Cropus +Hattenville +Derchigny +Haudricourt +Harcanville +Haussez +Bracquetuit +Vergetot +Bradiancourt +Brametot +Rebets +Puisenval +Clais +Rainfreville +Clasville +Houdetot +Preuseville +Catenay +Heurteauville +Houquetot +Sahurs +Vinnemerville +Vassonville +Virville +Vittefleur +Villequier +Villainville +Vatierville +Bennetot +Bornambusc +Beuzevillette +Ouainville +Bermonville +Bertheauville +Riville +Robertot +Ricarville +Cleuville +Brachy +Douvrend +Cliponville +Compainville +Oudalle +Drosay +Fesques +Sierville +Contremoulins +Gouchaupre +Hautefond +Hurigny +Igornay +Joncy +Jalogny +Joudes +Jambles +Iguerande +Lacrost +Jugy +Juif +Laizy +Lalheue +Lesme +Leynes +Longepierre +Lournand +Navilly +Nochize +Ozenay +Ozolles +Palleau +Perreuil +Palinges +Oudry +Pierreclos +Plottes +Le Planois +Pontoux +Pourlans +Pouilloux +Prizy +Pruzilly +La Racineuse +Rancy +Le Puley +Ratenelle +Reclesne +Le Rousset +Saillenard +Romenay +Fouquenies +Le Fayel +Frocourt +Le Gallet +Genvry +Guiscard +Goincourt +Gury +Guignecourt +Herchies +La Houssoye +Lachelle +Juvignies +Novillers +Nivillers +Noroy +Le Ployron +Rainvillers +Rouvillers +Saintines +Le Saulchoy +Troissereux +Le Vauroux +Savignies +Le Vaumain +Vrocourt +Therdonne +Warluis +Les Yveteaux +Mantilly +Villotran +Vidai +Mardilly +Valframbert +La Ventrouze +Tourouvre +Les Tourailles +Villebadin +Lonrai +Landigou +Lignou +Landisacq +Loisail +Livaie +Tanville +Tanques +Taillebois +Sevrai +Sentilly +Sarceaux +Le Sap +Rouperroux +Banvou +Auguaise +Beaulandais +Beaufai +Les Aspres +Belfonds +Beauvain +Bizou +Berjou +Bonnefoi +Bivilliers +Bellavilliers +Bonsmoulins +Occagnes +Ommoy +Les Menus +Normandel +Le Bouillon +Le Merlerault +Bretoncelles +Messei +Bursard +Brieux +Brullemail +Montabard +Bresolettes +Brethel +Briouze +Montgaudry +Caligny +Montsecret +Montmerrei +Montgaroult +Montchevrel +Moncy +Moulicent +Moussonvilliers +La Carneille +Planches +Pouvrai +Pontchardon +Rabodanges +Le Plantis +Les Rotours +Roiville +Guerquesalles +Randonnai +Le Renouard +Haleine +Habloville +La Genevraie +Les Genettes +Le Grais +Ronfeugerai +Fel +Heugon +Le Chalange +Champcerie +Chahains +Champosoult +Le Cercueil +Les Champeaux +Chanu +Ceton +Ciral +Chemilli +Coudehard +Chandai +Condeau +Comblot +Coulimer +Commeaux +Coulmer +Courgeon +La Courbe +La Coulonche +Courcerault +Crulai +Cuissai +Dorceau +Crouttes +Damigny +Durcet +Eperrais +Aingeville +Allarmont +Anglemont +Ameuvelle +Ambacourt +Anould +Lerrain +Lesseux +Aroffe +Lironcourt +Aulnois +Aouze +Belrupt +Archettes +Aumontzey +Auzainvilliers +Aydoilles +La Baffe +Bonvillet +Avranville +Lubine +Lusse +Battexey +Bayecourt +Madegney +Midrevaux +Madecourt +Luvigny +Maroncourt +Maconcourt +Martinvelle +Mattaincourt +Bazegney +Malaincourt +Corcieux +Mazeley +Mandray +Bazien +Mazirot +Le Mont +Moriville +Morelmaison +Xamontarupt +Xertigny +Xaronval +Wisembach +Zincourt +Pleuvezain +Vroville +Beaufremont +Moyenmoutier +Montmotier +Certilleux +Nompatelize +Escles +Le Puid +Moyemont +Bertrimoutier +Le Beulay +Bettoncourt +Bocquegney +Blevaincourt +Punerot +Boulaincourt +Bleurville +Offroicourt +La Bourgonce +Norroy +Nossoncourt +Nonzeville +Bouzemont +Brantigny +Nomexy +Brechainville +Brouvelieures +Bouxurulles +Champdray +Bussang +Ortoncourt +Bult +Padoux +Oncourt +Chantraine +Pallegney +Plainfaing +Chaumousey +Chavelot +Portieux +Chauffecourt +Pompierre +Pouxeux +Renauvoid +Le Clerjus +Repel +Chermisey +Circourt +Relanges +Claudon +Rehaincourt +Cleurie +Combrimont +Rehaupal +Gemmelaincourt +Ramonchamp +Coussey +Regney +Coinches +Poussay +Rapey +Ruppes +Removille +Deyvillers +Darney +Lemmecourt +Hadol +Rebeuville +Crainvilliers +Socourt +Valfroicourt +Remomeix +Sanchey +Darnieulles +Isches +Haillainville +Destord +Rozerotte +Denipaire +Derbamont +Domfaing +Frapelle +Le Roulier +Dignonville +Rollainville +Rochesson +Docelles +Deinvillers +Dogneville +Sartes +Serocourt +Dolaincourt +Dounoux +Domvallier +Housseras +Heerle +Mailly +Mancey +Maltat +Marizy +Massilly +Matour +Mazille +Mellecey +Mervans +Mesvres +Montbellet +Montcony +Montcenis +Montcoy +Montmort +Montret +Montmelard +Morlet +Moroges +Tavernay +Tancon +Tintry +Le Tartre +Toutenant +Thurey +Tramayes +Trivy +Tronchy +Uchon +Uxeau +Uchizy +Liancourt +La Rouge +Jeuxey +Esley +Godoncourt +Domptail +Grandvillers +Domjulien +Gendreville +Dompaire +Le Valtin +Essegney +Le Saulcy +Vouxey +Jainvillotte +Soncourt +Le Thillot +Vienville +Hymont +Les Thons +Faucompierre +Vagney +Le Tholy +Gerbamont +Sandaucourt +Sassangy +Vincey +Sassenay +Savianges +Estrennes +Ubexy +Senozan +Fauconcourt +Sermesse +Ferdrupt +Senaide +Sercy +Serley +Sevrey +Trampot +Seraumont +Simandre +Fraize +Senonges +Harol +Fomerey +Thiraucourt +Gigney +Totainville +Sologny +Apchat +Antoingt +Arconsat +Ardes +Sommant +Artonne +Aubiat +Augnat +Vaubexy +Aulnat +Fremifontaine +Suriauville +Girancourt +Auzelles +Aydat +Authezat +Augerolles +Bansat +Frizon +Bergonne +Le Syndicat +Golbey +Girmont +Taintrux +Gemaingoutte +Tollaincourt +Bertignat +Tilleux +Biollet +Blanzat +Bongheat +Hurbache +Boudes +Bouzel +Gorhey +Uxegney +Grignoncourt +Brenat +Briffons +Le Brugeron +Bulhon +Ceilloux +Cellule +Uzemain +Grandrupt +Le Cendre +Ceyssat +Ceyrat +Viocourt +Chanonat +Chadeleuf +Varmonzey +Chaptuzat +Champeix +Charensat +Greux +Charnat +Chassagne +Chastreix +La Chaulme +Chavaroux +Le Cheix +Chidrac +Vaudebarrier +Clerlande +Chauriat +Combrailles +Compains +Collanges +Hardancourt +Les Vallois +Coudes +Courgoul +Creste +Corent +La Crouzille +Cournols +Le Crest +Culhat +Doranges +Dallet +Harmonville +Domaize +Effiat +Durmignat +Durtol +Harsault +Ennezat +Hautmougey +Hennecourt +Vicherey +Espirat +Espinchal +Escoutoux +Enval +Esteil +Estandeuil +Hergugney +Fournols +Herpelmont +Gelles +Vaxoncourt +Giat +Hennezel +La Forie +Gimeaux +Verjux +Vecoux +Gignat +La Godivelle +Vergisson +Grandeyrolles +La Goutelle +Ventron +Isserteaux +Labessette +Jozerand +Herment +Joze +Lamontgie +Lachaux +Grandrif +Jumeaux +Landogne +Le Vermont +Versaugues +Loubeyrat +Laps +Madriat +Larodde +Lempty +Lisseuil +Luzillat +Malauzat +Limons +Le Villars +Ludesse +Villegaudin +Manglieu +Marsat +Malintrat +Mareugheol +Maringues +Marcillat +Mazoires +Mauzun +Mazaye +Messeix +Medeyrolles +Meilhaud +Mezel +La Vineuse +Vindecy +Mirefleurs +Moissat +Landaville +Le Monestier +Vervezelle +Vexaincourt +Jorxey +Juvaincourt +Jubainville +Lamarche +Jussarupt +Les Voivres +Villotte +Villouxel +Villoncourt +Volesvres +Le Beausset +Le Bourguet +Brenon +Le Pradet +Le Lavandou +La Crau +Rougiers +Salernes +Flayosc +Le Thoronet +Le Val +Les Mayons +Yversay +Adriers +Mazeuil +Millac +Mondion +Mirebeau +Chabournay +Chalandray +Queaux +Amberre +Massognes +Maulay +Ayron +Benassay +Berthegon +Bellefonds +Chenevelles +Cherves +Antran +Vouzailles +Smarves +Sillars +Guesnes +Gouex +Gizay +Haims +Iteuil +Jardres +Croutelle +Cuhon +Jouhet +Journet +Lauthiers +Dissay +Jazeneuil +Voulon +Monthoiron +Moulismes +Ouzilly +Charrais +Doussay +Chatain +Saires +Sanxay +Thurageau +Archigny +Sossais +Aslonnes +Bignoux +Beuxes +Blanzay +Blaslay +Bouresse +Bournand +Orches +Pouant +Frozes +Civaux +Fleix +Chouppes +Thollet +Lavausseau +Pressac +Chaunay +La Puye +Payroux +Persac +Pindray +Raslay +Coussay +Villemort +Vivonne +Liglet +Linazay +Lizant +Luchapt +Verrue +Pleumartin +Le Vigeant +Valdivienne +Beaufou +Bessay +Mormaison +Oulmes +Palluau +Chambretaud +Rochetrejoux +Grosbreuil +Vouvant +Chasnais +Mouchamps +Triaize +Velluire +Venansault +Vendrennes +Menomblet +Mervent +Montournais +Thorigny +Monsireigne +Tiffauges +Landeronde +Le Rochereau +Sigournais +Lavoux +Soullans +Les Brouzils +Marillet +Sallertaine +Cheffois +Lairoux +Landevieille +Commequiers +Chaix +Bournezeau +Bourneau +Cezais +Les Clouzeaux +Tancua +Humbercourt +Monhoudou +Conlie +Montbizot +Montabon +Rahay +Requeil +Ruaudin +Commerveil +Avoise +Bouloire +Pontvallain +Saosnes +Louplande +Hervilly +Hescamps +Heuzecourt +Hiermont +Hombleux +Huchenneville +Jumel +Ignaucourt +Irles +Hell Hole Swamp +Lahoussoye +Lamaronde +Loeuilly +Murol +Laucourt +Ronquerolles +Licourt +Liercourt +Ligescourt +Montfermy +Moriat +Moureuille +La Moutade +Mozac +Neschers +Le Bailleul +Les Aulneaux +Beaufay +Berfay +Champfleur +Champrond +Chahaignes +Cherreau +Le Chevain +Cogners +Courcival +Contilly +Courgains +Courgenard +Courcemont +Coudrecieux +Courtillers +Cormes +Dollon +Dangeul +Dehault +Douillet +Dureil +Doucelles +Duneau +Le Grez +Novacelles +Jupilles +Noalhat +La Guierche +Lhomme +Ligron +Lamnay +Lavenay +Lavernat +Louzes +Lombron +Le Luart +Louailles +Luceau +Le Lude +Mayet +Parennes +Nauvay +La Milesse +Neuvillalais +Pirmil +Marollette +Nouans +La Quinte +Pizieux +Rouillon +Peray +Tresson +Terrehault +Tennie +Valennes +Surfonds +Vernie +Vibraye +Vezot +Olby +Olloix +Olmet +Orbeil +Olliergues +Orcet +Orcival +Palladuc +Parentignat +Peschadoires +Perpezat +Picherande +Pionsat +Pontaumur +Plauzat +Pignols +Pouzol +Les Pradeaux +Prondines +Prompsat +Le Quartier +La Renaudie +Queuille +Reignat +Romagnat +Saillant +Solignat +Tallende +Sermentizon +Viverols +Youx +Sauvagnat +Saurier +Sauviat +Sauxillanges +Sauvessanges +Tauves +Seychalles +Tortebesse +Valbeleix +Vassel +Tralaigues +Verneugheol +Vernines +Vertaizon +Vergheas +Vichel +Vertolaye +Villosanges +Viscomtat +Virlet +Vodable +Voingt +Les Ardillats +Montanay +Brignais +Brullioles +Brussieu +Chassieu +Cenves +Chamelet +Chaponnay +Charentay +Chevinay +Chassagny +Claveisolles +Cublize +Coise +Frontenas +Courzieu +Lacenas +Genas +Lachassagne +Les Haies +Larajasse +Limas +Liergues +Lentilly +Longes +Lissieu +Longessaigne +Lucenay +Lozanne +Mardore +Corbas +Craponne +Feyzin +Irigny +Jonage +Limonest +Mions +Yagul +Doix +Damvix +Cugand +Falleron +Pissotte +Poiroux +Givrand +Louvrechy +Ableiges +Les Olmes +Pusignan +Riverie +Rivolet +Trades +Vourles +Thurins +Thel +Ternand +Les Sauvages +Souzy +Arronville +Amenucourt +Aincourt +Arnouville +Arthies +Attainville +Avernes +Bessancourt +Banthelu +Bouqueval +Buhy +Chaumontel +Chauvry +Commeny +Domont +Courdimanche +Gadancourt +Genainville +Fosses +Frouville +Gouzangrez +Haravilliers +Le Heaulme +Hodent +Dorkwerd +Groslay +Livilliers +Labbeville +Solaize +Simandres +Longuesse +Luzarches +Maffliers +Louvres +Margency +Vernaison +Menucourt +Menouville +Moisselles +Stampersgat +Montgeroult +Mours +Montsoult +La Balme +La Bauche +Le Bois +Nucourt +La Biolle +Omerville +Parmain +La Bridoire +Cevins +Le Perchay +Pierrelaye +Piscop +Champagneux +Chanaz +La Chambre +Canteleu +Curienne +Cohennoz +Conjux +Dullin +Flumet +Freney +Domessin +Frontenex +La Giettaz +Granier +Jarsy +Marthod +Gerbaix +Gresin +Jongieux +Jarrier +Marcieux +Mognard +Seugy +Villaroger +Myans +Villarlurin +Villargondran +Survilliers +Nances +Plancherine +Novalaise +Montagnole +Randens +Planaise +Puygros +Le Thillay +Valmondois +Rotherens +Vaudherland +Presle +Vallangoujard +Termignon +La Table +Viarmes +Traize +Tresserve +Villeron +Le Verneil +Verthemex +Cognin +La Ravoire +Angiens +Ancourt +Ardouval +Argueil +Auffay +Auzebosc +Auvilliers +Bertreville +Bellencombre +Blosseville +Le Bocasse +Belbeuf +Betteville +Bertrimont +La Bouille +Bierville +Brunville +Cailleville +Boissay +Butot +Canehan +Bonsecours +Le Catelier +Canouville +Cideville +La Cerlangue +Critot +Offranville +La Crique +Croixdalle +Gainneville +Isneauville +Le Houlme +Houppeville +Mannevillette +La Londe +Moulineaux +Rogerville +Rolleville +Sauqueville +Ellecourt +Envronville +Esclavelles +Eslettes +Ermenouville +La Fontelaye +Esteville +Fongueusemare +Foucarmont +Foucart +Pouzauges +Fresquiennes +Frichemesnil +Fresles +Envermeu +Froberville +Ganzeville +Fultot +Freulleville +La Gaillarde +Gerponville +Gaillefontaine +Gerville +Graimbouville +Gonnetot +Glicourt +Graval +Greuville +Greny +Grumesnil +Les Herbiers +Grigneuseville +Gueures +Grugny +Le Hanouard +Vingrau +Les Ifs +Trouillas +Villemolaque +Torreilles +Tresserre +Longuerue +Terrats +Lestanville +Le Soler +Louvetot +Saleilles +Luneray +Mauny +Valliquerville +Vibeuf +Puyvalador +Thiouville +Prugnanes +Pollestres +Ortaffa +Turretot +Ponteilla +Passa +Triquerville +Peyrestortes +Montner +Le Trait +Millas +Sainneville +Marquixanes +Mantet +Llauro +La Llagonne +Lesquerde +Jujols +Glorianes +Los Masos +Sasseville +Llupia +Sauchay +Joch +Estoher +Felluns +Escaro +Sommesnil +Sommery +Meulers +Codalet +Sorquainville +Mirville +Catllar +Smermesnil +Millebosc +Molagnies +Casteil +Conat +Caramany +Casefabre +Campoussy +Montroty +Morienne +Muchedent +Calce +Cabestany +Brouilla +Nointot +Baillestavy +Ansignan +Norville +Omonville +Baixas +Rocquefort +Ronchois +Roumare +Royville +Le Bernard +Faymoreau +Le Fenouiller +Froidfond +Le Givre +Le Girouard +Le Mazeau +Le Perrier +Petosse +Les Pineaux +Le Langon +La Verrie +Jasses +Le Tablier +Labatmale +Lacommande +Izeste +Lagor +Lahourcade +Lalongue +Lamayou +Lannecaube +Laroin +Lalonquette +Lasclaveries +Lasseubetat +Lasseube +Ledeuix +Lembeye +Lespielle +Lespourcy +Laruns +Lons +Limendous +Lombia +Loubieng +Lourenties +Lucgarier +Maslacq +Maucor +Malaussanne +Meillon +Baleix +Barinque +Balansun +Baliros +Bedous +Baudreix +Bellocq +Bernadets +Bescat +Bielle +Beuste +Bidos +Bonnut +Borce +Bosdarros +Bougarber +Bournos +Boumourt +Burgaronne +Buros +Bourdettes +Bugnein +Buziet +Cabidos +Cadillon +Cardesse +Castet +Castetbon +Castetner +Castetpugon +Charre +Claracq +Coublucq +Crouseilles +Cuqueron +Diusse +Doazon +Escos +Denguin +Escou +Escot +Dognen +Espiute +Etsaut +Estialescq +Eysus +Escout +Gabaston +Estos +Gayon +Gelos +Gerderest +Hagetaubin +Igon +Viven +Issor +Moncla +Momy +Momas +Monein +Montaner +Montardon +Mialos +Morlanne +Mirepeix +Moumour +Mouhous +Narp +Narcastet +Navarrenx +Ossenx +Ouillon +Pardies +Orriule +Parbayse +Pomps +Portet +Riupeyrous +Ribarrouy +Pouliacq +Ramous +Rivehaute +Rontignon +Sarpourenx +Sallespisse +Saubole +Sarrance +Sauvelade +Sauvagnon +Simacourbe +Tarsacq +Suhescun +Susmiou +Urdos +Urost +Verdets +Uzein +Vialer +Uzos +Andiran +Armillac +Agnac +Antagnac +Anzex +Astaffort +Auradou +Bajamont +Baleyssagues +Beaugas +Barbaste +Beauziac +Bazens +Blaymont +Bouglon +Bourlens +Bourran +Bourgougnague +Brugnac +Casseneuil +Bournel +Cassignas +Calignac +Castelculier +Casteljaloux +Caubeyres +Caudecoste +Calonges +Cauzac +Cazideroque +Cavarc +Coulx +Cocumont +Courbiac +Dausse +Doudrac +Engayrac +Cuzorn +Dolmayrac +Damazan +Douzains +Esclottes +Escassefort +Condezaygues +Dondas +Estillac +Fauguerolles +Espiens +Fauillet +Frespech +Foulayronnes +Ferrensac +Galapian +Fongrave +Feugarolles +Fieux +Gavaudun +Hautesvignes +Jusix +Grayssas +Lagupie +Francescas +Lalandusse +Laplume +Lafox +Laugnac +Lamontjoie +Laperche +Lacaussade +Labretonie +Lavardac +Laussou +Layrac +Madaillan +Lougratte +Massels +Moirax +Moncrabeau +Monbahus +Moncaut +Montpouillan +Monbalen +Monteton +Nomdieu +Pompogne +Mongaillard +Montayral +Pailloles +Parranquet +Paulhiac +Pompiey +Monviel +Poussignac +Puymirol +Romestaing +Prayssas +Poudenas +Roumagne +Razimet +Puymiclan +Puysserampion +Rayet +Sauvagnas +Samazan +Saumont +Sembas +Tonneins +Soumensac +Tourliac +Villebramar +Trentels +Villeton +Seyches +Virazeil +Aiguefonde +Xaintrailles +Almayrac +Algans +Albine +Ambialet +Arfons +Amarens +Aussac +Assac +Aussillon +Arifat +Vianne +Ambres +Andillac +Berlats +Belleserre +Bertre +Broze +Burlats +Busque +Les Cammazes +Blan +Cestayrols +Carbes +Dourgne +Le Dourn +Cunac +Courris +Cambon +Escroux +Fauch +Curvalle +Faussergues +Frausseilles +Le Fraysse +Garrevaques +Fayssac +Fraissines +Damiatte +Itzac +Jouqueviel +Gijounet +Le Garric +Lacaune +Lagardiolle +Fiac +Giroussens +Laboutarie +Mailhoc +Lempaut +Magrin +Lautrec +Lasgraisses +Lagrave +Loubers +Lacaze +Marnaves +Marzens +Milhavet +Lasfaillades +Miolles +Massals +Montans +Milhars +Massaguel +Montdragon +Montdurausse +Montgey +Montrosier +Pampelonne +Poudis +Montpinier +Pratviel +Peyrole +Palleville +Peyregoux +Puycalvel +Paulinet +Le Riols +Puycelci +Roussayrolles +Montvalen +Rayssac +Ronel +Salvagnac +Saussenac +Senaux +Soual +Senouillac +Sieurac +Teyssode +Tanus +Souel +Teillet +Tonnac +Teulat +Le Travet +Vaour +Verdalle +Veilhes +Vabre +Puygouzon +Le Rialet +Le Verdier +Terssac +Le Vintrou +Le Sequestre +Valdurenque +Outrebois +Yzeux +Yonval +Yvrench +Yvrencheux +Yzengremer +Longueau +Longavesnes +Longuevillette +Louvencourt +Liomer +Lihons +Woirel +Saigneville +Saisseval +Saleux +Saveuse +Senarpont +Sentelie +Machiel +Malpart +Maizicourt +Marcelcave +Marestmontiers +Marquaix +Marlers +Martainneville +Maricourt +Marquivillers +Matigny +Marieux +Millencourt +Miannay +Mirvaux +Miraumont +Moislains +Oisemont +Morchain +Mouflers +Morlancourt +Montonvillers +Moyencourt +Monsures +Naours +Moreuil +Morisel +Nampty +Neslette +Neufmoulin +Nibas +Nurlu +Ochancourt +Occoches +Offignies +Thoix +Treux +Tilloloy +Valines +Vercourt +Vergies +Vecquemont +Villecourt +Vignacourt +Vermandovillers +Pierregot +Oresmaux +Pargny +Pissy +Poulainville +Oissy +Pertain +Pernois +Oneux +Ponthoile +Potte +Picquigny +Vironchaux +Voyennes +Vismes +Thennes +Warsy +Woignarue +Woincourt +Wargnies +Warvillers +Sourdon +Seux +Talmas +Terramesnil +Le Mazis +Surcamps +Le Mesge +La Vicogne +Le Meillard +Prouville +Puchevillers +Proyart +Roiglise +Prouzel +Pys +Rainneville +Raincheval +Quevauvillers +Remaisnil +Remaugies +Rethonvillers +Remiencourt +Riencourt +Rogy +Rouvrel +Revelles +Ronssoy +Rivery +Roisel +Rollot +Puzeaux +Rubescourt +Ramburelles +Le Titre +Le Translay +Le Quesne +Le Quesnel +Querrieu +Toutencourt +Currow +Garston Wood +Poeuilly +Thiepval +Bazeilles +Ljubljana Zoo +Taden +Craftsman Farms +Patmore Heath +Nully +Prokhladny +Lake Phalen +Edgbaston Pool +Westwood Quarry +Holly Knoll +Aubazine +Cuisles +Isles of Scilly +Djibouti +Grenada +Eritrea +Faroe Islands +Guatemala +Hongdo +South Africa +Cape Ann Light +Rouez +Hay Head Quarry +Dorchester Park +Fens Pools +Jockey Fields +Asham Quarry +Ashburnham Park +Bingletts Wood +Bream Wood +High Rocks +High Woods +Lower Dicker +Lewes Brooks +Lewes Downs +Rock Wood +Berkswell Marsh +Ketley Claypit +Illey Pastures +Hardy Lake +Golem Grad +Hampton Heights +Buxted Park +Waldron Cutting +Eridge Green +Plover Islands +Lake Kuttara +Marine Mill +Surajkund +Lake Elkhorn +Eauripik +Fort Frederik +Lake Centennial +Valjevo +Islandeady +Sea Call Farm +Letea Forest +Pirot +Mauritania +Winn Farm +Muar District +Muar town +Bahrain +Bouvet Island +Abkhazia +Cape Verde +Argentina +Lac Coffy +Bonigersee +Ishi Wilderness +Angram Bottoms +San Dimas Hotel +Alma gol lake +East Timor +Tamou Reserve +Tadres Reserve +Lake Sagami +Abbeville +Fore Wood +Cheesefoot Head +Casal Vasco +Allen Grove +Caspian Sea +Finsterwolde +Reijmerstok +Porlock Bay +Belgrade Zoo +Willingdon Down +Combe Haven +Tomorr +Kanjli Wetland +Darwell Wood +Eridge Park +Wishram village +Harike Wetland +Ropar Wetland +Royal Jozini +Northiam SSSI +Offham Marshes +MacAlpine +Linthicum Walks +Thompson Pond +American Samoa +Stitswerd +Oosternieland +Lura Mountain +Carabane +Pinecroft +Sorol +Ifalik +Brooklandwood +Ronkonkoma Lake +Lake Anneen +Vladivostok +Tartas +Hansa Park +Isle of Arran +Veliky Novgorod +Annaghdown +Burundi +Vyborg +Carson House +Canyards Hills +Hatfield Moors +Spitzingsee +Rammsee +Van Vorst Park +Loch Na Fooey +Verquigneul +Lake Sampaloc +Dill Farm +Brykill Farms +Sunfish Pond +Kotten +Sansom Row +Lake Gore +Bear Down Gym +Planoise +District A +District B +District C +District D +District E +Kahaluu Bay +Woolmer Forest +Ahu A Umi Heiau +Eider Islands +Holualoa Bay +Hantzsch Island +Payne Islands +Lake Akan +Trustom Pond +Tchefuncte Site +Zimmerman Kame +Mottey Meadows +Tanjung Puting +Belshaw +Rutland +Mys Shmidta +Zion Wilderness +Riyadh Province +Derwent Ings +Lory State Park +Case Mountain +Queen Maud Land +Llyn Gwernan +Yanranay +Rytkuchi +Wyuka Cemetery +Sugarloaf Mound +Gilfillan Farm +Tower Site +Ile Parisienne +Riche +Wilder Cemetery +Ballinora +Lieoux +Cornwall Bridge +Church Farm +Putnam Farm +Halmich Park +Birsky District +Muysky District +Brokaw Site +Eilean Hoan +Eilean Choraidh +Fort Brewerton +Eilean Trodday +Sturdivant Hall +Indian God Rock +Eilean Fladday +Eilean Tigh +Slack Farmstead +Red Mill Farm +Fort Aubrey +Locus 7 Site +Lullymore +Victor Hotel +Constitution 1857 National Park +Fisher Site +Xinjiang +Beardslee Farm +Hartford Colony +Kinne Cemetery +Wolf Plains +Book Site +Fort Blount +Hanford Mill +Muklassa +Gozo +Jere Shine Site +Old Trees +Upenough +York Lodge +Tudek Site +Whelan Camp +Camp Quinipet +Blackhawk Hotel +Kahl Building +Ever Rest +Lake Higa +Box Hill Estate +Oregon +Ferris Site +East Fork Site +Devanney Site +Gatch Site +Brooke Site +Sound Heath +Ellis Mounds +Dodge Site +Kansky District +Applewood Farm +Mansky District +Austria +Quoisley Meres +Bone Mound II +Toolibin Lake +Renz Block +Akhty +Kinzer Mound +Horn Mound +Currans +Kilmoyley +Nutwood Place +Lynfeld +Thomsons Lake +Ellen Trout Zoo +The Belnord +Scherlenheim +Leeds Flat Site +Ufferman Site +Bar U Ranch +Coffin Site +Rainbow Court +Fort Brown Site +Ratcliffe Mound +Gaines Ferry +Edgewater Farm +Champlain II +Nipper Building +Garoga Site +Klock Site +Estonia +Fountain Hotel +Goll Homestead +Worland Ranch +Fulton Farm +Moser Farm +Circle Ranch +Ranch A diff --git a/etc/prosody.cfg.lua b/etc/prosody.cfg.lua new file mode 100644 index 0000000..6c0e4ac --- /dev/null +++ b/etc/prosody.cfg.lua @@ -0,0 +1,89 @@ +-- Copyleft Matthieu Lalonde 2012 LGPL + +admins = { "admin@domain.tld" } + +--use_libevent = true; + +-- This is the list of modules Prosody will load on startup. +-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. +-- Documentation on modules can be found at: http://prosody.im/doc/modules +modules_enabled = { + -- Generally required + "roster"; -- Allow users to have a roster. Recommended ;) + "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. + "tls"; -- Add support for secure TLS on c2s/s2s connections + --"dialback"; -- s2s dialback support + --"disco"; -- Service discovery + + -- Not essential, but recommended + --"private"; -- Private XML storage (for room bookmarks, etc.) + --"vcard"; -- Allow users to set vCards + --"privacy"; -- Support privacy lists + "compression"; -- Stream compression + + -- Nice to have + --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. + --"version"; -- Replies to server version requests + --"uptime"; -- Report how long server has been running + --"time"; -- Let others know the time here on this server + "ping"; -- Replies to XMPP pings with pongs + --"pep"; -- Enables users to publish their mood, activity, playing music and more + --"register"; -- Allow users to register on this server using a client and change passwords + --"adhoc"; -- Support for "ad-hoc commands" that can be executed with an XMPP client + + -- Admin interfaces + --"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands + --"admin_telnet"; -- Opens telnet console interface on localhost port 5582 + + -- Other specific functionality + "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. + --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" + --"httpserver"; -- Serve static files from a directory over HTTP + --"groups"; -- Shared roster support + --"announce"; -- Send announcement to all online users + --"welcome"; -- Welcome users who register accounts + --"watchregistrations"; -- Alert admins of registrations + --"motd"; -- Send a message to users when they log in +}; + +modules_disabled = { + -- "presence"; -- Route user/contact status information + -- "message"; -- Route messages + -- "iq"; -- Route info queries + --"offline"; -- Store offline messages +}; + +allow_registration = false; + + +ssl = { + key = "/opt/prosody/etc/prosody/certs/domain.tld.key"; + certificate = "/opt/prosody/etc/prosody/certs/domain.tld.cert"; +}; + +c2s_require_encryption = true +s2s_require_encryption = true + +--log = { +-- error = "*syslog"; -- Send error and higher to the syslog sink +--}; +log = "/var/log/prosody/prosody.log" + +compression_level = 7 + +authentication = "anon" + +anons = { + salt = "GIVEMEAGOODSALT"; + expiry_time = 30; +}; + +storage = "internal" + + +daemonize = true + +VirtualHost "domain.tld" + Component "conference.domain.tld" "muc" + Component "proxy.domain.tld" "proxy65" + diff --git a/modules/mod_auth_anon.lua b/modules/mod_auth_anon.lua new file mode 100644 index 0000000..1a2ef33 --- /dev/null +++ b/modules/mod_auth_anon.lua @@ -0,0 +1,704 @@ +-- mod_auth_anon v0.1 +-- Copyright (C) 2011 Matthieu Lalonde +-- +-- All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +-- +-- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +-- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +-- * Neither the name of Tobias Markmann nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-- TODO: Minimum length username+pass +-- TODO: Add pretty nicknames to users (must be random and unique!) +-- TODO: Drop client that are idle for X time in order to help protect their privacy on Tor +-- DONE: On new signup, publish to the roster so no login cycle is needed +-- TODO: When a new user is pushed to the roster of online users, they don't seem to be authorized (or at least presence is not pushed) +-- TODO?: Change all Version IQ to INFOXMPP-APPROVED +-- TODO?: Add to stream negociation +-- TODO?: Change to a whitelisting system for IQ filtering in case there is more than bytestreams and jingle/content/transport that leak ips +-- TODO?: Move the datastore callbacks to the new mechanism?! (Need to figure out what that mechanism is but callbacks are deprecated apparently) +-- TODO?: Block locale from leaking (done in core/stanza_router.lua but needs to move to filters in here see: http://prosody-modules.googlecode.com/hg/mod_smacks/mod_smacks.lua ) + +local mod_auth_anon_changelog = { + {0.3, [[ +]] + }, + {0.2, [[ +- Added: Changelog and version +- Added: Generated user nicknames +- Fixed: Bytestreams filtering cleaned up and fixed for Psi +- Fixed: resource binding in Psi]]}, + {0.1, [[ +- First versions before the changelog, a brief of current functionalities + - Anonymous login with user ids based on hmac:sha256(salt, username+password), + once logged in a user will receive their unique hashed username, resources are also anonymized. + Users exist so long as they login every X days (default 1 day); + after a user expires any of its stored data is deleted. + - Automatic roster of all current users + - Offline messages permitted only for encrypted messages (detects OTR, RSA and x:encrypted GPG) + - Filtering of bytestream and jingle (at least libpurple) negotiation leaking a users IP + - Filtering of a user's locale leaked by some clients (namely Tkabber)]]} +} + +local hmac_sha256 = require "util.hmac".sha256 +local hashes = require "util.hashes" +local uuid_generate = require "util.uuid".generate +local datamanager = require "util.datamanager" +local usermanager_create_user = require "core.usermanager".create_user +local json = require "util.json" +local st = require "util.stanza" + +require "luasql.sqlite3" +local sqlite3 = luasql.sqlite3() +local connection + +local resolve_relative_path = require "core.configmanager".resolve_relative_path +local sm_bind_resource = require "core.sessionmanager".bind_resource + +local full_sessions = full_sessions + +local data_path = (prosody and prosody.paths and prosody.paths.data) or "." + +local xmlns_bind ='urn:ietf:params:xml:ns:xmpp-bind' + +local module_host = module:get_host() + +local params = module:get_option("anons") +if not params then -- Set defaults + params = {} +end + +params.expiry_time = (params.expiry_time or 1) -- Days +params.salt = (params.salt or "iamsalt") + +local expiry_time = params.expiry_time * 24 * 3600 + +local name_list_path = (prosody and prosody.paths and prosody.paths.config) or "." + +local function open_list(file) + local list = {} + local fd = assert(io.open(file, "r")) + for line in fd:lines() do + table.insert(list, line) + end + + return list +end + +local animals = open_list(resolve_relative_path(name_list_path, "names/animals.list")) +local colors = open_list(resolve_relative_path(name_list_path, "names/colors.list")) +local locations = open_list(resolve_relative_path(name_list_path, "names/locations.list")) +local adjectives = open_list(resolve_relative_path(name_list_path, "names/adjectives.list")) + +function round(num, idp) + return tonumber(string.format("%." .. (idp or 0) .. "f", num)) +end + +local function tchelper(first, rest) + return string.upper(first) .. string.lower(rest) +end + +local function capitalize(str) + return string.gsub(str, "(%a)([%w_']*)", tchelper) +end + +local function trim(str) + return string.gsub(str, "^%s*(.-)%s*$", "%1") +end + +local function num_superscript(nbr) + local str_nbr = tostring(nbr):sub(-1) + local suffix = "" + + if string.len(tostring(nbr)) > 1 and tostring(nbr):sub(-2) == "13" then + suffix = "th" + elseif str_nbr == "1" then + suffix = "st" + elseif str_nbr == "2" then + suffix = "nd" + elseif str_nbr == "3" then + suffix = "rd" + else + suffix = "th" + end + + return suffix +end + + +local function get_hash_name(hash) + local number = tonumber(string.format("0x%s", hash)) + local animal = math.fmod(number, table.getn(animals)) +1 + number = round(number / table.getn(animals)) + + if number == 0 then + return capitalize(trim(animals[animal])) + end + + local color = math.fmod(number, table.getn(colors)) + 1 + number = round(number / table.getn(colors)) + + if number == 0 then + return capitalize(trim(colors[color])) .. " " .. capitalize(trim(animals[animal])) + end + + local location = math.fmod(number, table.getn(locations)) + 1 + number = round(number / table.getn(locations)) + + if number == 0 then + return capitalize(trim(colors[color])) .. " " .. capitalize(trim(animals[animal])) .. " of " .. capitalize(trim(locations[location])) + end + + local adjective = math.fmod(number, table.getn(adjectives)) + 1 + number = round(number / table.getn(adjectives)) + + if number == 0 then + return capitalize(trim(colors[color])) .. " " .. capitalize(trim(animals[animal])) .. " `The " .. capitalize(trim(adjectives[adjective])) .. "` of " .. capitalize(trim(locations[location])) + end + + local str_nbr = "The " .. number .. num_superscript(number) + + return capitalize(trim(colors[color])) .. + " " .. capitalize(trim(animals[animal])) .. + " " .. str_nbr .. + " `The " .. capitalize(trim(adjectives[adjective])) .. + "` of " .. capitalize(trim(locations[location])) +end + +-- URL Encode +local function encode(s) + return s and (s:gsub("%W", function (c) return string.format("%%%02x", c:byte()); end)) +end + +-- Initiate SQL connections +local function connect() + local database = resolve_relative_path(data_path, (module_host and encode(module_host)) .. "/anons.sqlite") + + assert(datamanager.getpath("", module_host, "", "", true)) + + local dbh = assert(sqlite3:connect(database)) + + if not dbh then + module:log("error", "Database connection failed: %s", tostring(err)) + return nil + end + + module:log("debug", "Successfully connected to database") + + dbh:setautocommit(true); + connection = dbh; + + return connection; +end + +-- Drop SQL Connection +local function disconnect() + connection:close(); + sqlite3:close(); +end + +-- Create anon table +local function create_table() + local res = assert(connection:execute[[ + CREATE TABLE IF NOT EXISTS `anon_users` (TEXT, `user` TEXT, `name` TEXT, `last` TIMESTAMP, `stores` TEXT); + ]]); + + if not res then + module:log("error", "Failed to create SQLite Anon Database"); + else + module:log("info", "Initialized new %s database with anon_users", "SQLite"); + local res = connection:execute[[ + CREATE INDEX IF NOT EXISTS `anon_users_index` ON `anon_users` (`user`, `last`, `name`); + ]]; + + if not res then + module:log("warn", "Failed to create anon indexes, lookups may not be optimised"); + end + + return true; + end +end + +-- Lookup a user +local function is_anon_user(username, fields) + if fields == nil then + fields = "`user`" + end + + local sql = string.format("SELECT %s FROM `anon_users` WHERE user = %q LIMIT 1;", fields, username) + local res = connection:execute(sql) + + if not res then + return nil + else + return res:fetch({}, "a"); + end +end + +-- Log a user datastore so we can purge them later on +local function log_user_datastore(username, datastore) + local user_result = is_anon_user(username, "`user`, `stores`") + + if user_result ~= nil then + local user_stores = json.decode(user_result.stores) + + if not user_stores[datastore] then + user_stores[datastore] = true + local sql_str = "UPDATE `anon_users` SET stores = '%s', last = %q WHERE user = %q;"; + local sql = string.format(sql_str, json.encode(user_stores), tostring(os.time()), username); + + if not connection:execute(sql) then + module:log("error", "Failed to write stores %q status for %q: %s", datastore, username, sql); + return nil + else + return true + end + else + return true + end + else + module:log("debug", "User %q doesn't exist, not storing datastore!", username) + + return nil + end +end + +-- Purges expired users by deleting any datastores they might have and their database entry +local function purge_users() + -- Fetch all the stale users + sql = string.format("SELECT * FROM `anon_users` WHERE last < %s;", (os.time() - expiry_time)); + local res = connection:execute(sql); + + if not res then + module:log("error", "Error fetching stale users: %s", sql); + return nil; + end + + local row = res:fetch ({}, "a"); + local errors = false; + + -- There are no expired users + if not row then + return true; + end + + while row do + -- First make sure we update any expired logins that are still connected + if prosody.bare_sessions[row.user .. "@" .. module_host] ~= nil then + sql = string.format("UPDATE `anon_users` SET last = %s WHERE user = %q;", + tostring(os.time()), row.user); + + if not connection:execute(sql) then + errors = true; + end + -- Otherwise we delete the user's datastores + else + local user_stores = json.decode(row.stores); + local str_stores = "" + + if string.len(row.stores) > 0 then + for t, v in pairs(user_stores) do + -- Remove stores and list stores + datamanager.store(row.user, module_host, tostring(t), nil) + datamanager.list_store(row.user, module_host, tostring(t), nil) + str_stores = str_stores .. tostring(t) .. " " + end + + module:log("debug", "Removed datastores %q for stale user %q", str_stores, row.user) + end + end + + row = res:fetch (row, "a") + end + + -- Deleting any expired users left in the DB + if not errors then + sql = string.format("DELETE FROM `anon_users` WHERE last < %s;", (os.time() - expiry_time)); + res = connection:execute(sql) + + if not res then + module:log("error", "Failed to purge anon users, check the database!") + else + module:log("info", "Purged %s user(s) from anons!", res) + end + + return true + else + module:log("error", "There was an error updating current expired users, purging failed!") + end +end + +-- Log an anon to the anon DB and clean the old ones. +local function log_user(username) + local sql = string.format("SELECT `user` FROM `anon_users` WHERE user = %q;", username); + local res = connection:execute(sql); + + -- The entry doesn't exist, let's create it + if not res:fetch() then + local user_longname = get_hash_name(username) + sql = string.format("INSERT INTO `anon_users` (user, last, name, stores) VALUES (%q, %s, %q, \"{}\");", + username, os.time(), user_longname); + module:log("debug", "Inserting new anon %s", username); + -- The user already exists, update his last login time + else + sql = string.format("UPDATE `anon_users` SET last = %s WHERE user = %q;", os.time(), username); + module:log("debug", "Updating current anon %s", username); + end + + if not connection:execute(sql) then + module:log("error", "Failed to write anon login to database: %s", sql) + else -- Let's purge the old users here + purge_users() + end +end + +-- Inject ALL THE anons into the roster +local function inject_roster_contacts(username, host, roster) + local res = connection:execute("SELECT `user`, `name` FROM `anon_users`;"); + local row = res:fetch ({}, "a") + + while row do + if username ~= row.user then + local jid = row.user .. "@" .. module_host; + module:log("debug", "Adding user %s to roster %s.", jid, username); + if not roster[jid] then roster[jid] = {}; end + roster[jid].subscription = "both"; + roster[jid].published = true; + roster[jid].name = row.name; + roster[jid].persist = false; + roster[jid].groups = { [module_host] = true }; + end + + row = res:fetch (row, "a") + end + + roster[module_host] = {} + roster[module_host].subscription = "both" + roster[module_host].published = true + roster[module_host].name = module_host + roster[module_host].persist = false + roster[module_host].groups = { [module_host] = true } +end + +local function push_roster_contact(username, full_jid) + local user_longname = get_hash_name(username) + local roster_attr = {jid = username.."@"..module_host, name = user_longname, + subscription = "both", approved = "true"} + module:log("debug", "Sending new roster item for user: %s", username) + + for _, session in pairs(prosody.bare_sessions) do + if _ ~= username.."@"..module_host then + for __, current_session in pairs(session.sessions) do + local roster_item = + st.iq({to = current_session.full_jid, type = "set"}) + :tag("query", {xmlns = "jabber:iq:roster", ver = os.time()}) + :tag("item", roster_attr) + :tag("group"):text(module_host) + :up() + :up() + + core_route_stanza(module_host, roster_item) + end + end + end +end + +-- Catching the remove requests for data to block roster access +local function handle_datamanager(username, host, datastore, data) + if host ~= module_host then + return false; + end + + if datastore == "roster" then + -- Don't allow users to actually save rosters + return false; + else + -- Register all datastores for a user so we can purge them later + if data ~= nil then + if log_user_datastore(username, datastore) ~= nil then + return username, host, datastore, data; + else + return false; + end + else + return username, host, datastore, data; + end + end +end + +-- Anon Auth Provider, let ALL THE anons in! +module:add_item("auth-provider", { + name = module.name:gsub("^auth_",""), + test_password = function() return true end, + user_exists = function(node, host) return (is_anon_user(node) ~= nil) end, + get_sasl_handler = function () return { + mechanisms = function() return { PLAIN = true, } end, + plain = function(self, message) + if string.len(message) < 18 then + return "failure", "malformed-request", "Invalid username or password must be 18 characters or more."; + else + self.username = hmac_sha256(params.salt, message:match("%z(.*)$"), true); + self.username = self.username:sub(-10); + + return "success" + end + end, + select = function(self, mech) self.process = self[mech:lower()] return true end, + clean_clone = function(self) self.username = nil; self.process = nil; return self end, + } end, +}) + +-- Override the IQ Bind hook from saslauth in order to send the welcome message +module:hook("resource-bind", function(event) + local session = event.session + local bare_jid = session.username .. "@" .. session.host + + if is_anon_user(session.username) == nil then + prosody.bare_sessions[bare_jid].is_new_user = true + end + + log_user(session.username) + + local user_longname = is_anon_user(session.username, "`name`") + user_longname = user_longname.name + + local welcome_stanza = + st.message({ to = bare_jid, from = session.host }) + :tag("body") + :text(string.format("Welcome in %s, your username is: %s@%s", + user_longname, session.username, session.host)) + :up() + + module:log("debug", "Welcomed user %s %q", session.full_jid, tostring(welcome_stanza)) + core_route_stanza(session.host, welcome_stanza) + + return nil -- Go on with the original hook if there is any +end, 9000) -- Priority over 9000, nothing should be over 9000, really! + +module:hook("presence/host", function(event) + local origin, stanza = event.origin, event.stanza; + + -- Catch the fist time a user comes online + if stanza and stanza.attr and stanza.attr.type == "probe" and stanza.attr.to == module_host + and prosody.bare_sessions[origin.username.."@"..origin.host].is_new_user ~= nil then + + module:log("debug", "***** PRESENCE PUSHING NEW USER TO USERS ******") + prosody.bare_sessions[origin.username.."@"..origin.host].is_new_user = nil + push_roster_contact(origin.username, origin.full_jid) + end + + return nil +end, 9000) + +-- Override the IQ Bind hook from saslauth in order to anonymize resource +module:hook("iq/self/urn:ietf:params:xml:ns:xmpp-bind:bind", function(event) + local origin, stanza = event.origin, event.stanza; + + if stanza.attr.type == "set" then + local resource_tag = stanza.tags[1]:child_with_name("resource") + local hashed_resource = tostring(hmac_sha256((resource_tag and #resource_tag.tags == 0 and resource_tag[1] or "wearelegions"), (resource_tag and #resource_tag.tags == 0 and resource_tag[1] or uuid_generate()), true)):sub(-16); + + if resource_tag == nil then + stanza.tags[1]:tag("resource"):text(hashed_resource); + else + stanza.tags[1]:child_with_name("resource")[1] = hashed_resource + end + end + + return nil +end, 9000) -- Priority over 9000, nothing should be over 9000, really! + +module:hook("iq/full", function(data) + -- IQ to full JID recieved + local origin, stanza = data.origin, data.stanza; + local xmlns_bytestream = "http://jabber.org/protocol/bytestreams" + + -- Sanitize bytestreams + if stanza:get_child("query", xmlns_bytestream) + and stanza:get_child("query", xmlns_bytestream):get_child("streamhost") then + local sanitize_streamhost = function(tag) + if tag.name == "streamhost" then + local is_proxy = false + + if tag.attr and tag.attr.jid and string.find(tag.attr.jid, "proxy.") ~= nil then + is_proxy = true + elseif tag.attr and tag.attr.host and string.find(tag.attr.host, "proxy.") ~= nil then + is_proxy = true + elseif tag:get_child("proxy") ~= nil then + is_proxy = true + end + + if is_proxy == false then + return nil + end + end + + return tag + end + + stanza:get_child("query", xmlns_bytestream):maptags(sanitize_streamhost) + + local num_bytestreams = 0 + for child in stanza:get_child("query", xmlns_bytestream):childtags("bytestream") do + num_bytestreams = num_bytestreams + 1 + end + + local num_tags = #stanza:get_child("query", xmlns_bytestream).tags + if num_bytestreams < num_tags then + local error_stanza = st.error_reply(stanza, "cancel", "service-unavailable") + error_stanza.attr.to = stanza.attr.to + error_stanza.attr.from = stanza.attr.from + core_route_stanza(module_host, error_stanza); + core_route_stanza(module_host, st.error_reply(stanza, "cancel", "service-unavailable")) --"error", nil, "Couldn't connect to any streamhosts")); + return true; + end + -- Sanitize Jingle + -- FIXME: This should use maptags as above + elseif stanza and stanza.tags and stanza.tags[1] then + local child = stanza.tags[1] + + if child and child.name == "jingle" and child.attr.xmlns == "urn:xmpp:jingle:1" then + for a, b in ipairs(stanza.tags[1]) do + if b.name == "content" then + for i, v in ipairs(stanza.tags[1].tags[a]) do + if v.name == "transport" then + local remove_ids = {} + for ii, vv in ipairs(v) do + if vv.name == "candidate" and vv.attr.type and vv.attr.type ~= "relay" then + table.insert(remove_ids, ii) + end + end + + local ib = #remove_ids + while ib > 0 do + table.remove(stanza.tags[1].tags[a].tags[i], ib) + ib = ib-1 + end + end + end + end + end + end + end + + return nil; -- Let the original hook go through +end, 9000); + +-- Catch offline messages and allow only those that are encrypted +module:hook("message/offline/handle", function(event) + local origin, stanza = event.origin, event.stanza; + + if not stanza:child_with_name("body") then + return true; -- Only log actual messages + end + + -- Let host and bare messages go through anyway + if not (stanza.attr.from == "" or stanza.attr.from == module_host or stanza.attr.to == module_host) then + if stanza and stanza.name and stanza.name == "message" then + if stanza.tags and stanza.tags[2] then + local is_encrypted = false + + if stanza.tags[2].name == "body" then + if string.find(stanza.tags[2]:get_text(), "?OTR:") == 1 then + is_encrypted = true; + end + if string.find(stanza.tags[2]:get_text(), "*** Encrypted with the Gaim-Encryption plugin", 1, true) == 1 then + is_encrypted = true; + end + end + + if stanza.tags[2].name == "x" and stanza.tags[2].attr.xmlns == "jabber:x:encrypted" then + is_encrypted = true; + end + + if is_encrypted == false then + local error_stanza = + st.message({ to = origin.full_jid, from = stanza.attr.to }) + :tag("body"):text("User offline; offline messages are only allowed when you use encryption"); + + origin.send( error_stanza); + + return true; -- Block the message from getting stored + end + end + end + end + + return nil; -- let the hook go along +end, 9000); -- Priority over 9000, nothing should be over 9000, really! + +module:hook("message/host", function(event) + local origin, stanza = event.origin, event.stanza; + local message_body = stanza:child_with_name("body"):get_text() + + if string.find(message_body, "#!help") == 1 then + local help_str = [[#!help This message +#!version Returns mod_auth_anon's current version +#!changelog Returns the full changelog (one message per version)]] + + local reply_stanza = st.message({to = origin.full_jid, from = module_host, type = "chat"}) + :tag("body"):text(help_str) + + origin.send(reply_stanza) + + return true + elseif string.find(message_body, "#!version") == 1 then + local current_version = mod_auth_anon_changelog[1][1] + local reply_stanza = st.message({to = origin.full_jid, from = module_host, type = "chat"}) + :tag("body"):text("Current version of Mod Auth Anon: " .. current_version ) + + origin.send(reply_stanza) + + return true + elseif string.find(message_body, "#!changelog") == 1 then + local changelog = "" + + for i, v in ipairs(mod_auth_anon_changelog) do + local version_body = "Version "..v[1].."\n"..v[2] + local reply_stanza = st.message({to = origin.full_jid, from = module_host, type = "chat"}) + :tag("body"):text(version_body) + + origin.send(reply_stanza) + end + + return true +-- elseif string.find(message_body, "#!hash") == 1 then +-- local file_path = string.sub(debug.getinfo(1).source, 2) +-- module:log("debug", file_path) +-- local file = assert(io.open(file_path, "r")) +-- local x = "" +-- for line in file:lines() do +-- x = x..line +-- end +-- file:close() +-- +-- local file_hash = hashes.md5(x, true) +-- +-- module:log("debug", file_path .. " " .. file_hash) +-- +-- return true + else + return nil + end +end, 9000) + +function module.load() + assert (connect() ~= nil) + + assert (create_table() ~= nil) + + assert (purge_users() ~= nil) + + module:hook("roster-load", inject_roster_contacts); + datamanager.add_callback(handle_datamanager); +end + +function module.unload() + datamanager.remove_callback(handle_datamanager); + + disconnect(); +end + diff --git a/modules/mod_iq.lua b/modules/mod_iq.lua new file mode 100644 index 0000000..b0ac4d2 --- /dev/null +++ b/modules/mod_iq.lua @@ -0,0 +1,78 @@ +-- Prosody IM +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain +-- +-- This project is MIT/X11 licensed. Please see the +-- COPYING file in the source package for more information. +-- + + +local st = require "util.stanza"; +local jid_split = require "util.jid".split; + +local full_sessions = full_sessions; +local bare_sessions = bare_sessions; + +if module:get_host_type() == "local" then + module:hook("iq/full", function(data) + -- IQ to full JID recieved + local origin, stanza = data.origin, data.stanza; + + local session = full_sessions[stanza.attr.to]; + if session then + -- TODO fire post processing event + session.send(stanza); + else -- resource not online + if stanza.attr.type == "get" or stanza.attr.type == "set" then + origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); + end + end + return true; + end); +end + +module:hook("iq/bare", function(data) + -- IQ to bare JID recieved + local origin, stanza = data.origin, data.stanza; + local type = stanza.attr.type; + + -- TODO fire post processing events + if type == "get" or type == "set" then + local child = stanza.tags[1]; + local ret = module:fire_event("iq/bare/"..child.attr.xmlns..":"..child.name, data); + if ret ~= nil then return ret; end + return module:fire_event("iq-"..type.."/bare/"..child.attr.xmlns..":"..child.name, data); + else + return module:fire_event("iq-"..type.."/bare/"..stanza.attr.id, data); + end +end); + +module:hook("iq/self", function(data) + -- IQ to self JID recieved + local origin, stanza = data.origin, data.stanza; + local type = stanza.attr.type; + + if type == "get" or type == "set" then + local child = stanza.tags[1]; + local ret = module:fire_event("iq/self/"..child.attr.xmlns..":"..child.name, data); + if ret ~= nil then return ret; end + return module:fire_event("iq-"..type.."/self/"..child.attr.xmlns..":"..child.name, data); + else + return module:fire_event("iq-"..type.."/self/"..stanza.attr.id, data); + end +end); + +module:hook("iq/host", function(data) + -- IQ to a local host recieved + local origin, stanza = data.origin, data.stanza; + local type = stanza.attr.type; + + if type == "get" or type == "set" then + local child = stanza.tags[1]; + local ret = module:fire_event("iq/host/"..child.attr.xmlns..":"..child.name, data); + if ret ~= nil then return ret; end + return module:fire_event("iq-"..type.."/host/"..child.attr.xmlns..":"..child.name, data); + else + return module:fire_event("iq-"..type.."/host/"..stanza.attr.id, data); + end +end); diff --git a/util/datamanager.lua b/util/datamanager.lua new file mode 100644 index 0000000..7ab97d7 --- /dev/null +++ b/util/datamanager.lua @@ -0,0 +1,228 @@ +-- Prosody IM +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain +-- +-- This project is MIT/X11 licensed. Please see the +-- COPYING file in the source package for more information. +-- + + +local format = string.format; +local setmetatable, type = setmetatable, type; +local pairs, ipairs = pairs, ipairs; +local char = string.char; +local loadfile, setfenv, pcall = loadfile, setfenv, pcall; +local log = require "util.logger".init("datamanager"); +local io_open = io.open; +local os_remove = os.remove; +local tostring, tonumber = tostring, tonumber; +local error = error; +local next = next; +local t_insert = table.insert; +local append = require "util.serialization".append; +local path_separator = assert ( package.config:match ( "^([^\n]+)" ) , "package.config not in standard form" ) -- Extract directory seperator from package.config (an undocumented string that comes with lua) +local lfs = require "lfs"; +local prosody = prosody; +local raw_mkdir; + +if prosody.platform == "posix" then + raw_mkdir = require "util.pposix".mkdir; -- Doesn't trample on umask +else + raw_mkdir = lfs.mkdir; +end + +module "datamanager" + +---- utils ----- +local encode, decode; +do + local urlcodes = setmetatable({}, { __index = function (t, k) t[k] = char(tonumber("0x"..k)); return t[k]; end }); + + decode = function (s) + return s and (s:gsub("+", " "):gsub("%%([a-fA-F0-9][a-fA-F0-9])", urlcodes)); + end + + encode = function (s) + return s and (s:gsub("%W", function (c) return format("%%%02x", c:byte()); end)); + end +end + +local _mkdir = {}; +local function mkdir(path) + path = path:gsub("/", path_separator); -- TODO as an optimization, do this during path creation rather than here + if not _mkdir[path] then + raw_mkdir(path); + _mkdir[path] = true; + end + return path; +end + +local data_path = (prosody and prosody.paths and prosody.paths.data) or "."; +local callbacks = {}; + +------- API ------------- + +function set_data_path(path) + log("debug", "Setting data path to: %s", path); + data_path = path; +end + +local function callback(username, host, datastore, data) + for _, f in ipairs(callbacks) do + username, host, datastore, data = f(username, host, datastore, data); + if username == false then break; end + end + + return username, host, datastore, data; +end +function add_callback(func) + if not callbacks[func] then -- Would you really want to set the same callback more than once? + callbacks[func] = true; + callbacks[#callbacks+1] = func; + return true; + end +end +function remove_callback(func) + if callbacks[func] then + for i, f in ipairs(callbacks) do + if f == func then + callbacks[i] = nil; + callbacks[f] = nil; + return true; + end + end + end +end + +function getpath(username, host, datastore, ext, create) + ext = ext or "dat"; + host = (host and encode(host)) or "_global"; + username = username and encode(username); + if username then + if create then mkdir(mkdir(mkdir(data_path).."/"..host).."/"..datastore); end + return format("%s/%s/%s/%s.%s", data_path, host, datastore, username, ext); + elseif host then + if create then mkdir(mkdir(data_path).."/"..host); end + return format("%s/%s/%s.%s", data_path, host, datastore, ext); + else + if create then mkdir(data_path); end + return format("%s/%s.%s", data_path, datastore, ext); + end +end + +function load(username, host, datastore) + local data, ret = loadfile(getpath(username, host, datastore)); + if not data then + local mode = lfs.attributes(getpath(username, host, datastore), "mode"); + if not mode then + log("debug", "Assuming empty "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); + return nil; + else -- file exists, but can't be read + -- TODO more detailed error checking and logging? + log("error", "Failed to load "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); + return nil, "Error reading storage"; + end + end + setfenv(data, {}); + local success, ret = pcall(data); + if not success then + log("error", "Unable to load "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); + return nil, "Error reading storage"; + end + return ret; +end + +function store(username, host, datastore, data) + if not data then + data = {}; + end + + username, host, datastore, data = callback(username, host, datastore, data); + if username == false then + return true; -- Don't save this data at all + end + + -- save the datastore + local f, msg = io_open(getpath(username, host, datastore, nil, true), "w+"); + if not f then + log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or "nil").."@"..(host or "nil")); + return nil, "Error saving to storage"; + end + f:write("return "); + append(f, data); + f:close(); + if next(data) == nil then -- try to delete empty datastore + log("debug", "Removing empty %s datastore for user %s@%s at %q", datastore, username or "nil", host or "nil", getpath(username, host, datastore)); + os_remove(getpath(username, host, datastore)); + end + -- we write data even when we are deleting because lua doesn't have a + -- platform independent way of checking for non-exisitng files + return true; +end + +function list_append(username, host, datastore, data) + if not data then return; end + if callback(username, host, datastore, data) == false then return true; end + -- save the datastore + local f, msg = io_open(getpath(username, host, datastore, "list", true), "a+"); + if not f then + log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or "nil").."@"..(host or "nil")); + return; + end + f:write("item("); + append(f, data); + f:write(");\n"); + f:close(); + return true; +end + +function list_store(username, host, datastore, data) + if not data then + data = {}; + end + if callback(username, host, datastore, data) == false then return true; end + -- save the datastore + local f, msg = io_open(getpath(username, host, datastore, "list", true), "w+"); + if not f then + log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or "nil").."@"..(host or "nil")); + return; + end + for _, d in ipairs(data) do + f:write("item("); + append(f, d); + f:write(");\n"); + end + f:close(); + if next(data) == nil then -- try to delete empty datastore + log("debug", "Removing empty %s datastore for user %s@%s", datastore, username or "nil", host or "nil"); + os_remove(getpath(username, host, datastore, "list")); + end + -- we write data even when we are deleting because lua doesn't have a + -- platform independent way of checking for non-exisitng files + return true; +end + +function list_load(username, host, datastore) + local data, ret = loadfile(getpath(username, host, datastore, "list")); + if not data then + local mode = lfs.attributes(getpath(username, host, datastore, "list"), "mode"); + if not mode then + log("debug", "Assuming empty "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); + return nil; + else -- file exists, but can't be read + -- TODO more detailed error checking and logging? + log("error", "Failed to load "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); + return nil, "Error reading storage"; + end + end + local items = {}; + setfenv(data, {item = function(i) t_insert(items, i); end}); + local success, ret = pcall(data); + if not success then + log("error", "Unable to load "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); + return nil, "Error reading storage"; + end + return items; +end + +return _M; diff --git a/util/stanza.lua b/util/stanza.lua new file mode 100644 index 0000000..3ea4420 --- /dev/null +++ b/util/stanza.lua @@ -0,0 +1,433 @@ +-- Prosody IM +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain +-- +-- This project is MIT/X11 licensed. Please see the +-- COPYING file in the source package for more information. +-- + + +local t_insert = table.insert; +local t_concat = table.concat; +local t_remove = table.remove; +local t_concat = table.concat; +local s_format = string.format; +local s_match = string.match; +local tostring = tostring; +local setmetatable = setmetatable; +local getmetatable = getmetatable; +local pairs = pairs; +local ipairs = ipairs; +local type = type; +local next = next; +local print = print; +local unpack = unpack; +local s_gsub = string.gsub; +local s_char = string.char; +local s_find = string.find; +local os = os; +local log = require "util.logger".init("stanzarouter") + +local do_pretty_printing = not os.getenv("WINDIR"); +local getstyle, getstring; +if do_pretty_printing then + local ok, termcolours = pcall(require, "util.termcolours"); + if ok then + getstyle, getstring = termcolours.getstyle, termcolours.getstring; + else + do_pretty_printing = nil; + end +end + +local xmlns_stanzas = "urn:ietf:params:xml:ns:xmpp-stanzas"; + +module "stanza" + +stanza_mt = { __type = "stanza" }; +stanza_mt.__index = stanza_mt; +local stanza_mt = stanza_mt; + +function stanza(name, attr) + local stanza = { name = name, attr = attr or {}, tags = {} }; + return setmetatable(stanza, stanza_mt); +end +local stanza = stanza; + +function stanza_mt:query(xmlns) + return self:tag("query", { xmlns = xmlns }); +end + +function stanza_mt:body(text, attr) + return self:tag("body", attr):text(text); +end + +function stanza_mt:tag(name, attrs) + local s = stanza(name, attrs); + local last_add = self.last_add; + if not last_add then last_add = {}; self.last_add = last_add; end + (last_add[#last_add] or self):add_direct_child(s); + t_insert(last_add, s); + return self; +end + +function stanza_mt:text(text) + local last_add = self.last_add; + (last_add and last_add[#last_add] or self):add_direct_child(text); + return self; +end + +function stanza_mt:up() + local last_add = self.last_add; + if last_add then t_remove(last_add); end + return self; +end + +function stanza_mt:reset() + self.last_add = nil; + return self; +end + +function stanza_mt:add_direct_child(child) + if type(child) == "table" then + t_insert(self.tags, child); + end + t_insert(self, child); +end + +function stanza_mt:add_child(child) + local last_add = self.last_add; + (last_add and last_add[#last_add] or self):add_direct_child(child); + return self; +end + +function stanza_mt:get_child(name, xmlns) + for _, child in ipairs(self.tags) do + if (not name or child.name == name) + and ((not xmlns and self.attr.xmlns == child.attr.xmlns) + or child.attr.xmlns == xmlns) then + + return child; + end + end +end + +function stanza_mt:get_child_text(name, xmlns) + local tag = self:get_child(name, xmlns); + if tag then + return tag:get_text(); + end + return nil; +end + +function stanza_mt:child_with_name(name) + for _, child in ipairs(self.tags) do + if child.name == name then return child; end + end +end + +function stanza_mt:child_with_ns(ns) + for _, child in ipairs(self.tags) do + if child.attr.xmlns == ns then return child; end + end +end + +function stanza_mt:children() + local i = 0; + return function (a) + i = i + 1 + return a[i]; + end, self, i; +end + +function stanza_mt:childtags(name, xmlns) + xmlns = xmlns or self.attr.xmlns; + local tags = self.tags; + local start_i, max_i = 1, #tags; + return function () + for i = start_i, max_i do + local v = tags[i]; + if (not name or v.name == name) + and (not xmlns or xmlns == v.attr.xmlns) then + start_i = i+1; + return v; + end + end + end; +end + +function stanza_mt:maptags(callback) + local tags = self.tags; + local n_children, n_tags, curr_tag = #self, #tags, #tags; + local i = curr_tag + + while i > 0 do + if self[curr_tag] == tags[curr_tag] then + local ret = callback(self[curr_tag]) + if ret == nil then + t_remove(self, curr_tag); + t_remove(tags, curr_tag); + n_children = n_children - 1; + n_tags = n_tags - 1; + else + self[curr_tag] = ret; + tags[curr_tag] = ret; + end + curr_tag = curr_tag - 1; + end + + i = i - 1 + end + +-- local i = 1; +-- while curr_tag <= n_tags do +-- log("debug", tostring(self[i])) +-- log("debug", tostring(tags[curr_tag])) +-- if self[i] == tags[curr_tag] then +-- local ret = callback(self[i]); +-- if ret == nil then +-- t_remove(self, i); +-- t_remove(tags, curr_tag); +-- n_children = n_children - 1; +-- n_tags = n_tags - 1; +-- else +-- self[i] = ret; +-- tags[i] = ret; +-- end +-- i = i + 1; +-- curr_tag = curr_tag + 1; +-- end + + return self; +end + +local xml_escape +do + local escape_table = { ["'"] = "'", ["\""] = """, ["<"] = "<", [">"] = ">", ["&"] = "&" }; + function xml_escape(str) return (s_gsub(str, "['&<>\"]", escape_table)); end + _M.xml_escape = xml_escape; +end + +local function _dostring(t, buf, self, xml_escape, parentns) + local nsid = 0; + local name = t.name + t_insert(buf, "<"..name); + for k, v in pairs(t.attr) do + if s_find(k, "\1", 1, true) then + local ns, attrk = s_match(k, "^([^\1]*)\1?(.*)$"); + nsid = nsid + 1; + t_insert(buf, " xmlns:ns"..nsid.."='"..xml_escape(ns).."' ".."ns"..nsid..":"..attrk.."='"..xml_escape(v).."'"); + elseif not(k == "xmlns" and v == parentns) then + t_insert(buf, " "..k.."='"..xml_escape(v).."'"); + end + end + local len = #t; + if len == 0 then + t_insert(buf, "/>"); + else + t_insert(buf, ">"); + for n=1,len do + local child = t[n]; + if child.name then + self(child, buf, self, xml_escape, t.attr.xmlns); + else + t_insert(buf, xml_escape(child)); + end + end + t_insert(buf, ""); + end +end +function stanza_mt.__tostring(t) + local buf = {}; + _dostring(t, buf, _dostring, xml_escape, nil); + return t_concat(buf); +end + +function stanza_mt.top_tag(t) + local attr_string = ""; + if t.attr then + for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(" %s='%s'", k, xml_escape(tostring(v))); end end + end + return s_format("<%s%s>", t.name, attr_string); +end + +function stanza_mt.get_text(t) + if #t.tags == 0 then + return t_concat(t); + end +end + +function stanza_mt.get_error(stanza) + local type, condition, text; + + local error_tag = stanza:get_child("error"); + if not error_tag then + return nil, nil, nil; + end + type = error_tag.attr.type; + + for child in error_tag:childtags() do + if child.attr.xmlns == xmlns_stanzas then + if not text and child.name == "text" then + text = child:get_text(); + elseif not condition then + condition = child.name; + end + if condition and text then + break; + end + end + end + return type, condition or "undefined-condition", text; +end + +function stanza_mt.__add(s1, s2) + return s1:add_direct_child(s2); +end + + +do + local id = 0; + function new_id() + id = id + 1; + return "lx"..id; + end +end + +function preserialize(stanza) + local s = { name = stanza.name, attr = stanza.attr }; + for _, child in ipairs(stanza) do + if type(child) == "table" then + t_insert(s, preserialize(child)); + else + t_insert(s, child); + end + end + return s; +end + +function deserialize(stanza) + -- Set metatable + if stanza then + local attr = stanza.attr; + for i=1,#attr do attr[i] = nil; end + local attrx = {}; + for att in pairs(attr) do + if s_find(att, "|", 1, true) and not s_find(att, "\1", 1, true) then + local ns,na = s_match(att, "^([^|]+)|(.+)$"); + attrx[ns.."\1"..na] = attr[att]; + attr[att] = nil; + end + end + for a,v in pairs(attrx) do + attr[a] = v; + end + setmetatable(stanza, stanza_mt); + for _, child in ipairs(stanza) do + if type(child) == "table" then + deserialize(child); + end + end + if not stanza.tags then + -- Rebuild tags + local tags = {}; + for _, child in ipairs(stanza) do + if type(child) == "table" then + t_insert(tags, child); + end + end + stanza.tags = tags; + end + end + + return stanza; +end + +local function _clone(stanza) + local attr, tags = {}, {}; + for k,v in pairs(stanza.attr) do attr[k] = v; end + local new = { name = stanza.name, attr = attr, tags = tags }; + for i=1,#stanza do + local child = stanza[i]; + if child.name then + child = _clone(child); + t_insert(tags, child); + end + t_insert(new, child); + end + return setmetatable(new, stanza_mt); +end +clone = _clone; + +function message(attr, body) + if not body then + return stanza("message", attr); + else + return stanza("message", attr):tag("body"):text(body):up(); + end +end +function iq(attr) + if attr and not attr.id then attr.id = new_id(); end + return stanza("iq", attr or { id = new_id() }); +end + +function reply(orig) + return stanza(orig.name, orig.attr and { to = orig.attr.from, from = orig.attr.to, id = orig.attr.id, type = ((orig.name == "iq" and "result") or orig.attr.type) }); +end + +do + local xmpp_stanzas_attr = { xmlns = xmlns_stanzas }; + function error_reply(orig, type, condition, message) + local t = reply(orig); + t.attr.type = "error"; + t:tag("error", {type = type}) --COMPAT: Some day xmlns:stanzas goes here + :tag(condition, xmpp_stanzas_attr):up(); + if (message) then t:tag("text", xmpp_stanzas_attr):text(message):up(); end + return t; -- stanza ready for adding app-specific errors + end +end + +function presence(attr) + return stanza("presence", attr); +end + +if do_pretty_printing then + local style_attrk = getstyle("yellow"); + local style_attrv = getstyle("red"); + local style_tagname = getstyle("red"); + local style_punc = getstyle("magenta"); + + local attr_format = " "..getstring(style_attrk, "%s")..getstring(style_punc, "=")..getstring(style_attrv, "'%s'"); + local top_tag_format = getstring(style_punc, "<")..getstring(style_tagname, "%s").."%s"..getstring(style_punc, ">"); + --local tag_format = getstring(style_punc, "<")..getstring(style_tagname, "%s").."%s"..getstring(style_punc, ">").."%s"..getstring(style_punc, ""); + local tag_format = top_tag_format.."%s"..getstring(style_punc, ""); + function stanza_mt.pretty_print(t) + local children_text = ""; + for n, child in ipairs(t) do + if type(child) == "string" then + children_text = children_text .. xml_escape(child); + else + children_text = children_text .. child:pretty_print(); + end + end + + local attr_string = ""; + if t.attr then + for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(attr_format, k, tostring(v)); end end + end + return s_format(tag_format, t.name, attr_string, children_text, t.name); + end + + function stanza_mt.pretty_top_tag(t) + local attr_string = ""; + if t.attr then + for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(attr_format, k, tostring(v)); end end + end + return s_format(top_tag_format, t.name, attr_string); + end +else + -- Sorry, fresh out of colours for you guys ;) + stanza_mt.pretty_print = stanza_mt.__tostring; + stanza_mt.pretty_top_tag = stanza_mt.top_tag; +end + +return _M;