Dave Bullock / eecue

photographer, director of engineering: crowdrise, photojournalist, hacker, nerd, geek, human

Black Hat 2007 : Day 2 : Andrea Barisani & Daniele Bianco

Many modern cars have built in navigation / traffic systems. In North America data is transmitted over FM radio using the Radio Data System (RDS). The system can display station names, time, program type, and news override. The signal piggybacks on standard FM radio signals. RDS Traffic Message Channel (RDS-TMC) transmits traffic data over RDS and was introduced in Germany in 1997. Although it is a 10 year old protocol, it is just now being implemented in modern satellite navigation systems. TMC can also be transmitted over digital radio like DAB and Satellite radio.

Daniele Bianco

RDS is a very simple protocol with each packet consisting of 104 bits. The security issue with RDS is that it has no data authentication built in, which makes is easy to sniff and send fake messages using off the shelf components. The components to make a sniffer cost under $20 and can be easily made with very little technical skill according to the speakers. The specs and code for the PIC can be downloaded from the Inverse Path development website if you want to make your own RDS sniffer / injector.

Andrea Barisani

The injection code is still quite crude, as you have to edit the source and recompile every time you want to change what you are injecting. What's important is that it works, although it does happen to look somewhat like a bomb. When they brought their setup through TSA checkpoint, the TSA officer upon inspecting it, flipped a switch and said "boom". Barsiani said "apparently TSA officers are allowed to make jokes about bombs, which would get anyone else arrested."

RDS-TMC Injector / Sniffer

One of the features of RDS-TMS is the news override which forces your tuner to change stations to a different frequency. Barisani said they tested their system during a Saturday soccer match, which potentially enraged numerous Italians when their match was overridden by their radios tuning to a station with a carrier tone.

Some of the fun things you can do by injecting RDS-TMC messages is show fake road closures, traffic slow downs, dangerous weather, road work. You can also close roads and tunnels. The wacky stuff you can do is to display codes like: Terrorist Incident, Air raid danger, Air Crash, Bomb Alert, and a more generic Security Alert. The best one they showed though was "Bull Fight".

According to Barisani, his father was never impressed with his software and kernel hacking research, but when he showed him the RDS-TMC hacking his father said, "Wow, you have a cool job."

You can download Andrea Barisani and Daniele Bianco's CanSecWest 2007 presentation here [13mb PDF] and all the supporting files and schematics to make your own sniffer / injector here. Their website is Inversepath.com. [A complete list of the codes you can send can be found after the jump.]


$Event[1] = "traffic problem";
$Event[2] = "queuing traffic (with average speeds Q). Danger of stationary traffic";
$Event[11] = "overheight warning system triggered";
$Event[12] = "(Q) accident(s), traffic being directed around accident area";
$Event[16] = "closed, rescue and recovery work in progress";
$Event[20] = "service area overcrowded, drive to another service area";
$Event[22] = "service area, fuel station closed";
$Event[23] = "service area, restaurant closed";
$Event[24] = "bridge closed";
$Event[25] = "tunnel closed";
$Event[26] = "bridge blocked";
$Event[27] = "tunnel blocked";
$Event[28] = "road closed intermittently";
$Event[36] = "fuel station reopened";
$Event[37] = "restaurant reopened";
$Event[40] = "smog alert ended";
$Event[41] = "(Q) overtaking lane(s) closed";
$Event[42] = "(Q) overtaking lane(s) blocked";
$Event[51] = "roadworks, (Q) overtaking lane(s) closed";
$Event[52] = "(Q sets of) roadworks on the hard shoulder";
$Event[53] = "(Q sets of) roadworks in the emergency lane";
$Event[55] = "traffic problem expected";
$Event[56] = "traffic congestion expected";
$Event[57] = "normal traffic expected";
$Event[61] = "(Q) object(s) on roadway {something that does not neccessarily block the ro";
$Event[62] = "(Q) burst pipe(s)";
$Event[63] = "(Q) object(s) on the road. Danger";
$Event[64] = "burst pipe. Danger";
$Event[70] = "traffic congestion, average speed of km/h";
$Event[71] = "traffic congestion, average speed of km/h";
$Event[72] = "traffic congestion, average speed of km/h";
$Event[73] = "traffic congestion, average speed of km/h";
$Event[74] = "traffic congestion, average speed of km/h";
$Event[75] = "traffic congestion, average speed of km/h";
$Event[76] = "traffic congestion, average speed of km/h";
$Event[91] = "delays (Q) for cars";
$Event[101] = "stationary traffic";
$Event[102] = "stationary traffic for km";
$Event[103] = "stationary traffic for km";
$Event[104] = "stationary traffic for km";
$Event[105] = "stationary traffic for km";
$Event[106] = "stationary traffic for km";
$Event[107] = "stationary traffic expected";
$Event[108] = "queuing traffic (with average speeds Q)";
$Event[109] = "queuing traffic for km (with average speeds Q)";
$Event[110] = "queuing traffic for km (with average speeds Q)";
$Event[111] = "queuing traffic for km (with average speeds Q)";
$Event[112] = "queuing traffic for km (with average speeds Q)";
$Event[113] = "queuing traffic for km (with average speeds Q)";
$Event[114] = "queuing traffic expected";
$Event[115] = "slow traffic (with average speeds Q)";
$Event[116] = "slow traffic for km (with average speeds Q)";
$Event[117] = "slow traffic for km (with average speeds Q)";
$Event[118] = "slow traffic for km (with average speeds Q)";
$Event[119] = "slow traffic for km (with average speeds Q)";
$Event[120] = "slow traffic for km (with average speeds Q)";
$Event[121] = "slow traffic expected";
$Event[122] = "heavy traffic (with average speeds Q)";
$Event[123] = "heavy traffic expected";
$Event[124] = "traffic flowing freely (with average speeds Q)";
$Event[125] = "traffic building up (with average speeds Q)";
$Event[126] = "no problems to report";
$Event[127] = "traffic congestion cleared";
$Event[128] = "message cancelled";
$Event[129] = "stationary traffic for km";
$Event[130] = "danger of stationary traffic";
$Event[131] = "queuing traffic for km (with average speeds Q)";
$Event[132] = "danger of queuing traffic (with average speeds Q)";
$Event[133] = "long queues (with average speeds Q)";
$Event[134] = "slow traffic for km (with average speeds Q)";
$Event[135] = "traffic easing";
$Event[136] = "traffic congestion (with average speeds Q)";
$Event[137] = "traffic lighter than normal (with average speeds Q)";
$Event[138] = "queuing traffic (with average speeds Q). Approach with care";
$Event[139] = "queuing traffic around a bend in the road";
$Event[140] = "queuing traffic over the crest of a hill";
$Event[141] = "all accidents cleared, no problems to report";
$Event[142] = "traffic heavier than normal (with average speeds Q)";
$Event[143] = "traffic very much heavier than normal (with average speeds Q)";
$Event[200] = "multi vehicle pile up. Delays (Q)";
$Event[201] = "(Q) accident(s)";
$Event[202] = "(Q) serious accident(s)";
$Event[203] = "multi-vehicle accident (involving Q vehicles)";
$Event[204] = "accident involving (a/Q) heavy lorr(y/ies)";
$Event[205] = "(Q) accident(s) involving hazardous materials";
$Event[206] = "(Q) fuel spillage accident(s)";
$Event[207] = "(Q) chemical spillage accident(s)";
$Event[208] = "vehicles slowing to look at (Q) accident(s)";
$Event[209] = "(Q) accident(s) in the opposing lanes";
$Event[210] = "(Q) shed load(s)";
$Event[211] = "(Q) broken down vehicle(s)";
$Event[212] = "(Q) broken down heavy lorr(y/ies)";
$Event[213] = "(Q) vehicle fire(s)";
$Event[214] = "(Q) incident(s)";
$Event[215] = "(Q) accident(s). Stationary traffic";
$Event[216] = "(Q) accident(s). Stationary traffic for km";
$Event[217] = "(Q) accident(s). Stationary traffic for km";
$Event[218] = "(Q) accident(s). Stationary traffic for km";
$Event[219] = "(Q) accident(s). Stationary traffic for km";
$Event[220] = "(Q) accident(s). Stationary traffic for km";
$Event[221] = "(Q) accident(s). Danger of stationary traffic";
$Event[222] = "(Q) accident(s). Queuing traffic";
$Event[223] = "(Q) accident(s). Queuing traffic for km";
$Event[224] = "(Q) accident(s). Queuing traffic for km";
$Event[225] = "(Q) accident(s). Queuing traffic for km";
$Event[226] = "(Q) accident(s). Queuing traffic for km";
$Event[227] = "(Q) accident(s). Queuing traffic for km";
$Event[228] = "(Q) accident(s). Danger of queuing traffic";
$Event[229] = "(Q) accident(s). Slow traffic";
$Event[230] = "(Q) accident(s). Slow traffic for km";
$Event[231] = "(Q) accident(s). Slow traffic for km";
$Event[232] = "(Q) accident(s). Slow traffic for km";
$Event[233] = "(Q) accident(s). Slow traffic for km";
$Event[234] = "(Q) accident(s). Slow traffic for km";
$Event[235] = "(Q) accident(s). Slow traffic expected";
$Event[236] = "(Q) accident(s). Heavy traffic";
$Event[237] = "(Q) accident(s). Heavy traffic expected";
$Event[238] = "(Q) accident(s). Traffic flowing freely";
$Event[239] = "(Q) accident(s). Traffic building up";
$Event[240] = "road closed due to (Q) accident(s)";
$Event[241] = "(Q) accident(s). Right lane blocked";
$Event[242] = "(Q) accident(s). Centre lane blocked";
$Event[243] = "(Q) accident(s). Left lane blocked";
$Event[244] = "(Q) accident(s). Hard shoulder blocked";
$Event[245] = "(Q) accident(s). Two lanes blocked";
$Event[246] = "(Q) accident(s). Three lanes blocked";
$Event[247] = "accident. Delays (Q)";
$Event[248] = "accident. Delays (Q) expected";
$Event[249] = "accident. Long delays (Q)";
$Event[250] = "vehicles slowing to look at (Q) accident(s). Stationary traffic";
$Event[251] = "vehicles slowing to look at (Q) accident(s). Stationary traffic for km";
$Event[252] = "vehicles slowing to look at (Q) accident(s). Stationary traffic for km";
$Event[253] = "vehicles slowing to look at (Q) accident(s). Stationary traffic for km";
$Event[254] = "vehicles slowing to look at (Q) accident(s). Stationary traffic for km";
$Event[255] = "vehicles slowing to look at (Q) accident(s). Stationary traffic for km";
$Event[256] = "vehicles slowing to look at (Q) accident(s). Danger of stationary traffic";
$Event[257] = "vehicles slowing to look at (Q) accident(s). Queuing traffic";
$Event[258] = "vehicles slowing to look at (Q) accident(s). Queuing traffic for km";
$Event[259] = "vehicles slowing to look at (Q) accident(s). Queuing traffic for km";
$Event[260] = "vehicles slowing to look at (Q) accident(s). Queuing traffic for km";
$Event[261] = "vehicles slowing to look at (Q) accident(s). Queuing traffic for km";
$Event[262] = "vehicles slowing to look at (Q) accident(s). Queuing traffic for km";
$Event[263] = "vehicles slowing to look at (Q) accident(s). Danger of queuing traffic";
$Event[264] = "vehicles slowing to look at (Q) accident(s). Slow traffic";
$Event[265] = "vehicles slowing to look at (Q) accident(s). Slow traffic for km";
$Event[266] = "vehicles slowing to look at (Q) accident(s). Slow traffic for km";
$Event[267] = "vehicles slowing to look at (Q) accident(s). Slow traffic for km";
$Event[268] = "vehicles slowing to look at (Q) accident(s). Slow traffic for km";
$Event[269] = "vehicles slowing to look at (Q) accident(s). Slow traffic for km";
$Event[270] = "vehicles slowing to look at (Q) accident(s). Slow traffic expected";
$Event[271] = "vehicles slowing to look at (Q) accident(s). Heavy traffic";
$Event[272] = "vehicles slowing to look at (Q) accident(s). Heavy traffic expected";
$Event[274] = "vehicles slowing to look at (Q) accident(s). Traffic building up";
$Event[275] = "vehicles slowing to look at accident. Delays (Q)";
$Event[276] = "vehicles slowing to look at accident. Delays (Q) expected";
$Event[277] = "vehicles slowing to look at accident. Long delays (Q)";
$Event[278] = "(Q) shed load(s). Stationary traffic";
$Event[279] = "(Q) shed load(s). Stationary traffic for km";
$Event[280] = "(Q) shed load(s). Stationary traffic for km";
$Event[281] = "(Q) shed load(s). Stationary traffic for km";
$Event[282] = "(Q) shed load(s). Stationary traffic for km";
$Event[283] = "(Q) shed load(s). Stationary traffic for km";
$Event[284] = "(Q) shed load(s). Danger of stationary traffic";
$Event[285] = "(Q) shed load(s). Queuing traffic";
$Event[286] = "(Q) shed load(s). Queuing traffic for km";
$Event[287] = "(Q) shed load(s). Queuing traffic for km";
$Event[288] = "(Q) shed load(s). Queuing traffic for km";
$Event[289] = "(Q) shed load(s). Queuing traffic for km";
$Event[290] = "(Q) shed load(s). Queuing traffic for km";
$Event[291] = "(Q) shed load(s). Danger of queuing traffic";
$Event[292] = "(Q) shed load(s). Slow traffic";
$Event[293] = "(Q) shed load(s). Slow traffic for km";
$Event[294] = "(Q) shed load(s). Slow traffic for km";
$Event[295] = "(Q) shed load(s). Slow traffic for km";
$Event[296] = "(Q) shed load(s). Slow traffic for km";
$Event[297] = "(Q) shed load(s). Slow traffic for km";
$Event[298] = "(Q) shed load(s). Slow traffic expected";
$Event[299] = "(Q) shed load(s). Heavy traffic";
$Event[300] = "(Q) shed load(s). Heavy traffic expected";
$Event[301] = "(Q) shed load(s). Traffic flowing freely";
$Event[302] = "(Q) shed load(s). Traffic building up";
$Event[303] = "blocked by (Q) shed load(s)";
$Event[304] = "(Q) shed load(s). Right lane blocked";
$Event[305] = "(Q) shed load(s). Centre lane blocked";
$Event[306] = "(Q) shed load(s). Left lane blocked";
$Event[307] = "(Q) shed load(s). Hard shoulder blocked";
$Event[308] = "(Q) shed load(s). Two lanes blocked";
$Event[309] = "(Q) shed load(s). Three lanes blocked";
$Event[310] = "shed load. Delays (Q)";
$Event[311] = "shed load. Delays (Q) expected";
$Event[312] = "shed load. Long delays (Q)";
$Event[313] = "(Q) broken down vehicle(s). Stationary traffic";
$Event[314] = "(Q) broken down vehicle(s). Danger of stationary traffic";
$Event[315] = "(Q) broken down vehicle(s). Queuing traffic";
$Event[316] = "(Q) broken down vehicle(s). Danger of queuing traffic";
$Event[317] = "(Q) broken down vehicle(s). Slow traffic";
$Event[318] = "(Q) broken down vehicle(s). Slow traffic expected";
$Event[319] = "(Q) broken down vehicle(s). Heavy traffic";
$Event[320] = "(Q) broken down vehicle(s). Heavy traffic expected";
$Event[321] = "(Q) broken down vehicle(s). Traffic flowing freely";
$Event[322] = "(Q) broken down vehicle(s).Traffic building up";
$Event[323] = "blocked by (Q) broken down vehicle(s).";
$Event[324] = "(Q) broken down vehicle(s). Right lane blocked";
$Event[325] = "(Q) broken down vehicle(s). Centre lane blocked";
$Event[326] = "(Q) broken down vehicle(s). Left lane blocked";
$Event[327] = "(Q) broken down vehicle(s). Hard shoulder blocked";
$Event[328] = "(Q) broken down vehicle(s). Two lanes blocked";
$Event[329] = "(Q) broken down vehicle(s). Three lanes blocked";
$Event[330] = "broken down vehicle. Delays (Q)";
$Event[331] = "broken down vehicle. Delays (Q) expected";
$Event[332] = "broken down vehicle. Long delays (Q)";
$Event[333] = "accident cleared";
$Event[334] = "message cancelled";
$Event[335] = "accident involving (a/Q) bus(es)";
$Event[336] = "(Q) oil spillage accident(s)";
$Event[337] = "(Q) overturned vehicle(s)";
$Event[338] = "(Q) overturned heavy lorr(y/ies)";
$Event[339] = "(Q) jackknifed trailer(s)";
$Event[340] = "(Q) jackknifed caravan(s)";
$Event[341] = "(Q) jackknifed articulated lorr(y/ies)";
$Event[342] = "(Q) vehicle(s) spun around";
$Event[343] = "(Q) earlier accident(s)";
$Event[344] = "accident investigation work";
$Event[345] = "(Q) secondary accident(s)";
$Event[346] = "(Q) broken down bus(es)";
$Event[347] = "(Q) overheight vehicle(s)";
$Event[348] = "(Q) accident(s). Stationary traffic for km";
$Event[349] = "(Q) accident(s). Queuing traffic for km";
$Event[350] = "(Q) accident(s). Slow traffic for km";
$Event[351] = "(Q) accident(s) in roadworks area";
$Event[352] = "vehicles slowing to look at (Q) accident(s). Stationary traffic for km";
$Event[353] = "vehicles slowing to look at (Q) accident(s). Queuing traffic for km";
$Event[354] = "vehicles slowing to look at (Q) accident(s). Slow traffic for km";
$Event[355] = "vehicles slowing to look at (Q) accident(s). Danger";
$Event[356] = "(Q) shed load(s). Stationary traffic for km";
$Event[357] = "(Q) shed load(s). Queuing traffic for km";
$Event[358] = "(Q) shed load(s). Slow traffic for km";
$Event[359] = "(Q) shed load(s). Danger";
$Event[360] = "(Q) overturned vehicle(s). Stationary traffic";
$Event[361] = "(Q) overturned vehicle(s). Danger of stationary traffic";
$Event[362] = "(Q) overturned vehicle(s). Queuing traffic";
$Event[363] = "(Q) overturned vehicle(s). Danger of queuing traffic";
$Event[364] = "(Q) overturned vehicle(s). Slow traffic";
$Event[365] = "(Q) overturned vehicle(s). Slow traffic expected";
$Event[366] = "(Q) overturned vehicle(s). Heavy traffic";
$Event[367] = "(Q) overturned vehicle(s). Heavy traffic expected";
$Event[368] = "(Q) overturned vehicle(s). Traffic building up";
$Event[369] = "blocked by (Q) overturned vehicle(s)";
$Event[370] = "(Q) overturned vehicle(s). Right lane blocked";
$Event[371] = "(Q) overturned vehicle(s). Centre lane blocked";
$Event[372] = "(Q) overturned vehicle(s). Left lane blocked";
$Event[373] = "(Q) overturned vehicle(s). Two lanes blocked";
$Event[374] = "(Q) overturned vehicle(s). Three lanes blocked";
$Event[375] = "overturned vehicle. Delays (Q)";
$Event[376] = "overturned vehicle. Delays (Q) expected";
$Event[377] = "overturned vehicle. Long delays (Q)";
$Event[378] = "(Q) overturned vehicle(s). Danger";
$Event[379] = "Stationary traffic due to (Q) earlier accident(s)";
$Event[380] = "Danger of stationary traffic due to (Q) earlier accident(s)";
$Event[381] = "Queuing traffic due to (Q) earlier accident(s)";
$Event[382] = "Danger of queuing traffic due to (Q) earlier accident(s)";
$Event[383] = "Slow traffic due to (Q) earlier accident(s)";
$Event[385] = "Heavy traffic due to (Q) earlier accident(s)";
$Event[387] = "Traffic building up due to (Q) earlier accident(s)";
$Event[388] = "Delays (Q) due to earlier accident";
$Event[390] = "Long delays (Q) due to earlier accident";
$Event[391] = "accident investigation work. Danger";
$Event[392] = "(Q) secondary accident(s). Danger";
$Event[393] = "(Q) broken down vehicle(s). Danger";
$Event[394] = "(Q) broken down heavy lorr(y/ies). Danger";
$Event[395] = "road cleared";
$Event[396] = "incident cleared";
$Event[397] = "rescue and recovery work in progress";
$Event[399] = "message cancelled";
$Event[401] = "closed";
$Event[402] = "blocked";
$Event[403] = "closed for heavy vehicles (over Q)";
$Event[404] = "no through traffic for heavy lorries (over Q)";
$Event[405] = "no through traffic";
$Event[406] = "(Q th) entry slip road closed";
$Event[407] = "(Q th) exit slip road closed";
$Event[408] = "slip roads closed";
$Event[409] = "slip road restrictions";
$Event[410] = "closed ahead. Stationary traffic";
$Event[411] = "closed ahead. Stationary traffic for km";
$Event[412] = "closed ahead. Stationary traffic for km";
$Event[413] = "closed ahead. Stationary traffic for km";
$Event[414] = "closed ahead. Stationary traffic for km";
$Event[415] = "closed ahead. Stationary traffic for km";
$Event[416] = "closed ahead. Danger of stationary traffic";
$Event[417] = "closed ahead. Queuing traffic";
$Event[418] = "closed ahead. Queuing traffic for km";
$Event[419] = "closed ahead. Queuing traffic for km";
$Event[420] = "closed ahead. Queuing traffic for km";
$Event[421] = "closed ahead. Queuing traffic for km";
$Event[422] = "closed ahead. Queuing traffic for km";
$Event[423] = "closed ahead. Danger of queuing traffic";
$Event[424] = "closed ahead. Slow traffic";
$Event[425] = "closed ahead. Slow traffic for km";
$Event[426] = "closed ahead. Slow traffic for km";
$Event[427] = "closed ahead. Slow traffic for km";
$Event[428] = "closed ahead. Slow traffic for km";
$Event[429] = "closed ahead. Slow traffic for km";
$Event[430] = "closed ahead. Slow traffic expected";
$Event[431] = "closed ahead. Heavy traffic";
$Event[432] = "closed ahead. Heavy traffic expected";
$Event[433] = "closed ahead. Traffic flowing freely";
$Event[434] = "closed ahead. Traffic building up";
$Event[435] = "closed ahead. Delays (Q)";
$Event[436] = "closed ahead. Delays (Q) expected";
$Event[437] = "closed ahead. Long delays (Q)";
$Event[438] = "blocked ahead. Stationary traffic";
$Event[439] = "blocked ahead. Stationary traffic for km";
$Event[440] = "blocked ahead. Stationary traffic for km";
$Event[441] = "blocked ahead. Stationary traffic for km";
$Event[442] = "blocked ahead. Stationary traffic for km";
$Event[443] = "blocked ahead. Stationary traffic for km";
$Event[444] = "blocked ahead. Danger of stationary traffic";
$Event[445] = "blocked ahead. Queuing traffic";
$Event[446] = "blocked ahead. Queuing traffic for km";
$Event[447] = "blocked ahead. Queuing traffic for km";
$Event[448] = "blocked ahead. Queuing traffic for km";
$Event[449] = "blocked ahead. Queuing traffic for km";
$Event[450] = "blocked ahead. Queuing traffic for km";
$Event[451] = "blocked ahead. Danger of queuing traffic";
$Event[452] = "blocked ahead. Slow traffic";
$Event[453] = "blocked ahead. Slow traffic for km";
$Event[454] = "blocked ahead. Slow traffic for km";
$Event[455] = "blocked ahead. Slow traffic for km";
$Event[456] = "blocked ahead. Slow traffic for km";
$Event[457] = "blocked ahead. Slow traffic for km";
$Event[458] = "blocked ahead. Slow traffic expected";
$Event[459] = "blocked ahead. Heavy traffic";
$Event[460] = "blocked ahead. Heavy traffic expected";
$Event[461] = "blocked ahead. Traffic flowing freely";
$Event[462] = "blocked ahead. Traffic building up";
$Event[463] = "blocked ahead. Delays (Q)";
$Event[464] = "blocked ahead. Delays (Q) expected";
$Event[465] = "blocked ahead. Long delays (Q)";
$Event[466] = "slip roads reopened";
$Event[467] = "reopened";
$Event[468] = "message cancelled";
$Event[469] = "closed ahead";
$Event[470] = "blocked ahead";
$Event[471] = "(Q) entry slip road(s) closed";
$Event[472] = "(Q th) entry slip road blocked";
$Event[473] = "entry blocked";
$Event[474] = "(Q) exit slip road(s) closed";
$Event[475] = "(Q th) exit slip road blocked";
$Event[476] = "exit blocked";
$Event[477] = "slip roads blocked";
$Event[478] = "connecting carriageway closed";
$Event[479] = "parallel carriageway closed";
$Event[480] = "right-hand parallel carriageway closed";
$Event[481] = "left-hand parallel carriageway closed";
$Event[482] = "express lanes closed";
$Event[483] = "through traffic lanes closed";
$Event[484] = "local lanes closed";
$Event[485] = "connecting carriageway blocked";
$Event[486] = "parallel carriageway blocked";
$Event[487] = "right-hand parallel carriageway blocked";
$Event[488] = "left-hand parallel carriageway blocked";
$Event[489] = "express lanes blocked";
$Event[490] = "through traffic lanes blocked";
$Event[491] = "local lanes blocked";
$Event[492] = "no motor vehicles";
$Event[493] = "restrictions";
$Event[494] = "closed for heavy lorries (over Q)";
$Event[495] = "closed ahead. Stationary traffic for km";
$Event[496] = "closed ahead. Queuing traffic for km";
$Event[497] = "closed ahead. Slow traffic for km";
$Event[498] = "blocked ahead. Stationary traffic for km";
$Event[499] = "blocked ahead. Queuing traffic for km";
$Event[500] = "(Q) lane(s) closed";
$Event[501] = "(Q) right lane(s) closed";
$Event[502] = "(Q) centre lane(s) closed";
$Event[503] = "(Q) left lane(s) closed";
$Event[504] = "hard shoulder closed";
$Event[505] = "two lanes closed";
$Event[506] = "three lanes closed";
$Event[507] = "(Q) right lane(s) blocked";
$Event[508] = "(Q) centre lane(s) blocked";
$Event[509] = "(Q) left lane(s) blocked";
$Event[510] = "hard shoulder blocked";
$Event[511] = "two lanes blocked";
$Event[512] = "three lanes blocked";
$Event[513] = "single alternate line traffic";
$Event[514] = "carriageway reduced (from Q lanes) to one lane";
$Event[515] = "carriageway reduced (from Q lanes) to two lanes";
$Event[516] = "carriageway reduced (from Q lanes) to three lanes";
$Event[517] = "contraflow";
$Event[518] = "narrow lanes";
$Event[519] = "contraflow with narrow lanes";
$Event[520] = "(Q) lane(s) blocked";
$Event[521] = "(Q) lanes closed. Stationary traffic";
$Event[522] = "(Q) lanes closed. Stationary traffic for km";
$Event[523] = "(Q) lanes closed. Stationary traffic for km";
$Event[524] = "(Q) lanes closed. Stationary traffic for km";
$Event[525] = "(Q) lanes closed. Stationary traffic for km";
$Event[526] = "(Q) lanes closed. Stationary traffic for km";
$Event[527] = "(Q) lanes closed. Danger of stationary traffic";
$Event[528] = "(Q) lanes closed. Queuing traffic";
$Event[529] = "(Q) lanes closed. Queuing traffic for km";
$Event[530] = "(Q) lanes closed. Queuing traffic for km";
$Event[531] = "(Q) lanes closed. Queuing traffic for km";
$Event[532] = "(Q) lanes closed. Queuing traffic for km";
$Event[533] = "(Q) lanes closed. Queuing traffic for km";
$Event[534] = "(Q) lanes closed. Danger of queuing traffic";
$Event[535] = "(Q) lanes closed. Slow traffic";
$Event[536] = "(Q) lanes closed. Slow traffic for km";
$Event[537] = "(Q) lanes closed. Slow traffic for km";
$Event[538] = "(Q) lanes closed. Slow traffic for km";
$Event[539] = "(Q) lanes closed. Slow traffic for km";
$Event[540] = "(Q) lanes closed. Slow traffic for km";
$Event[541] = "(Q) lanes closed. Slow traffic expected";
$Event[542] = "(Q) lanes closed. Heavy traffic";
$Event[543] = "(Q) lanes closed. Heavy traffic expected";
$Event[544] = "(Q)lanes closed. Traffic flowing freely";
$Event[545] = "(Q)lanes closed. Traffic building up";
$Event[546] = "carriageway reduced (from Q lanes) to one lane. Stationary traffic";
$Event[547] = "carriageway reduced (from Q lanes) to one lane. Danger of stationary traffic";
$Event[548] = "carriageway reduced (from Q lanes) to one lane. Queuing traffic";
$Event[549] = "carriageway reduced (from Q lanes) to one lane. Danger of queuing traffic";
$Event[550] = "carriageway reduced (from Q lanes) to one lane. Slow traffic";
$Event[551] = "carriageway reduced (from Q lanes) to one lane. Slow traffic expected";
$Event[552] = "carriageway reduced (from Q lanes) to one lane. Heavy traffic";
$Event[553] = "carriageway reduced (from Q lanes) to one lane. Heavy traffic expected";
$Event[554] = "carriageway reduced (from Q lanes) to one lane. Traffic flowing freely";
$Event[555] = "carriageway reduced (from Q lanes) to one lane. Traffic building up";
$Event[556] = "carriageway reduced (from Q lanes) to two lanes. Stationary traffic";
$Event[557] = "carriageway reduced (from Q lanes) to two lanes. Danger of stationary traffi";
$Event[558] = "carriageway reduced (from Q lanes) to two lanes. Queuing traffic";
$Event[559] = "carriageway reduced (from Q lanes) to two lanes. Danger of queuing traffic";
$Event[560] = "carriageway reduced (from Q lanes) to two lanes. Slow traffic";
$Event[561] = "carriageway reduced (from Q lanes) to two lanes. Slow traffic expected";
$Event[562] = "carriageway reduced (from Q lanes) to two lanes. Heavy traffic";
$Event[563] = "carriageway reduced (from Q lanes) to two lanes. Heavy traffic expected";
$Event[564] = "carriageway reduced (from Q lanes) to two lanes. Traffic flowing freely";
$Event[565] = "carriageway reduced (from Q lanes) to two lanes. Traffic building up";
$Event[566] = "carriageway reduced (from Q lanes) to three lanes. Stationary traffic";
$Event[567] = "carriageway reduced (from Q lanes) to three lanes. Danger of stationary traf";
$Event[568] = "carriageway reduced (from Q lanes) to three lanes. Queuing traffic";
$Event[569] = "carriageway reduced (from Q lanes) to three lanes. Danger of queuing traffic";
$Event[570] = "carriageway reduced (from Q lanes) to three lanes. Slow traffic";
$Event[571] = "carriageway reduced (from Q lanes) to three lanes. Slow traffic expected";
$Event[572] = "carriageway reduced (from Q lanes) to three lanes. Heavy traffic";
$Event[573] = "carriageway reduced (from Q lanes) to three lanes. Heavy traffic expected";
$Event[574] = "carriageway reduced (from Q lanes) to three lanes. Traffic flowing freely";
$Event[575] = "carriageway reduced (from Q lanes) to three lanes. Traffic building up";
$Event[576] = "contraflow. Stationary traffic";
$Event[577] = "contraflow. Stationary traffic for km";
$Event[578] = "contraflow. Stationary traffic for km";
$Event[579] = "contraflow. Stationary traffic for km";
$Event[580] = "contraflow. Stationary traffic for km";
$Event[581] = "contraflow. Stationary traffic for km";
$Event[582] = "contraflow. Danger of stationary traffic";
$Event[583] = "contraflow. Queuing traffic";
$Event[584] = "contraflow. Queuing traffic for km";
$Event[585] = "contraflow. Queuing traffic for km";
$Event[586] = "contraflow. Queuing traffic for km";
$Event[587] = "contraflow. Queuing traffic for km";
$Event[588] = "contraflow. Queuing traffic for km";
$Event[589] = "contraflow. Danger of queuing traffic";
$Event[590] = "contraflow. Slow traffic";
$Event[591] = "contraflow. Slow traffic for km";
$Event[592] = "contraflow. Slow traffic for km";
$Event[593] = "contraflow. Slow traffic for km";
$Event[594] = "contraflow. Slow traffic for km";
$Event[595] = "contraflow. Slow traffic for km";
$Event[596] = "contraflow. Slow traffic expected";
$Event[597] = "contraflow. Heavy traffic";
$Event[598] = "contraflow. Heavy traffic expected";
$Event[599] = "contraflow. Traffic flowing freely";
$Event[600] = "contraflow. Traffic building up";
$Event[601] = "contraflow. Carriageway reduced (from Q lanes) to one lane";
$Event[602] = "contraflow. Carriageway reduced (from Q lanes) to two lanes";
$Event[603] = "contraflow. Carriageway reduced (from Q lanes) to three lanes";
$Event[604] = "narrow lanes. Stationary traffic";
$Event[605] = "narrow lanes. Danger of stationary traffic";
$Event[606] = "narrow lanes. Queuing traffic";
$Event[607] = "narrow lanes. Danger of queuing traffic";
$Event[608] = "narrow lanes. Slow traffic";
$Event[609] = "narrow lanes. Slow traffic expected";
$Event[610] = "narrow lanes. Heavy traffic";
$Event[611] = "narrow lanes. Heavy traffic expected";
$Event[612] = "narrow lanes. Traffic flowing freely";
$Event[613] = "narrow lanes. Traffic building up";
$Event[614] = "contraflow with narrow lanes. Stationary traffic";
$Event[615] = "contraflow with narrow lanes. Stationary traffic. Danger of stationary traffic";
$Event[616] = "contraflow with narrow lanes. Queuing traffic";
$Event[617] = "contraflow with narrow lanes. Danger of queuing traffic";
$Event[618] = "contraflow with narrow lanes. Slow traffic";
$Event[619] = "contraflow with narrow lanes. Slow traffic expected";
$Event[620] = "contraflow with narrow lanes. Heavy traffic";
$Event[621] = "contraflow with narrow lanes. Heavy traffic expected";
$Event[622] = "contraflow with narrow lanes. Traffic flowing freely";
$Event[623] = "contraflow with narrow lanes. Traffic building up";
$Event[624] = "lane closures removed";
$Event[625] = "message cancelled";
$Event[626] = "blocked ahead. Slow traffic for km";
$Event[627] = "no motor vehicles without catalytic converters";
$Event[628] = "no motor vehicles with even-numbered registration plates";
$Event[629] = "no motor vehicles with odd-numbered registration plates";
$Event[630] = "open";
$Event[631] = "road cleared";
$Event[632] = "entry reopened";
$Event[633] = "exit reopened";
$Event[634] = "all carriageways reopened";
$Event[635] = "motor vehicle restrictions lifted";
$Event[636] = "traffic restrictions lifted {reopened for all traffic}";
$Event[637] = "emergency lane closed";
$Event[638] = "turning lane closed";
$Event[639] = "crawler lane closed";
$Event[640] = "slow vehicle lane closed";
$Event[641] = "one lane closed";
$Event[642] = "emergency lane blocked";
$Event[643] = "turning lane blocked";
$Event[644] = "crawler lane blocked";
$Event[645] = "slow vehicle lane blocked";
$Event[646] = "one lane blocked";
$Event[647] = "(Q person) carpool lane in operation";
$Event[648] = "(Q person) carpool lane closed";
$Event[649] = "(Q person) carpool lane blocked";
$Event[650] = "carpool restrictions changed (to Q persons per vehicle)";
$Event[651] = "(Q) lanes closed. Stationary traffic for km";
$Event[652] = "(Q) lanes closed. Queuing traffic for km";
$Event[653] = "(Q) lanes closed. Slow traffic for km";
$Event[654] = "contraflow. Stationary traffic for km";
$Event[655] = "contraflow. Queuing traffic for km";
$Event[656] = "contraflow. Slow traffic for km";
$Event[657] = "lane blockages cleared";
$Event[658] = "contraflow removed";
$Event[659] = "(Q person) carpool restrictions lifted";
$Event[660] = "lane restrictions lifted";
$Event[661] = "use of hard shoulder allowed";
$Event[662] = "normal lane regulations restored";
$Event[663] = "all carriageways cleared";
$Event[671] = "bus lane available for carpools (with at least Q occupants)";
$Event[672] = "message cancelled";
$Event[673] = "message cancelled";
$Event[676] = "bus lane blocked";
$Event[678] = "heavy vehicle lane closed";
$Event[679] = "heavy vehicle lane blocked";
$Event[680] = "reopened for through traffic";
$Event[701] = "(Q sets of) roadworks";
$Event[702] = "(Q sets of) major roadworks";
$Event[703] = "(Q sets of) maintenance work";
$Event[704] = "(Q sections of) resurfacing work";
$Event[705] = "(Q sets of) central reservation work";
$Event[706] = "(Q sets of) road marking work";
$Event[707] = "bridge maintenance work (at Q bridges)";
$Event[708] = "(Q sets of) temporary traffic lights";
$Event[709] = "(Q sections of) blasting work";
$Event[710] = "(Q sets of) roadworks. Stationary traffic";
$Event[711] = "(Q sets of) roadworks. Stationary traffic for km";
$Event[712] = "(Q sets of) roadworks. Stationary traffic for km";
$Event[713] = "(Q sets of) roadworks. Stationary traffic for km";
$Event[714] = "(Q sets of) roadworks. Stationary traffic for km";
$Event[715] = "(Q sets of) roadworks. Stationary traffic for km";
$Event[716] = "(Q sets of) roadworks. Danger of stationary traffic";
$Event[717] = "(Q sets of) roadworks. Queuing traffic";
$Event[718] = "(Q sets of) roadworks. Queuing traffic for km";
$Event[719] = "(Q sets of) roadworks. Queuing traffic for km";
$Event[720] = "(Q sets of) roadworks. Queuing traffic for km";
$Event[721] = "(Q sets of) roadworks. Queuing traffic for km";
$Event[722] = "(Q sets of) roadworks. Queuing traffic for km";
$Event[723] = "(Q sets of) roadworks. Danger of queuing traffic";
$Event[724] = "(Q sets of) roadworks. Slow traffic";
$Event[725] = "(Q sets of) roadworks. Slow traffic for km";
$Event[726] = "(Q sets of) roadworks. Slow traffic for km";
$Event[727] = "(Q sets of) roadworks. Slow traffic for km";
$Event[728] = "(Q sets of) roadworks. Slow traffic for km";
$Event[729] = "(Q sets of) roadworks. Slow traffic for km";
$Event[730] = "(Q sets of) roadworks. Slow traffic expected";
$Event[731] = "(Q sets of) roadworks. Heavy traffic";
$Event[732] = "(Q sets of) roadworks. Heavy traffic expected";
$Event[733] = "(Q sets of) roadworks. Traffic flowing freely";
$Event[734] = "(Q sets of) roadworks. Traffic building up";
$Event[735] = "closed due to (Q sets of) roadworks";
$Event[736] = "(Q sets of) roadworks. Right lane closed";
$Event[737] = "(Q sets of) roadworks. Centre lane closed";
$Event[738] = "(Q sets of) roadworks. Left lane closed";
$Event[739] = "(Q sets of) roadworks. Hard shoulder closed";
$Event[740] = "(Q sets of) roadworks. Two lanes closed";
$Event[741] = "(Q sets of) roadworks. Three lanes closed";
$Event[742] = "(Q sets of) roadworks. Single alternate line traffic";
$Event[743] = "roadworks. Carriageway reduced (from Q lanes) to one lane";
$Event[744] = "roadworks. Carriageway reduced (from Q lanes) to two lanes";
$Event[745] = "roadworks. Carriageway reduced (from Q lanes) to three lanes";
$Event[746] = "(Q sets of) roadworks. Contraflow";
$Event[747] = "roadworks. Delays (Q)";
$Event[748] = "roadworks. Delays (Q) expected";
$Event[749] = "roadworks. Long delays (Q)";
$Event[750] = "(Q sections of) resurfacing work. Stationary traffic";
$Event[751] = "(Q sections of) resurfacing work. Stationary traffic for km";
$Event[752] = "(Q sections of) resurfacing work. Stationary traffic for km";
$Event[753] = "(Q sections of) resurfacing work. Stationary traffic for km";
$Event[754] = "(Q sections of) resurfacing work. Stationary traffic for km";
$Event[755] = "(Q sections of) resurfacing work. Stationary traffic for km";
$Event[756] = "(Q sections of) resurfacing work. Danger of stationary traffic";
$Event[757] = "(Q sections of) resurfacing work. Queuing traffic";
$Event[758] = "(Q sections of) resurfacing work. Queuing traffic for km";
$Event[759] = "(Q sections of) resurfacing work. Queuing traffic for km";
$Event[760] = "(Q sections of) resurfacing work. Queuing traffic for km";
$Event[761] = "(Q sections of) resurfacing work. Queuing traffic for km";
$Event[762] = "(Q sections of) resurfacing work. Queuing traffic for km";
$Event[763] = "(Q sections of) resurfacing work. Danger of queuing traffic";
$Event[764] = "(Q sections of) resurfacing work. Slow traffic";
$Event[765] = "(Q sections of) resurfacing work. Slow traffic for km";
$Event[766] = "(Q sections of) resurfacing work. Slow traffic for km";
$Event[767] = "(Q sections of) resurfacing work. Slow traffic for km";
$Event[768] = "(Q sections of) resurfacing work. Slow traffic for km";
$Event[769] = "(Q sections of) resurfacing work. Slow traffic for km";
$Event[770] = "(Q sections of) resurfacing work. Slow traffic expected";
$Event[771] = "(Q sections of) resurfacing work. Heavy traffic";
$Event[772] = "(Q sections of) resurfacing work. Heavy traffic expected";
$Event[773] = "(Q sections of) resurfacing work. Traffic flowing freely";
$Event[774] = "(Q sections of) resurfacing work. Traffic building up";
$Event[775] = "(Q sections of) resurfacing work. Single alternate line traffic";
$Event[776] = "resurfacing work. Carriageway reduced (from Q lanes) to one lane";
$Event[777] = "resurfacing work. Carriageway reduced (from Q lanes) to two lanes";
$Event[778] = "resurfacing work. Carriageway reduced (from Q lanes) to three lanes";
$Event[779] = "(Q sections of) resurfacing work. Contraflow";
$Event[780] = "resurfacing work. Delays (Q)";
$Event[781] = "resurfacing work. Delays (Q) expected";
$Event[782] = "resurfacing work. Long delays (Q)";
$Event[783] = "(Q sets of) road marking work. Stationary traffic";
$Event[784] = "(Q sets of) road marking work. Danger of stationary traffic";
$Event[785] = "(Q sets of) road marking work. Queuing traffic";
$Event[786] = "(Q sets of) road marking work. Danger of queuing traffic";
$Event[787] = "(Q sets of) road marking work. Slow traffic";
$Event[788] = "(Q sets of) road marking work. Slow traffic expected";
$Event[789] = "(Q sets of) road marking work. Heavy traffic";
$Event[790] = "(Q sets of) road marking work. Heavy traffic expected";
$Event[791] = "(Q sets of) road marking work. Traffic flowing freely";
$Event[792] = "(Q sets of) road marking work. Traffic building up";
$Event[793] = "(Q sets of) road marking work. Right lane closed";
$Event[794] = "(Q sets of) road marking work. Centre lane closed";
$Event[795] = "(Q sets of) road marking work. Left lane closed";
$Event[796] = "(Q sets of) road marking work. Hard shoulder closed";
$Event[797] = "(Q sets of) road marking work. Two lanes closed";
$Event[798] = "(Q sets of) road marking work. Three lanes closed";
$Event[799] = "closed for bridge demolition work (at Q bridges)";
$Event[800] = "roadworks cleared";
$Event[801] = "message cancelled";
$Event[802] = "(Q sets of) long-term roadworks";
$Event[803] = "(Q sets of) construction work";
$Event[804] = "(Q sets of) slow moving maintenance vehicles";
$Event[805] = "bridge demolition work (at Q bridges)";
$Event[806] = "(Q sets of) water main work";
$Event[807] = "(Q sets of) gas main work";
$Event[808] = "(Q sets of) work on buried cables";
$Event[809] = "(Q sets of) work on buried services";
$Event[810] = "new roadworks layout";
$Event[811] = "new road layout";
$Event[812] = "(Q sets of) roadworks. Stationary traffic for km";
$Event[813] = "(Q sets of) roadworks. Queuing traffic for km";
$Event[814] = "(Q sets of) roadworks. Slow traffic for km";
$Event[815] = "(Q sets of) roadworks during the day time";
$Event[816] = "(Q sets of) roadworks during off-peak periods";
$Event[817] = "(Q sets of) roadworks during the night";
$Event[818] = "(Q sections of) resurfacing work. Stationary traffic for km";
$Event[819] = "(Q sections of) resurfacing work. Queuing traffic for km";
$Event[820] = "(Q sections of) resurfacing work. Slow traffic for km";
$Event[821] = "(Q sets of) resurfacing work during the day time";
$Event[822] = "(Q sets of) resurfacing work during off-peak periods";
$Event[823] = "(Q sets of) resurfacing work during the night";
$Event[824] = "(Q sets of) road marking work. Danger";
$Event[825] = "(Q sets of) slow moving maintenance vehicles. Stationary traffic";
$Event[826] = "(Q sets of) slow moving maintenance vehicles. Danger of stationary traffic";
$Event[827] = "(Q sets of) slow moving maintenance vehicles. Queuing traffic";
$Event[828] = "(Q sets of) slow moving maintenance vehicles. Danger of queuing traffic";
$Event[829] = "(Q sets of) slow moving maintenance vehicles. Slow traffic";
$Event[830] = "(Q sets of) slow moving maintenance vehicles. Slow traffic expected";
$Event[831] = "(Q sets of) slow moving maintenance vehicles. Heavy traffic";
$Event[832] = "(Q sets of) slow moving maintenance vehicles. Heavy traffic expected";
$Event[833] = "(Q sets of) slow moving maintenance vehicles. Traffic flowing freely";
$Event[834] = "(Q sets of) slow moving maintenance vehicles. Traffic building up";
$Event[835] = "(Q sets of) slow moving maintenance vehicles. Right lane closed";
$Event[836] = "(Q sets of) slow moving maintenance vehicles. Centre lane closed";
$Event[837] = "(Q sets of) slow moving maintenance vehicles. Left lane closed";
$Event[838] = "(Q sets of) slow moving maintenance vehicles. Two lanes closed";
$Event[839] = "(Q sets of) slow moving maintenance vehicles. Three lanes closed";
$Event[840] = "water main work. Delays (Q)";
$Event[841] = "water main work. Delays (Q) expected";
$Event[842] = "water main work. Long delays (Q)";
$Event[843] = "gas main work. Delays (Q)";
$Event[844] = "gas main work. Delays (Q) expected";
$Event[845] = "gas main work. Long delays (Q)";
$Event[846] = "work on buried cables. Delays (Q)";
$Event[847] = "work on buried cables. Delays (Q) expected";
$Event[848] = "work on buried cables. Long delays (Q)";
$Event[849] = "work on buried services. Delays (Q)";
$Event[850] = "work on buried services. Delays (Q) expected";
$Event[851] = "work on buried services. Long delays (Q)";
$Event[852] = "construction traffic merging";
$Event[853] = "roadwork clearance in progress";
$Event[854] = "maintenance work cleared";
$Event[855] = "road layout unchanged";
$Event[856] = "construction traffic merging. Danger";
$Event[898] = "obstruction warning withdrawn";
$Event[899] = "clearance work in progress, road free again";
$Event[900] = "flooding expected";
$Event[901] = "(Q) obstruction(s) on roadway {something that does block the road or part o";
$Event[902] = "(Q) obstructions on the road. Danger";
$Event[903] = "spillage on the road";
$Event[904] = "storm damage";
$Event[905] = "(Q) fallen trees";
$Event[906] = "(Q) fallen trees. Danger";
$Event[907] = "flooding";
$Event[908] = "flooding. Danger";
$Event[909] = "flash floods";
$Event[910] = "danger of flash floods";
$Event[911] = "avalanches";
$Event[912] = "avalanche risk";
$Event[913] = "rockfalls";
$Event[914] = "landslips";
$Event[915] = "earthquake damage";
$Event[916] = "road surface in poor condition";
$Event[917] = "subsidence";
$Event[918] = "(Q) collapsed sewer(s)";
$Event[919] = "burst water main";
$Event[920] = "gas leak";
$Event[921] = "serious fire";
$Event[922] = "animals on roadway";
$Event[923] = "animals on the road. Danger";
$Event[924] = "clearance work";
$Event[925] = "blocked by storm damage";
$Event[926] = "blocked by (Q) fallen trees";
$Event[927] = "(Q) fallen tree(s). Passable with care";
$Event[928] = "flooding. Stationary traffic";
$Event[929] = "flooding. Danger of stationary traffic";
$Event[930] = "flooding. Queuing traffic";
$Event[931] = "flooding. Danger of queuing traffic";
$Event[932] = "flooding. Slow traffic";
$Event[933] = "flooding. Slow traffic expected";
$Event[934] = "flooding. Heavy traffic";
$Event[935] = "flooding. Heavy traffic expected";
$Event[936] = "flooding. Traffic flowing freely";
$Event[937] = "flooding. Traffic building up";
$Event[938] = "closed due to flooding";
$Event[939] = "flooding. Delays (Q)";
$Event[940] = "flooding. Delays (Q) expected";
$Event[941] = "flooding. Long delays (Q)";
$Event[942] = "flooding. Passable with care";
$Event[943] = "closed due to avalanches";
$Event[944] = "avalanches. Passable with care (above Q hundred metres)";
$Event[945] = "closed due to rockfalls";
$Event[946] = "rockfalls. Passable with care";
$Event[947] = "road closed due to landslips";
$Event[948] = "landslips. Passable with care";
$Event[949] = "closed due to subsidence";
$Event[950] = "subsidence. Single alternate line traffic";
$Event[951] = "subsidence. Carriageway reduced (from Q lanes) to one lane";
$Event[952] = "subsidence. Carriageway reduced (from Q lanes) to two lanes";
$Event[953] = "subsidence. Carriageway reduced (from Q lanes) to three lanes";
$Event[954] = "subsidence. Contraflow in operation";
$Event[955] = "subsidence. Passable with care";
$Event[956] = "closed due to sewer collapse";
$Event[957] = "road closed due to burst water main";
$Event[958] = "burst water main. Delays (Q)";
$Event[959] = "burst water main. Delays (Q) expected";
$Event[960] = "burst water main. Long delays (Q)";
$Event[961] = "closed due to gas leak";
$Event[962] = "gas leak. Delays (Q)";
$Event[963] = "gas leak. Delays (Q) expected";
$Event[964] = "gas leak. Long delays (Q)";
$Event[965] = "closed due to serious fire";
$Event[966] = "serious fire. Delays (Q)";
$Event[967] = "serious fire. Delays (Q) expected";
$Event[968] = "serious fire. Long delays (Q)";
$Event[969] = "closed for clearance work";
$Event[970] = "road free again";
$Event[971] = "message cancelled";
$Event[972] = "storm damage expected";
$Event[973] = "fallen power cables";
$Event[974] = "sewer overflow";
$Event[975] = "ice build-up";
$Event[976] = "mud slide";
$Event[977] = "grass fire";
$Event[978] = "air crash";
$Event[979] = "rail crash";
$Event[980] = "blocked by (Q) obstruction(s) on the road";
$Event[981] = "(Q) obstructions on the road. Passable with care";
$Event[982] = "blocked due to spillage on roadway";
$Event[983] = "spillage on the road. Passable with care";
$Event[984] = "spillage on the road. Danger";
$Event[985] = "storm damage. Passable with care";
$Event[986] = "storm damage. Danger";
$Event[987] = "blocked by fallen power cables";
$Event[988] = "fallen power cables. Passable with care";
$Event[989] = "fallen power cables. Danger";
$Event[990] = "sewer overflow. Danger";
$Event[991] = "flash floods. Danger";
$Event[992] = "avalanches. Danger";
$Event[993] = "closed due to avalanche risk";
$Event[994] = "avalanche risk. Danger";
$Event[995] = "closed due to ice build-up";
$Event[996] = "ice build-up. Passable with care (above Q hundred metres)";
$Event[997] = "ice build-up. Single alternate traffic";
$Event[998] = "rockfalls. Danger";
$Event[999] = "landslips. Danger";
$Event[1000] = "earthquake damage. Danger";
$Event[1001] = "hazardous driving conditions (above Q hundred metres)";
$Event[1002] = "danger of aquaplaning";
$Event[1003] = "slippery road (above Q hundred metres)";
$Event[1004] = "mud on road";
$Event[1005] = "leaves on road";
$Event[1006] = "ice (above Q hundred metres)";
$Event[1007] = "danger of ice (above Q hundred metres)";
$Event[1008] = "black ice (above Q hundred metres)";
$Event[1009] = "freezing rain (above Q hundred metres)";
$Event[1010] = "wet and icy roads (above Q hundred metres)";
$Event[1011] = "slush (above Q hundred metres)";
$Event[1012] = "snow on the road (above Q hundred metres)";
$Event[1013] = "packed snow (above Q hundred metres)";
$Event[1014] = "fresh snow (above Q hundred metres)";
$Event[1015] = "deep snow (above Q hundred metres)";
$Event[1016] = "snow drifts (above Q hundred metres)";
$Event[1017] = "slippery due to spillage on roadway";
$Event[1018] = "slippery road (above Q hundred metres) due to snow";
$Event[1019] = "slippery road (above Q hundred metres) due to frost";
$Event[1020] = "road blocked by snow (above Q hundred metres)";
$Event[1021] = "snow on the road. Carriageway reduced (from Q lanes) to one lane";
$Event[1022] = "snow on the road. Carriageway reduced (from Q lanes) to two lanes";
$Event[1023] = "snow on the road. Carriageway reduced (from Q lanes) to three lanes";
$Event[1024] = "conditions of road surface improved";
$Event[1025] = "message cancelled";
$Event[1026] = "subsidence. Danger";
$Event[1027] = "sewer collapse. Delays (Q)";
$Event[1028] = "sewer collapse. Delays (Q) expected";
$Event[1029] = "sewer collapse. Long delays (Q)";
$Event[1030] = "sewer collapse. Danger";
$Event[1031] = "burst water main. Danger";
$Event[1032] = "gas leak. Danger";
$Event[1033] = "serious fire. Danger";
$Event[1034] = "clearance work. Danger";
$Event[1035] = "impassable (above Q hundred metres)";
$Event[1036] = "almost impassable (above Q hundred metres)";
$Event[1037] = "extremely hazardous driving conditions (above Q hundred metres)";
$Event[1038] = "difficult driving conditions (above Q hundred metres)";
$Event[1039] = "passable with care (up to Q hundred metres)";
$Event[1040] = "passable (up to Q hundred metres)";
$Event[1041] = "surface water hazard";
$Event[1042] = "loose sand on road";
$Event[1043] = "loose chippings";
$Event[1044] = "oil on road";
$Event[1045] = "petrol on road";
$Event[1047] = "icy patches (above Q hundred metres)";
$Event[1048] = "danger of icy patches (above Q hundred metres)";
$Event[1050] = "danger of black ice (above Q hundred metres)";
$Event[1054] = "slippery due to loose sand on roadway";
$Event[1055] = "mud on road. Danger";
$Event[1056] = "loose chippings. Danger";
$Event[1057] = "oil on road. Danger";
$Event[1058] = "petrol on road. Danger";
$Event[1059] = "road surface in poor condition. Danger";
$Event[1060] = "icy patches (above Q hundred metres) on bridges";
$Event[1061] = "danger of icy patches (above Q hundred metres) on bridges";
$Event[1062] = "icy patches (above Q hundred metres) on bridges, in shaded areas and on s";
$Event[1063] = "impassable for heavy vehicles (over Q)";
$Event[1064] = "impassable (above Q hundred metres) for vehicles with trailers";
$Event[1065] = "driving conditions improved";
$Event[1066] = "rescue and recovery work in progress. Danger";
$Event[1067] = "large animals on roadway";
$Event[1068] = "herds of animals on roadway";
$Event[1069] = "skid hazard reduced";
$Event[1070] = "snow cleared";
$Event[1073] = "extremely hazardous driving conditions expected (above Q hundred meters";
$Event[1074] = "freezing rain expected (above Q hundred metres)";
$Event[1075] = "danger of road being blocked by snow (above Q hundred metres)";
$Event[1079] = "temperature falling rapidly (to Q)";
$Event[1080] = "extreme heat (up to Q)";
$Event[1081] = "extreme cold (of Q)";
$Event[1082] = "less extreme temperatures";
$Event[1083] = "current temperature (Q)";
$Event[1101] = "heavy snowfall (Q)";
$Event[1102] = "heavy snowfall (Q). Visibility reduced to $Event[1103] = "heavy snowfall (Q). Visibility reduced to $Event[1104] = "snowfall (Q)";
$Event[1105] = "snowfall (Q). Visibility reduced to $Event[1106] = "hail (visibility reduced to Q)";
$Event[1107] = "sleet (visibility reduced to Q)";
$Event[1108] = "thunderstorms (visibility reduced to Q)";
$Event[1109] = "heavy rain (Q)";
$Event[1110] = "heavy rain (Q). Visibility reduced to $Event[1111] = "heavy rain (Q). Visibility reduced to $Event[1112] = "rain (Q)";
$Event[1113] = "rain (Q). Visibility reduced to $Event[1114] = "showers (visibility reduced to Q)";
$Event[1115] = "heavy frost";
$Event[1116] = "frost";
$Event[1126] = "weather situation improved";
$Event[1127] = "message cancelled";
$Event[1128] = "winter storm (visibility reduced to Q)";
$Event[1130] = "blizzard (visibility reduced to Q)";
$Event[1132] = "damaging hail (visibility reduced to Q)";
$Event[1134] = "heavy snowfall. Visibility reduced (to Q)";
$Event[1135] = "snowfall. Visibility reduced (to Q)";
$Event[1136] = "heavy rain. Visibility reduced (to Q)";
$Event[1137] = "rain. Visibility reduced (to Q)";
$Event[1170] = "heavy snowfall (Q) expected";
$Event[1171] = "heavy rain (Q) expected";
$Event[1172] = "weather expected to improve";
$Event[1173] = "blizzard (with visibility reduced to Q) expected";
$Event[1174] = "damaging hail (with visibility reduced to Q) expected";
$Event[1175] = "reduced visibility (to Q) expected";
$Event[1176] = "freezing fog expected (with visibility reduced to Q). Danger of slippery roads";
$Event[1177] = "dense fog (with visibility reduced to Q) expected";
$Event[1178] = "patchy fog (with visibility reduced to Q) expected";
$Event[1179] = "visibility expected to improve";
$Event[1180] = "adverse weather warning withdrawn";
$Event[1190] = "severe smog";
$Event[1191] = "severe exhaust pollution";
$Event[1201] = "tornadoes";
$Event[1202] = "hurricane force winds (Q)";
$Event[1203] = "gales (Q)";
$Event[1204] = "storm force winds (Q)";
$Event[1205] = "strong winds (Q)";
$Event[1209] = "gusty winds (Q)";
$Event[1210] = "crosswinds (Q)";
$Event[1211] = "strong winds (Q) affecting high-sided vehicles";
$Event[1212] = "closed for high-sided vehicles due to strong winds (Q)";
$Event[1213] = "strong winds easing";
$Event[1214] = "message cancelled";
$Event[1215] = "restrictions for high-sided vehicles lifted";
$Event[1217] = "tornado warning ended";
$Event[1301] = "dense fog (visibility reduced to Q)";
$Event[1302] = "dense fog. Visibility reduced to $Event[1303] = "dense fog. Visibility reduced to $Event[1304] = "fog (visibility reduced to Q)";
$Event[1305] = "fog. Visibility reduced to $Event[1307] = "patchy fog (visibility reduced to Q)";
$Event[1308] = "freezing fog (visibility reduced to Q)";
$Event[1309] = "smoke hazard (visibility reduced to Q)";
$Event[1310] = "blowing dust (visibility reduced to Q)";
$Event[1312] = "snowfall and fog (visibility reduced to Q)";
$Event[1313] = "visibility improved";
$Event[1314] = "message cancelled";
$Event[1318] = "visibility reduced (to Q)";
$Event[1319] = "visibility reduced to $Event[1320] = "visibility reduced to $Event[1321] = "visibility reduced to $Event[1322] = "white out (visibility reduced to Q)";
$Event[1323] = "blowing snow (visibility reduced to Q)";
$Event[1324] = "spray hazard (visibility reduced to Q)";
$Event[1325] = "low sun glare";
$Event[1326] = "sandstorms (visibility reduced to Q)";
$Event[1332] = "smog alert";
$Event[1337] = "freezing fog (visibility reduced to Q). Slippery roads";
$Event[1338] = "no motor vehicles due to smog alert";
$Event[1340] = "swarms of insects (visibility reduced to Q)";
$Event[1345] = "fog clearing";
$Event[1346] = "fog forecast withdrawn";
$Event[1450] = "international sports meeting";
$Event[1451] = "match";
$Event[1452] = "tournament";
$Event[1453] = "athletics meeting";
$Event[1454] = "ball game";
$Event[1455] = "boxing tournament";
$Event[1456] = "bull fight";
$Event[1457] = "cricket match";
$Event[1458] = "cycle race";
$Event[1459] = "football match";
$Event[1460] = "golf tournament";
$Event[1461] = "marathon";
$Event[1462] = "race meeting";
$Event[1463] = "rugby match";
$Event[1464] = "show jumping";
$Event[1465] = "tennis tournament";
$Event[1466] = "water sports meeting";
$Event[1467] = "winter sports meeting";
$Event[1468] = "funfair";
$Event[1469] = "trade fair";
$Event[1470] = "procession";
$Event[1471] = "sightseers obstructing access";
$Event[1472] = "people on roadway";
$Event[1473] = "children on roadway";
$Event[1474] = "cyclists on roadway";
$Event[1475] = "strike";
$Event[1476] = "security incident";
$Event[1477] = "police checkpoint";
$Event[1478] = "terrorist incident";
$Event[1479] = "gunfire on roadway, danger";
$Event[1480] = "civil emergency";
$Event[1481] = "air raid, danger";
$Event[1482] = "people on roadway. Danger";
$Event[1483] = "children on roadway. Danger";
$Event[1484] = "cyclists on roadway. Danger";
$Event[1485] = "closed due to security incident";
$Event[1486] = "security incident. Delays (Q)";
$Event[1487] = "security incident. Delays (Q) expected";
$Event[1488] = "security incident. Long delays (Q)";
$Event[1489] = "police checkpoint. Delays (Q)";
$Event[1490] = "police checkpoint. Delays (Q) expected";
$Event[1491] = "police checkpoint. Long delays (Q)";
$Event[1492] = "security alert withdrawn";
$Event[1493] = "sports traffic cleared";
$Event[1494] = "evacuation";
$Event[1495] = "evacuation. Heavy traffic";
$Event[1496] = "traffic disruption cleared";
$Event[1501] = "major event";
$Event[1502] = "sports event meeting";
$Event[1503] = "show";
$Event[1504] = "festival";
$Event[1505] = "exhibition";
$Event[1506] = "fair";
$Event[1507] = "market";
$Event[1508] = "ceremonial event";
$Event[1509] = "state occasion";
$Event[1510] = "parade";
$Event[1511] = "crowd";
$Event[1512] = "march";
$Event[1513] = "demonstration";
$Event[1514] = "public disturbance";
$Event[1515] = "security alert";
$Event[1516] = "bomb alert";
$Event[1517] = "major event. Stationary traffic";
$Event[1518] = "major event. Danger of stationary traffic";
$Event[1519] = "major event. Queuing traffic";
$Event[1520] = "major event. Danger of queuing traffic";
$Event[1521] = "major event. Slow traffic";
$Event[1522] = "major event. Slow traffic expected";
$Event[1523] = "major event. Heavy traffic";
$Event[1524] = "major event. Heavy traffic expected";
$Event[1525] = "major event. Traffic flowing freely";
$Event[1526] = "major event. Traffic building up";
$Event[1527] = "closed due to major event";
$Event[1528] = "major event. Delays (Q)";
$Event[1529] = "majo