urban_cli 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ee815432b4e15f4734ce8f3e45fcb5c2fd8c8b9a
4
+ data.tar.gz: 63ab9988f4e94842391a04713cb8574b7b8a2523
5
+ SHA512:
6
+ metadata.gz: 8e38d4896183d70e91076e1c9af1098e9ee873036c5ae847b539f2c5970170c2c576c963451d87034bcaa5fbde98787b2eb45787ab30dc6c04c08412f40c4a56
7
+ data.tar.gz: 8cef6a818f9297ead940e307e274869727646474a662d46d9a0c71e189a5bfd8685dd32efb24f0174c0ff9905b1e41f08035a34fd7f753e1fef44bd483ff40ed
File without changes
@@ -0,0 +1,40 @@
1
+ === 1.1.0
2
+ * Major enhancements:
3
+
4
+ * Update dependencies
5
+ * Changes fixtures to new HTML layout
6
+
7
+ * Bug fixes:
8
+
9
+ * Fix undefined method `content' for nil:NilClass
10
+
11
+ === 1.0.0
12
+
13
+ * Major enhancements:
14
+
15
+ * Change `--list` flag to the `--all` flag for more clarity.
16
+ * Deprecate `--list` flag.
17
+ * Remove query from Urban::Web replace with random and search.
18
+ * Add `url` flag to print the url of the definition.
19
+ * Remove deperecated `--list` and `-l` flags.
20
+ * Remove official support for Ruby 1.8.6.
21
+
22
+ * Minor enhancements:
23
+
24
+ * Add this history file.
25
+ * Add Urban::Web#fetch for fetching pages from urban dictionary.
26
+ * Add examples to help.
27
+ * Remove require 'rubygems' from program and lib.
28
+ * Test now only stubs singleton instead of class.
29
+ * Use ~> instead of >= on dependencies.
30
+ * Replace OpenStruct in Urban::Dictionary with plain Struct.
31
+ * Move Nokogiri call to Dictionary#process.
32
+
33
+ * Bug fixs:
34
+
35
+ * Passing -v or --version no longer prints help.
36
+ * Undefined words now show a clean error.
37
+ * No internet connection now shows a clean error.
38
+ * Invalid options now show a clean error.
39
+ * Undefined words now show a cleaner error. This was apparently not fixed
40
+ in the prior release.
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2011 Thomas Miller
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
9
+ of the Software, and to permit persons to whom the Software is furnished to do
10
+ so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,23 @@
1
+ Manifest.txt
2
+ HISTORY.rdoc
3
+ README.rdoc
4
+ LICENSE
5
+ Rakefile
6
+ bin/urban
7
+ lib/urban.rb
8
+ lib/urban/cli.rb
9
+ lib/urban/dictionary.rb
10
+ lib/urban/web.rb
11
+ test/fixtures/impromptu.html
12
+ test/fixtures/missing.html
13
+ test/fixtures/screens/definition.txt
14
+ test/fixtures/screens/definition_with_url.txt
15
+ test/fixtures/screens/definitions.txt
16
+ test/fixtures/screens/help.txt
17
+ test/fixtures/screens/invalid_option_error.txt
18
+ test/fixtures/screens/missing_phrase_error.txt
19
+ test/fixtures/screens/no_internet_error.txt
20
+ test/test_helper.rb
21
+ test/urban/cli_test.rb
22
+ test/urban/dictionary_test.rb
23
+ test/urban/web_test.rb
@@ -0,0 +1,74 @@
1
+ = Urban_CLI
2
+ == Description:
3
+
4
+ Urban is a command line utility with an API to query definitions from Urban
5
+ Dictionary.
6
+
7
+ == BADGES
8
+
9
+ {<img src="https://travis-ci.org/enilsen16/urban_cli.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/enilsen16/urban_cli]
10
+
11
+ == REQUIREMENTS
12
+
13
+ * Ruby >= 1.8.7
14
+
15
+ == INSTALLATION
16
+
17
+ With Rubygems:
18
+
19
+ $ gem install urban
20
+
21
+ With git and local working copy
22
+
23
+ $ git clone git://github.com/tmiller/urban.git
24
+ $ cd urban
25
+ $ rake install
26
+
27
+ == CLI USAGE
28
+
29
+ === 1. Look up a definition
30
+
31
+ $ urban cookie monster
32
+
33
+ === 2. Random definition
34
+
35
+ $ urban -r
36
+ $ urban --random
37
+
38
+ === 3. Print all definitions
39
+
40
+ $ urban -a cookie monster
41
+ $ urban -ra
42
+
43
+ === 4. Print the url of the definition at the end of the output
44
+
45
+ $ urban -u cookie monster
46
+ $ urban -ru
47
+
48
+ === 5. Print help and version
49
+
50
+ $ urban --help
51
+ $ urban --version
52
+
53
+ == API USAGE
54
+
55
+ require 'urban'
56
+
57
+ # Search for a word
58
+ entry = Urban::Dictionary.search('impromtpu')
59
+
60
+ # Get a random word
61
+ entry = Urban::Dictionary.random
62
+
63
+
64
+ puts entry.phrase # print the phrase
65
+ puts entry.url # print the url of the phrase
66
+
67
+ # print all of the definitions
68
+ entry.definitions.each do |definition|
69
+ puts definition
70
+ end
71
+
72
+ ---
73
+
74
+ Copyright (c) 2011 Thomas Miller. See LICENSE for details.
@@ -0,0 +1,21 @@
1
+ # -*- ruby -*-
2
+ require "rubygems"
3
+ require "hoe"
4
+
5
+ Hoe.plugin :minitest
6
+ Hoe.plugin :git
7
+
8
+ Hoe.spec "urban_cli" do
9
+ self.readme_file = "README.rdoc"
10
+ self.history_file = "History.rdoc"
11
+
12
+ license "MIT"
13
+ developer("Erik Nilsen", "enilsen16@live.com")
14
+
15
+ dependency 'nokogiri', '~> 1.6.5'
16
+
17
+ dependency 'rake', '~> 10.4', :development
18
+ dependency 'minitest', '~> 5.5', :development
19
+ end
20
+
21
+ # vim: syntax=ruby
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'urban'
4
+ require 'urban/cli'
5
+
6
+ Urban::CLI.new.run(ARGV)
@@ -0,0 +1,6 @@
1
+ require 'urban/dictionary'
2
+ require 'urban/web'
3
+
4
+ module Urban
5
+ VERSION = '1.1.0'
6
+ end
@@ -0,0 +1,107 @@
1
+ require "optparse"
2
+ require "ostruct"
3
+ require "socket"
4
+
5
+ module Urban
6
+ class CLI
7
+
8
+ attr_accessor :dictionary
9
+
10
+ def initialize
11
+ @dictionary = Urban::Dictionary.new
12
+ end
13
+
14
+ def run(args = ARGV)
15
+
16
+ options = parse(args)
17
+ results = lookup(options)
18
+
19
+ case
20
+ when results.definitions
21
+ generate_output results, options
22
+ when results.phrase
23
+ error "no definitions found for #{results.phrase.upcase}."
24
+ else
25
+ $stdout.puts options.version ? version : usage
26
+ end
27
+
28
+ rescue SocketError
29
+ error "no internet connection available."
30
+ rescue OptionParser::InvalidOption => e
31
+ error "#{e.message}\nTry `urban --help' for more information."
32
+ rescue Object => e
33
+ error e.message
34
+ end
35
+
36
+ private
37
+
38
+ def error(message)
39
+ $stderr.puts "urban: #{message}"
40
+ end
41
+
42
+ def generate_output(entry, options)
43
+ output = "\n#{entry.phrase.upcase}\n\n"
44
+ if options.all
45
+ output << "#{entry.definitions.join("\n\n")}\n\n"
46
+ else
47
+ output << "#{entry.definitions.first}\n\n"
48
+ end
49
+ output << "URL: #{entry.url}\n\n" if options.url
50
+
51
+ $stdout.puts output
52
+ end
53
+
54
+ def parse(args)
55
+ options = OpenStruct.new
56
+
57
+ options_parser = OptionParser.new do |o|
58
+ o.on("-a", "--all") { options.all = true }
59
+ o.on("-r", "--random") { options.random = true }
60
+ o.on("-u", "--url") { options.url = true }
61
+ o.on("-h", "--help")
62
+ o.on("-v", "--version") { options.version = true }
63
+ end
64
+
65
+ options_parser.parse!(args)
66
+ options.phrase = args.join(" ")
67
+ options.search = !options.phrase.empty?
68
+ options
69
+ end
70
+
71
+ def lookup(options)
72
+ case
73
+ when options.random then dictionary.random
74
+ when options.search then dictionary.search(options.phrase)
75
+ else OpenStruct.new
76
+ end
77
+ end
78
+
79
+ def version
80
+ "Urban #{Urban::VERSION} (c) Thomas Miller"
81
+ end
82
+
83
+ def usage
84
+ <<-EOS
85
+ Usage: urban [OPTION]... [PHRASE]
86
+ Search http://urbandictionary.com for definitions of phrases
87
+
88
+ Options:
89
+ -a, --all List all definitions
90
+ -r, --random Return a random phrase and definition
91
+ -u, --url Print the definition's url after the definition
92
+ -h, --help Show this message
93
+ -v, --version Show version information
94
+
95
+ Examples:
96
+ urban cookie monster Search for "cookie monster" and print its
97
+ first definition
98
+ urban -a cookie monster Search for "cookie monster" and print all of
99
+ its available definitions
100
+ urban -r Print a random phrase and its first definition
101
+ urban -ra Print a random phrase and all of its available
102
+ definitions
103
+
104
+ EOS
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,44 @@
1
+ require "nokogiri"
2
+
3
+ module Urban
4
+ class Dictionary
5
+
6
+ Entry = Struct.new(:phrase, :definitions, :url)
7
+
8
+ attr_writer :web_service
9
+
10
+ def random
11
+ process(web_service.random)
12
+ end
13
+
14
+ def search(phrase)
15
+ process(web_service.search(phrase))
16
+ end
17
+
18
+ def web_service
19
+ @web_service ||= Urban::Web.new
20
+ end
21
+
22
+ private
23
+
24
+ def process(response)
25
+ document = Nokogiri::HTML(response.stream)
26
+ if not_defined = document.at_xpath('//div[@id="not_defined_yet"]/h1/i')
27
+ Entry.new(not_defined.content.strip, nil, nil)
28
+ else
29
+ Entry.new(
30
+ document.at_xpath('//div/a[@class="word"][1]').content.strip,
31
+ parse_definitions(document),
32
+ response.url
33
+ )
34
+ end
35
+ end
36
+
37
+ def parse_definitions(document)
38
+ document.xpath('//div[@class="meaning"]').map do |node|
39
+ node.xpath("//br").each { |br| br.replace(Nokogiri::XML::Text.new("\n", node.document)) };
40
+ node.content.strip
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,48 @@
1
+ require 'open-uri'
2
+
3
+ module Urban
4
+ class Web
5
+
6
+ Response = Struct.new(:url, :stream)
7
+
8
+ def search(phrase)
9
+ build_response fetch :define, :term => phrase
10
+ end
11
+
12
+ def random
13
+ build_response fetch :random
14
+ end
15
+
16
+ private
17
+
18
+ def fetch(*args)
19
+ open build_uri(*args)
20
+ end
21
+
22
+ def build_response(response)
23
+ Response.new response.base_uri.to_s, response
24
+ end
25
+
26
+ def build_uri(page, params = nil)
27
+ query = build_query(params) unless params.nil?
28
+ escape_uri "#{url}/#{page}.php#{query}"
29
+ end
30
+
31
+ def build_query(parameters)
32
+ "?" + parameters.map { |k,v| "#{k}=#{v}" }.join("&")
33
+ end
34
+
35
+ def escape_uri(uri)
36
+ if RUBY_VERSION > '1.9'
37
+ URI::Parser.new.escape uri
38
+ else
39
+ URI.escape uri
40
+ end
41
+ end
42
+
43
+ def url
44
+ "http://www.urbandictionary.com"
45
+ end
46
+
47
+ end
48
+ end
@@ -0,0 +1,981 @@
1
+ <!DOCTYPE html>
2
+ <html lang='en-US' prefix='og: http://ogp.me/ns#'>
3
+ <!--
4
+ _|_ _ _ _|. __|_. _ _ _ _
5
+ |_|| |_)(_|| | (_||(_ | |(_)| |(_||\/
6
+ /
7
+
8
+ Need help? http://bit.ly/urbandictionary-help
9
+ -->
10
+ <head>
11
+ <meta charset='UTF-8'>
12
+ <meta content='width=device-width, initial-scale=1.0, user-scalable = no' name='viewport'>
13
+ <link href='http://a.udimg.com/' rel='dns-prefetch'>
14
+ <link href='http://api.urbandictionary.com/' rel='dns-prefetch'>
15
+ <link href='http://b.udimg.com/' rel='dns-prefetch'>
16
+ <link href='http://c.udimg.com/' rel='dns-prefetch'>
17
+ <link href='http://cdn.jsdelivr.net/' rel='dns-prefetch'>
18
+ <link href='http://d.udimg.com/' rel='dns-prefetch'>
19
+ <link href='http://d2kmrmwhq7wkvs.cloudfront.net/' rel='dns-prefetch'>
20
+ <link href='http://edge.quantserve.com/' rel='dns-prefetch'>
21
+ <link href='http://fonts.googleapis.com/' rel='dns-prefetch'>
22
+ <link href='http://fonts.gstatic.com/' rel='dns-prefetch'>
23
+ <link href='http://googleads.g.doubleclick.net/' rel='dns-prefetch'>
24
+ <link href='http://pubads.g.doubleclick.net/' rel='dns-prefetch'>
25
+ <link href='http://pagead2.googlesyndication.com/' rel='dns-prefetch'>
26
+ <link href='http://partner.googleadservices.com/' rel='dns-prefetch'>
27
+ <link href='http://pixel.quantserve.com/' rel='dns-prefetch'>
28
+ <link href='http://platform.twitter.com/' rel='dns-prefetch'>
29
+ <link href='http://stats.g.doubleclick.net/' rel='dns-prefetch'>
30
+ <link href='http://tpc.googlesyndication.com/' rel='dns-prefetch'>
31
+ <link href='http://www.facebook.com/' rel='dns-prefetch'>
32
+ <link href='http://www.google-analytics.com/' rel='dns-prefetch'>
33
+ <link href='http://www.googletagservices.com/' rel='dns-prefetch'>
34
+ <link href='http://www.gstatic.com/' rel='dns-prefetch'>
35
+ <meta content='UrbanDict' name='apple-mobile-web-app-title'>
36
+ <meta content='yes' name='apple-mobile-web-app-capable'>
37
+ <link href='http://b.udimg.com/assets/apple-touch-startup-image-320x460-7b93f59aaf26ba8237867d0e51869e68.png' media='(device-width: 320px)' rel='apple-touch-startup-image'>
38
+ <link href='http://a.udimg.com/assets/apple-touch-startup-image-640x920-abd680da8fc97cac3a9a257115d38400.png' media='(device-width: 320px) and (-webkit-device-pixel-ratio: 2)' rel='apple-touch-startup-image'>
39
+ <link href='http://b.udimg.com/assets/apple-touch-icon-fb8118d7bf6339ba80fe96b66b6eb91c.png' rel='apple-touch-icon'>
40
+ <link href="http://ar.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="ar-AR" rel="alternate" /><link href="http://az.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="az-AZ" rel="alternate" /><link href="http://bn.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="bn-BD" rel="alternate" /><link href="http://bg.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="bg-BG" rel="alternate" /><link href="http://zh.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="zh-CN" rel="alternate" /><link href="http://cs.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="cs-CZ" rel="alternate" /><link href="http://da.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="da-DK" rel="alternate" /><link href="http://nl.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="nl-NL" rel="alternate" /><link href="define.php?term=impromptu&amp;defid=266132" hreflang="en-US" rel="alternate" /><link href="http://tl.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="tl-PH" rel="alternate" /><link href="http://fr.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="fr-FR" rel="alternate" /><link href="http://de.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="de-DE" rel="alternate" /><link href="http://el.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="el-GR" rel="alternate" /><link href="http://he.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="he-IL" rel="alternate" /><link href="http://hu.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="hu-HU" rel="alternate" /><link href="http://id.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="id-ID" rel="alternate" /><link href="http://it.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="it-IT" rel="alternate" /><link href="http://ja.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="ja-JP" rel="alternate" /><link href="http://ko.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="ko-KR" rel="alternate" /><link href="http://nb.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="nb-NO" rel="alternate" /><link href="http://pl.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="pl-PL" rel="alternate" /><link href="http://pt.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="pt-BR" rel="alternate" /><link href="http://ro.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="ro-RO" rel="alternate" /><link href="http://ru.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="ru-RU" rel="alternate" /><link href="http://sr.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="sr-RS" rel="alternate" /><link href="http://es.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="es-ES" rel="alternate" /><link href="http://sv.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="sv-SE" rel="alternate" /><link href="http://th.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="th-TH" rel="alternate" /><link href="http://tr.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="tr-TR" rel="alternate" /><link href="http://uk.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="uk-UA" rel="alternate" /><link href="http://vi.urbandictionary.com/define.php?term=impromptu&amp;defid=266132" hreflang="vi-VN" rel="alternate" />
41
+ <link href='define.php?term=impromptu&amp;defid=266132' rel='canonical'>
42
+ <title>Urban Dictionary: impromptu</title>
43
+ <link href="http://b.udimg.com/assets/application-9af966626cd40d778236e23602dd76f1.css" media="screen" rel="stylesheet" />
44
+ <link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Lora:700" media="screen" rel="stylesheet" />
45
+ <link href="http://feeds.urbandictionary.com/UrbanWordOfTheDay" rel="alternate" title="Urban Word of the Day" type="application/rss+xml" />
46
+ <link href="http://a.udimg.com/favicon.ico" rel="shortcut icon" /><link href="http://a.udimg.com/favicon.ico" rel="icon" />
47
+
48
+ <link href='http://b.udimg.com/osd.xml' rel='search' title='Urban Dictionary Search' type='application/opensearchdescription+xml'>
49
+ <meta content='Something that is made up on the spot and given little time to gather and present. Usually referring to speeches that are given only a few minutes ...' name='Description' property='og:description'>
50
+ <meta content='Something that is made up on the spot and given little time to gather and present. Usually referring to speeches that are given only a few minutes ...' name='twitter:description'>
51
+ <meta content='impromptu' name='twitter:title'>
52
+ <meta content='impromptu' property='og:title'>
53
+ <meta content='@urbandictionary' name='twitter:site'>
54
+ <meta content='Urban Dictionary' property='og:site_name'>
55
+ <meta content='summary_large_image' name='twitter:card'>
56
+ <meta content='http://www.urbandictionary.com/render_definition.php?defid=266132' property='og:image'>
57
+ <meta content='http://www.urbandictionary.com/render_definition.php?defid=266132' name='twitter:image:src'>
58
+ <script>
59
+ //<![CDATA[
60
+ ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
61
+ p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
62
+ };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
63
+ n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//cdn.jsdelivr.net/snowplow/2.1.2/sp.js","snowplow"));
64
+ //]]>
65
+ </script>
66
+ <script>
67
+ //<![CDATA[
68
+ var googletag = googletag || {};
69
+ googletag.cmd = googletag.cmd || [];
70
+ (function() {
71
+ var gads = document.createElement('script');
72
+ gads.async = true;
73
+ gads.type = 'text/javascript';
74
+ var useSSL = 'https:' == document.location.protocol;
75
+ gads.src = (useSSL ? 'https:' : 'http:') +
76
+ '//www.googletagservices.com/tag/js/gpt.js';
77
+ var node = document.getElementsByTagName('script')[0];
78
+ node.parentNode.insertBefore(gads, node);
79
+ })();
80
+ //]]>
81
+ </script>
82
+ <script>
83
+ //<![CDATA[
84
+ (function() {
85
+ googletag.cmd.push(function() {
86
+ var mapping;
87
+ googletag.pubads().setTargeting("sfg_flag", "false");
88
+ googletag.pubads().setTargeting("dfp_test", null);
89
+ mapping = googletag.sizeMapping().addSize([0, 0], []).addSize([641, 0], [468, 60]).addSize([728, 0], [728, 90]).addSize([970, 0], [[728, 90], [970, 90], [970, 250]]).build();
90
+ window["div-gpt-ad-1420425574801-5"] = googletag.defineSlot("/1031683/ROS_BTF_728x90", [[728, 90], [970, 90]], "div-gpt-ad-1420425574801-5").defineSizeMapping(mapping).addService(googletag.pubads());
91
+ mapping = googletag.sizeMapping().addSize([0, 0], []).addSize([1023, 0], [[160, 600], [300, 250], [300, 600]]).build();
92
+ window["div-gpt-ad-1420425574801-6"] = googletag.defineSlot("/1031683/ROS_Right_160x60", [[160, 600], [300, 250], [300, 600]], "div-gpt-ad-1420425574801-6").defineSizeMapping(mapping).addService(googletag.pubads());
93
+ googletag.pubads().enableSingleRequest();
94
+ googletag.pubads().disableInitialLoad();
95
+ return googletag.enableServices();
96
+ });
97
+
98
+ }).call(this);
99
+ //]]>
100
+ </script>
101
+
102
+ <script>
103
+ //<![CDATA[
104
+ (function() {
105
+ window.Modernizr=function(e,t,n){function r(e){d.cssText=e}function o(e,t){return typeof e===t}var i,a,l,c="2.6.2",s={},u=t.documentElement,p="modernizr",f=t.createElement(p),d=f.style,y=({}.toString,{}),h=[],m=h.slice,v=function(e,n,r,o){var i,a,l,c,s=t.createElement("div"),f=t.body,d=f||t.createElement("body");if(parseInt(r,10))for(;r--;)l=t.createElement("div"),l.id=o?o[r]:p+(r+1),s.appendChild(l);return i=["&#173;",'<style id="s',p,'">',e,"</style>"].join(""),s.id=p,(f?s:d).innerHTML+=i,d.appendChild(s),f||(d.style.background="",d.style.overflow="hidden",c=u.style.overflow,u.style.overflow="hidden",u.appendChild(d)),a=n(s,e),f?s.parentNode.removeChild(s):(d.parentNode.removeChild(d),u.style.overflow=c),!!a},g=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t).matches;var r;return v("@media "+t+" { #"+p+" { position: absolute; } }",function(t){r="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),r},b={}.hasOwnProperty;l=o(b,"undefined")||o(b.call,"undefined")?function(e,t){return t in e&&o(e.constructor.prototype[t],"undefined")}:function(e,t){return b.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=m.call(arguments,1),r=function(){if(this instanceof r){var o=function(){};o.prototype=t.prototype;var i=new o,a=t.apply(i,n.concat(m.call(arguments)));return Object(a)===a?a:i}return t.apply(e,n.concat(m.call(arguments)))};return r});for(var w in y)l(y,w)&&(a=w.toLowerCase(),s[a]=y[w](),h.push((s[a]?"":"no-")+a));return s.addTest=function(e,t){if("object"==typeof e)for(var r in e)l(e,r)&&s.addTest(r,e[r]);else{if(e=e.toLowerCase(),s[e]!==n)return s;t="function"==typeof t?t():t,"undefined"!=typeof enableClasses&&enableClasses&&(u.className+=" "+(t?"":"no-")+e),s[e]=t}return s},r(""),f=i=null,s._version=c,s.mq=g,s.testStyles=v,s}(this,this.document),function(e,t,n){function r(e){return"[object Function]"==m.call(e)}function o(e){return"string"==typeof e}function i(){}function a(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function l(){var e=v.shift();g=1,e?e.t?y(function(){("c"==e.t?f.injectCss:f.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),l()):g=0}function c(e,n,r,o,i,c,s){function u(t){if(!d&&a(p.readyState)&&(b.r=d=1,!g&&l(),p.onload=p.onreadystatechange=null,t)){"img"!=e&&y(function(){C.removeChild(p)},50);for(var r in T[n])T[n].hasOwnProperty(r)&&T[n][r].onload()}}var s=s||f.errorTimeout,p=t.createElement(e),d=0,m=0,b={t:r,s:n,e:i,a:c,x:s};1===T[n]&&(m=1,T[n]=[]),"object"==e?p.data=n:(p.src=n,p.type=e),p.width=p.height="0",p.onerror=p.onload=p.onreadystatechange=function(){u.call(this,m)},v.splice(o,0,b),"img"!=e&&(m||2===T[n]?(C.insertBefore(p,w?null:h),y(u,s)):T[n].push(p))}function s(e,t,n,r,i){return g=0,t=t||"j",o(e)?c("c"==t?E:j,e,t,this.i++,n,r,i):(v.splice(this.i++,0,e),1==v.length&&l()),this}function u(){var e=f;return e.loader={load:s,i:0},e}var p,f,d=t.documentElement,y=e.setTimeout,h=t.getElementsByTagName("script")[0],m={}.toString,v=[],g=0,b="MozAppearance"in d.style,w=b&&!!t.createRange().compareNode,C=w?d:h.parentNode,d=e.opera&&"[object Opera]"==m.call(e.opera),d=!!t.attachEvent&&!d,j=b?"object":d?"script":"img",E=d?"script":j,S=Array.isArray||function(e){return"[object Array]"==m.call(e)},O=[],T={},x={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}};f=function(e){function t(e){var t,n,r,e=e.split("!"),o=O.length,i=e.pop(),a=e.length,i={url:i,origUrl:i,prefixes:e};for(n=0;a>n;n++)r=e[n].split("="),(t=x[r.shift()])&&(i=t(i,r));for(n=0;o>n;n++)i=O[n](i);return i}function a(e,o,i,a,l){var c=t(e),s=c.autoCallback;c.url.split(".").pop().split("?").shift(),c.bypass||(o&&(o=r(o)?o:o[e]||o[a]||o[e.split("/").pop().split("?")[0]]),c.instead?c.instead(e,o,i,a,l):(T[c.url]?c.noexec=!0:T[c.url]=1,i.load(c.url,c.forceCSS||!c.forceJS&&"css"==c.url.split(".").pop().split("?").shift()?"c":n,c.noexec,c.attrs,c.timeout),(r(o)||r(s))&&i.load(function(){u(),o&&o(c.origUrl,l,a),s&&s(c.origUrl,l,a),T[c.url]=2})))}function l(e,t){function n(e,n){if(e){if(o(e))n||(p=function(){var e=[].slice.call(arguments);f.apply(this,e),d()}),a(e,p,t,0,s);else if(Object(e)===e)for(c in l=function(){var t,n=0;for(t in e)e.hasOwnProperty(t)&&n++;return n}(),e)e.hasOwnProperty(c)&&(!n&&!--l&&(r(p)?p=function(){var e=[].slice.call(arguments);f.apply(this,e),d()}:p[c]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),d()}}(f[c])),a(e[c],p,t,c,s))}else!n&&d()}var l,c,s=!!e.test,u=e.load||e.both,p=e.callback||i,f=p,d=e.complete||i;n(s?e.yep:e.nope,!!u),u&&n(u)}var c,s,p=this.yepnope.loader;if(o(e))a(e,0,p,0);else if(S(e))for(c=0;c<e.length;c++)s=e[c],o(s)?a(s,0,p,0):S(s)?f(s):Object(s)===s&&l(s,p);else Object(e)===e&&l(e,p)},f.addPrefix=function(e,t){x[e]=t},f.addFilter=function(e){O.push(e)},f.errorTimeout=1e4,null==t.readyState&&t.addEventListener&&(t.readyState="loading",t.addEventListener("DOMContentLoaded",p=function(){t.removeEventListener("DOMContentLoaded",p,0),t.readyState="complete"},0)),e.yepnope=u(),e.yepnope.executeStack=l,e.yepnope.injectJs=function(e,n,r,o,c,s){var u,p,d=t.createElement("script"),o=o||f.errorTimeout;d.src=e;for(p in r)d.setAttribute(p,r[p]);n=s?l:n||i,d.onreadystatechange=d.onload=function(){!u&&a(d.readyState)&&(u=1,n(),d.onload=d.onreadystatechange=null)},y(function(){u||(u=1,n(1))},o),c?d.onload():h.parentNode.insertBefore(d,h)},e.yepnope.injectCss=function(e,n,r,o,a,c){var s,o=t.createElement("link"),n=c?l:n||i;o.href=e,o.rel="stylesheet",o.type="text/css";for(s in r)o.setAttribute(s,r[s]);a||(h.parentNode.insertBefore(o,h),y(n,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};;
106
+ Modernizr.load(['//cdn.jsdelivr.net/g/jquery@1.8.2,jquery.waypoints@2.0.2,qtip2@2.2.1,typeahead.js@0.9.3,sisyphus@0.1,jquery.slick@1.3.15,fastclick@1.0.3', "http://c.udimg.com/assets/application-2ad0b0e174c857a8c8fe4efe975fe972.js", '//www.google-analytics.com/cx/api.js']);
107
+
108
+ (function(){window.plow=function(n,e){var o;return null==e&&(e=document.cookie),window.snowplow("newTracker","cf","d2kmrmwhq7wkvs.cloudfront.net",{}),window.snowplow("setUserId",null!=(o=e.match(/user_id=(\d+)/))?o[1]:void 0),window.snowplow("trackPageView",null,!0,[{page:{headword_id:n}}]),window.snowplow("enableLinkClickTracking"),window.snowplow("enableFormTracking")}}).call(this),function(){window.Page={top:function(n){return null==n&&(n=window),Page.globals.responsive=function(){return Modernizr.mq("(max-width: 767px)")?"767px-max":Modernizr.mq("(min-width: 768px) and (max-width: 979px)")?"768px-979px":"default"}()},bottom:function(n){return null==n&&(n=window),null==n._gaq&&(n._gaq=[]),n._gaq.push(["_setAccount","UA-31805-1"]),n._gaq.push(["_setCustomVar",2,"responsive_mode",Page.globals.responsive,2]),n._gaq.push(["_trackPageview"]),yepnope.injectJs("//stats.g.doubleclick.net/dc.js"),null==n._qevents&&(n._qevents=[]),n._qevents.push({qacct:"p-77H27_lnOeCCI"}),yepnope.injectJs("//edge.quantserve.com/quant.js")}}}.call(this);;
109
+
110
+ plow(1161089);
111
+
112
+ Page.globals = {
113
+ "sfg_flag": false,
114
+ "rails_env": "production",
115
+ "locale": "en-US",
116
+ "api_path": "http://api.urbandictionary.com/v0",
117
+ "api_key": "ab71d33b15d36506acf1e379b0ed07ee",
118
+ "dfp_test": null,
119
+ "normalized": "impromptu",
120
+ "sfg_reason": "ass"
121
+ };
122
+
123
+ Page.top();
124
+
125
+ }).call(this);
126
+ //]]>
127
+ </script>
128
+ </head>
129
+ <body class='define_controller'>
130
+ <div id='fb-root'></div>
131
+ <div id='rollup' style='display: none'></div>
132
+ <div class='show-for-medium-up' id='dark-top'>
133
+ <div id="div-gpt-ad-1420425574801-5"><script>
134
+ //<![CDATA[
135
+ googletag.cmd.push(function() {
136
+ googletag.display('div-gpt-ad-1420425574801-5');
137
+ googletag.pubads().refresh([window['div-gpt-ad-1420425574801-5']]);
138
+ });
139
+
140
+ //]]>
141
+ </script></div>
142
+ </div>
143
+ <div class='sticky'>
144
+ <div class='row big-header' data-topbar>
145
+ <div class='logo-and-menu-bars'>
146
+ <a class='circle-button mobile-menu-bars' href='javascript:void(0)'>
147
+ <i class='icon-menu51'></i>
148
+ </a>
149
+ <a href="http://www.urbandictionary.com/" id="logo"><div class='hide-for-large-up'>
150
+ <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 637 384" class="style0">
151
+ <path d="M348.8 369c-25.1 8.1 -41.9 11.9 -50.4 11.9 -10 0 -25.1 -3.2 -45.3 -9.4 -20.2 -6.4 -34.4 -12.3 -42.7 -18.3l-74.8 26.4c-15.5 -4.3 -25.5 -7.4 -30.2 -9.4 -11.3 -5.5 -18.9 -12.5 -22.8 -21.5l-10 8.7 -8.1 -15.1 4.5 -84.4c0.4 -4.3 -0.2 -10.2 -1.9 -18.3 -1.7 -8.1 -2.6 -13.8 -2.6 -17.6 0 -5.1 0.9 -12.8 2.6 -23.4 1.7 -10.4 2.6 -18.3 2.6 -23.4 0 -18.5 -5.3 -31.7 -15.7 -39.8 -10.8 3 -21.1 4.5 -30.2 4.5l-8.1 -10.6 -6.4 -1.9c-3.4 -4.3 -6.4 -8.9 -8.7 -14.5l13.8 -13.2c23.6 -1.7 35.7 -2.6 36.6 -2.6 2.6 0 18.9 4.3 49.1 12.5l2.6 7.7c1.7 3.8 2.6 6.4 2.6 7.7 0 8.7 -4 31.9 -11.9 69.3l6.4 5.7c-3.8 21.1 -5.7 32.1 -5.7 33.4 0 10.4 4 38.1 11.9 82.5 21.5 7.7 32.7 11.3 34 11.3 25.1 0 52.3 -8.9 81.2 -27 7.2 -18.9 12.3 -41.9 15.7 -69.3 2.6 -23.6 4.9 -47.2 7 -71.2l7.7 -5.7 0 -11.9 -19.6 -13.2 -50.4 0 -3.8 -16.4 32.7 -14.5 32.7 11.9 17.6 -7 15.1 6.4c4.3 9.1 6.4 14.5 6.4 15.7 0 6 -1.3 14.5 -3.8 25.7 -2.1 10.8 -3.2 19.3 -3.2 25.1 0 -0.4 2.1 13 6.4 40.4l-7 5.1 13.8 97 11.3 -7.7c14.2 7.7 33 18.5 56.1 32.7l-6.4 25.1M625.7 369l-17 0 -12.5 10M625.7 369l-17 0 -12.5 10c-11.3 -2.6 -22.8 -4.3 -34 -5.1l-4.5 5.1 -39.8 -22.1c-3 1.3 -13.6 5.7 -32.1 13.2 -13.4 6 -24.5 8.9 -33.4 9.4l-4.5 3.8c-31.9 -2.6 -57.8 -17.2 -78 -44 -18.9 -25.1 -28.3 -54.9 -28.3 -88.9 0 -37 9.1 -69.3 27.6 -97 21.1 -31.5 48.9 -47.2 83.8 -47.2 7.7 0 18.7 3.8 33.4 11.3 15.1 7.7 26.6 11.3 34.7 11.3l3.8 -0.6 10.6 -20.8c-8.1 -7.2 -11.7 -21.3 -11.3 -42.1l0.6 -17 -10.6 -11.9c-3.4 0.9 -7 1.3 -10.6 1.3 -6.8 0 -23.2 -2.8 -49.1 -8.1l-3.2 -3.8 3.8 -21.5c6.8 -3 10.4 -4.5 11.3 -4.5l52.9 5.7 5.1 -5.1 26.4 3.8 10 15.7c-3.4 14.7 -5.1 22.3 -5.1 22.8 0 2.6 0.9 6.4 2.6 11.3 2.1 5.1 3.2 8.7 3.2 11.3 0 5.5 -0.9 13.8 -2.6 25.1 -1.7 11.3 -2.6 19.8 -2.6 25.1 0 2.1 0.9 5.3 2.6 9.4 1.7 4.3 2.6 7.4 2.6 9.4 0 1.3 -1.9 10.4 -5.7 27.6l5.7 5.1 -6.4 23.4 5.7 5.7 -5.7 15.7c3.8 12.1 7.2 29.1 10 51 3 24.2 5.7 41.3 8.1 51 18.5 16.4 37.8 24.2 57.8 24l5.1 5.1 0 15.7 -10.6 10m-111.4 -167.6 5.7 -17 -13.2 -19.6 -10.6 0 -17.6 -16.4c-22.3 -3.8 -34.2 -5.7 -35.9 -5.7 -7.2 0 -18.7 7.9 -34.7 23.4 -15.5 15.5 -23.4 26.8 -23.4 34l0 24c0 0.4 1.3 4 3.8 10.6l-3.8 4.5 0 20.2c0 13 19.3 37.8 57.8 74.2l35.9 -12.5 17.6 -22.8 11.9 0c0 -13.4 6 -29.3 17.6 -47.8l-11.3 -49.1"/>
152
+ </svg>
153
+ </div>
154
+ <div class='show-for-large-up'>
155
+ <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 949 310" xml:space="preserve">
156
+ <defs>
157
+ <clipPath id="clipPath3974">
158
+ <path d="M0 612 792 612 792 0 0 0 0 612z"/>
159
+ </clipPath>
160
+ </defs>
161
+ <g transform="matrix(1.25,0,0,-1.25,-15.352375,533.71165)">
162
+ <g clip-path="url(#clipPath3974)">
163
+ <g id="logo-urban">
164
+ <g transform="translate(35.5879,334.2124)">
165
+ <path d="M0 0C0 0 5-5 6-10 6-15 6-19 6-24 6-28 4-35 4-40c0-6 1-8 2-11 1-3 1-3 1-8 0-5-1-24-1-24l-1-15 3-7 4 4c0 0 1-3 3-6 2-3 10-6 10-6l10-3 32 13c0 0 4-3 7-4 3-1 13-6 18-7 5-1 8-2 12-2 4 0 8 1 12 3 4 1 9 3 9 3l2 12-24 16-5-4c0 0-2 17-3 26-1 9-3 21-3 21l3 2c0 0-2 16-3 20 0 4 2 14 2 16 0 2 1 8 1 8L95 12 88 15 80 12 66 18 53 11 54 3 76 3l9-6 0-6-3-3c0 0-1-10-1-17-1-7-1-15-2-23-1-10-3-19-6-27 0 0-12-7-18-10-9-3-17-3-17-3l-14 6c-2 13-4 24-5 33-1 3-1 4 0 8 0 3 2 14 2 14l-3 3c0 0 2 12 3 16 1 4 1 8 2 11 0 3 1 6 1 6l-2 7c0 0-8 3-12 4-3 1-8 2-8 2 0 0-6 0-8 0-3 0-8-1-8-1l-6-6c0 0 1-3 2-4 1-2 1-2 1-2l3-1 4-5c0 0 4 0 7 1C-3-1 0 0 0 0"/>
166
+ </g>
167
+ <g transform="translate(172.6914,351.0322)">
168
+ <path d="m0 0c0 0 6 1 10 2 4 0 8 1 14 1 6 0 23-2 23-2l3 4 4-5c0 0 5 1 10 0 5-1 18-5 18-5L96-21c0 0 0-2 0-7 0-5 2-11 1-13 0-2-4-15-4-15L76-71c0 0 7-13 9-23 1-10-2-20-2-20l4-5c0 0 4 0 7 1 2 1 3 2 3 2l8-3-4-13c-5 0-8 1-10 2l-3-2-4 4-3-3c0 0-5 6-8 16-4 12 1 18 1 18l-3 15-12 11-22 5-2-3 1-11 1 1c0 0 0-4 0-4 0 0 0-1 0-1l0-5-1 0 0-2-1 0c0 0 0-14 0-16 0-2 0-7 0-7l3-3c0 0 7-1 10-1 3 0 8 0 8 0l0-3 3-3-6-6c0 0-2 0-5 1-3 0-5 1-5 1l-2-2c0 0-5 1-10 1-6 0-23-3-23-3l-7 5 0 9 21 6 3 30-3 6c0 0 1 2 1 9 0 6-3 25-3 25l4 8c0 0-1 4-1 9-1 5-1 10-1 10l-2 0-2-3-18 5c0 0-1 2-2 6-1 4 0 7 0 7L0 0zm37-20c0 0 7 1 9 1 3 0 10 1 10 1l2-1 9 1 10-9c0 0-1-3-1-4 0-1-1-3-1-3l2-2 0-5-5-10c0 0-11-3-14-4-3-1-4-1-6-2-2 0-3 0-3 0l-1-3-5 6-6 0c0 0-1 12-1 18 0 7-1 15-1 15"/>
169
+ </g>
170
+ <g transform="translate(285.5859,414.8105)">
171
+ <path d="m0 0c0 0 3-6 8-9 5-3 7-4 10-5 3-1 8-2 8-2 0 0 3-12 4-18 1-6 2-9 2-12 0-4-1-16-2-26-1-10-1-14-1-21 0-7 1-13 2-18 1-5 2-8 2-13 1-5 0-12-1-18 0-6-2-21-2-21 0 0 11 0 11 0l5 5 9 0 4-6 36 0c0 0 8 5 13 12 5 6 7 10 10 17 3 7 5 14 7 21 1 7 3 18 3 18l-2 2c0 0-1 8-1 13-1 5-1 9-1 9l-10 13c0 0-2 2-4 6-2 4-5 12-5 12l-9 3c0 0-2 0-4 0-2 0-4 1-7 1-3 0-4 0-5 0-1-1-2 0-4-1-2 0-6-2-10-4-4-2-8-7-10-8-1-1-3-4-3-4l-6 0-2 4 5 26-3 9 3 13c0 0-2 4-3 6-1 2-2 5-2 5 0 0-10 1-17 1C17 11 10 13 8 12 5 11 4 9 2 6 1 3 0 0 0 0m67-59c0 0-4-4-10-15-6-10-7-14-9-22-2-8-2-10-2-14 0-4 1-3 1-7 0-4-1-6-1-6 0 0 5-9 13-14 7-6 13-9 16-11 3-2 7-2 7-2 0 0 1 2 4 4 3 3 6 4 6 4 0 0 2 4 5 8 3 4 5 6 5 6 0 0 1 6 2 11 1 5 1 9 1 9 0 0-1 4-2 8-1 4-2 7-2 7 0 0 1 2 1 3 0 1-1 5-1 9-1 4-1 6-1 6 0 0-3 5-6 8-3 4-6 9-6 9 0 0 0-1-5 0-5 0-3 1-6 1-3 0-3-1-5-1-2 0-1 0-3 0-1 0-2 0-2 0"/>
172
+ </g>
173
+ <g transform="translate(474.7412,344.7549)">
174
+ <path d="m0 0c0 0-3-3-3-4-1-1-2-1-3-2-1-1-1-1-3-2l-6-5-9 0-5 12c-1 2-2 3-2 5 0 2 0 8 1 14 1 6 2 9 2 9 0 0 4 3 8 6 4 2 10 6 13 7 3 1 4 1 5 2 1 0 2 0 2 0 0 0 0 0 0 1 0 1 1 1 3 1 2 0 5 0 7 0 3 0 3-1 6-1 3 0 7 0 9 0 1 0 2 0 3 0 2-1 6-2 8-3 2-1 16-5 16-5 0 0 2-2 4-6 3-4 5-6 5-6 0 0 1-12 1-15 0-2 1-17 1-18 0-1 0 0 0-2 0-2 0-4 0-6 0-2 0-11 0-11l-2 0c0 0 1-5 1-8 0-4 1-8 1-8 0 0 0-1-1-2-1-1-1-2-1-2 0 0 3-3 5-5 1-2 4-5 4-5 0 0 3 0 5 1 3 0 8 1 9 1 1 0 3 0 3 0 0 0 0-8 1-12 0-4 1-9 1-9l-9-10c0 0-4 0-7-1-3 0-9-1-9-1 0 0-6 4-9 6-3 2-8 6-8 6L32-88 17-93c0 0-10 0-17 0-6 0-10 0-14 1-4 0-11 1-11 1 0 0-5 6-7 8-2 2-5 6-5 6 0 0-2 10-3 18-1 8 0 16 0 16 0 0 2 4 4 7 2 3 5 8 5 8 0 0 15 5 19 6 4 1 6 2 9 2 3 0 2 0 7 1 4 1 10 4 14 6 3 2 5 3 6 4 1 1 2 2 2 2 0 0 1 0 3 0 2 0 5 2 8 3 2 1 4 1 4 1 0 0 1 1 3 3 2 1 3 2 3 2l0 9c0 0-5 4-12 7-7 3-11 5-14 6-4 1-5 2-8 2C9 26 6 25 5 24 3 24 1 23-1 22c-1-1-2-1-3-3-1-2-2-3-2-4 0-1-1-1-1-1 0 0 0-3 1-6 1-3 4-6 4-7C-1 1 0 0 0 0m-6-38-15-10 1-15 6-9c0 0 19 0 22 0 3 0 5 0 5 0 0 0 5 1 8 3 3 1 8 3 9 3 1 0 1 0 1 0l9 15c0 0-1 5-1 10 0 4 0 10 0 10l-8 0c0 0-6-2-11-3-5-1-4-2-8-3-4-1-6 0-9 0-3 0-5 0-8 0-2 0-3 0-3 0"/>
175
+ </g>
176
+ <g transform="translate(582.1514,389.7217)">
177
+ <path d="m0 0-13-11 2-7 0 0c0 0 4-1 6-2 3-1 5-1 7-2 1 0 3-1 3-1l3-3c0 0-2-6-2-7 0-1 0-1 0-1l3-8 3-7-7 0 0-9 6-8c0 0 0-6-2-12-2-6-4-8-4-8l2-2c0 0-3-11-3-12 0-1 0-1 0-1l3-5c0 0-1-5-1-7 0-2 0-4 0-4l-12-6-6-12c0 0 4-2 8-3 4-1 5-2 10-2 5 1 7 3 7 3 0 0 4-1 7-2 3-1 7-2 7-2l0 1 2-2 3 5c0 0 0 0 2 0 2-1 10-2 10-2l6 5 0 6c0 0 0 0-2 2-2 2-3 5-3 5 0 0-3-1-5 0-2 0-11 4-11 4 0 0-2 28-2 33 0 5-2 25-2 25l2 2c0 0-1 12-2 14 0 2 0 3 0 4 0 2 1 3 1 3 0 0 6-8 9-13 3-5 8-16 9-20 2-4 4-8 5-11 2-3 6-10 6-10 0 0 0 11-1 18 0 7-3 13-4 17-1 4-6 14-6 14l2 7-10 10 4 12-7 7c0 0-1 0-4 0-3 0-5 1-7 1-2 1-4 1-4 1l-2-2c0 0-5 1-9 2C5-1 0 0 0 0"/>
178
+ </g>
179
+ <g transform="translate(639.1406,301.7031)">
180
+ <path d="m0 0c0 0 6-3 8-3 2 0 7 0 7 0l0-1 9 0 0-9 4-6-2-2c0 0 0 0 0-1 0 0 1 0 1 0l1-20c0 0-2-2-3-4-1-2-3-5-3-5 0 0-4 0-8 2-4 2-6 6-6 6l0 6-4 5-4 0 0 11 4 4c0 0-2 3-3 5-1 2-2 4-2 4 0 0 1 5 2 7C0-1 0 0 0 0"/>
181
+ </g>
182
+ <g transform="translate(654.9531,302.5469)">
183
+ <path d="m0 0 7 0c0 0 0 4 0 8 0 5 1 10 1 13 0 3-1 4-1 6 0 2 0 2 0 5 1 3 2 9 3 11C10 46 10 48 10 48l-2 0 2 1c0 0 0 3-1 7-1 3-1 6-1 6 0 0 1 1 2 2 1 1 2 2 2 2l9-2c0 0 3 2 5 5 2 3 3 5 4 6 1 1 1 3 1 3 0 0-4 3-6 4-2 1-5 4-5 4 0 0-1 0-5 0-4-1-8-1-12-2-4 0-5-1-8 0-3 1-6 2-6 2 0 0-6-2-8-3-2 0-5-2-5-2l-2-8 4-6c0 0 3-1 7-2 3-1 6-2 7-2 0 0 1 1 1 1 0 0 1-1 2-2 1-1 2-2 2-2 0 0 1-6 1-12 1-6 2-12 2-15 0-3 1-3 0-6C-2 26-4 15-4 15c0 0 1-3 2-7C-1 4 0 0 0 0"/>
184
+ </g>
185
+ </g>
186
+ <g id="logo-dictionary-background" transform="translate(271.3555,255.4404)">
187
+ <path d="m0 0 501-17 0-60L0-60 0 0z"/>
188
+ </g>
189
+ <g id="logo-dictionary">
190
+ <g transform="translate(411.3711,229.9551)">
191
+ <path d="m0 0c0 3 2 5 5 5l18 0c3 0 5-2 5-5l0-4-7-1 0 5-14 0 0-14 14 0 0 5 7-2 0-4c0-3-2-5-5-5L5-20c-3 0-5 2-5 5L0 0z"/>
192
+ </g>
193
+ <g transform="translate(377.2852,235.9395)">
194
+ <path d="M0 0 7 0 7-25 0-25 0 0z"/>
195
+ </g>
196
+ <g transform="translate(500.7227,233.7773)">
197
+ <path d="M0 0 7 0 7-25 0-25 0 0z"/>
198
+ </g>
199
+ <g transform="translate(467.3145,234.3633)">
200
+ <path d="M0 0 7 0 7-25 0-25 0 0z"/>
201
+ </g>
202
+ <g transform="translate(456.7441,234.5479)">
203
+ <path d="M0 0 29-1 29-6 0-6 0 0z"/>
204
+ </g>
205
+ <g transform="translate(588.0039,230.9922)">
206
+ <path d="m0 0 18-15 0 14 7 0 0-25-4 0-2 0L2-10 1-25-6-25-5 0 0 0z"/>
207
+ </g>
208
+ <g transform="translate(529.4346,227.582)">
209
+ <path d="M0 0C0 3 2 5 5 5L27 4c3 0 5-2 5-5l0-15c0-3-2-5-5-5l-22 0c-3 0-5 2-5 5L0 0zM7-1 24-1 24-15 7-14 7-1z"/>
210
+ </g>
211
+ <g transform="translate(647.8594,229.9482)">
212
+ <path d="m0 0 14-25-8 0-3 5-14 0-3-5-7 0L-6 0 0 0 0 0zm1-14-4 8-4-7 8 0z"/>
213
+ </g>
214
+ <g transform="translate(676.4063,228.8828)">
215
+ <path d="m0 0 6 0 1 0 17 0c2 0 4-2 4-4l0-7c0-2-2-4-4-4l-3 0 11-9-10 0-10 9-4 0 0-9-7 0L0 0zm7-5 0-5 13 0c1 0 1 0 1 1l0 3c0 1 0 1-1 1L7-5z"/>
216
+ </g>
217
+ <g transform="translate(715.5215,228.1328)">
218
+ <path d="m0 0 10 0 8-9 8 8 9 0-14-13 0-11-7 0 0 11L0 0z"/>
219
+ </g>
220
+ <g transform="translate(331.832,236.7314)">
221
+ <path d="m0 0 16 0c7 0 12-6 12-12L28-13c0-7-6-12-12-12l-12 0-4 0-3 0L-3 0 0 0zm4-19 10 0c3 0 6 3 6 6l0 1c0 3-3 6-6 6L4-5 4-19z"/>
222
+ </g>
223
+ </g>
224
+ </g>
225
+ </g>
226
+ </svg>
227
+ </div>
228
+ </a></div>
229
+ <div class='main-actions show-for-small-only'>
230
+ <a class='circle-button' href='http://www.urbandictionary.com/add.php'>
231
+ <i class='icon-add202'></i>
232
+ </a>
233
+ <a class='circle-button' href='http://www.urbandictionary.com/random.php'>
234
+ <i class='icon-ud_shuffle'></i>
235
+ </a>
236
+ <a class='circle-button account-button' href='http://www.urbandictionary.com/users.php'>
237
+ <i class='icon-user58'></i>
238
+ </a>
239
+
240
+ </div>
241
+ <div class='main-search'>
242
+ <form accept-charset="UTF-8" action="http://www.urbandictionary.com/search.php" class="define-form" method="post"><div style="display:none"><input name="authenticity_token" type="hidden" value="auYw/Jn0RFxkGQoKMsMWG2KWGRN7jtf/4ivtp2jE334=" /></div>
243
+ <div class='row collapse'>
244
+ <div class='small-10 large-8 columns'>
245
+ <input autocomplete="off" class="autocomplete form-control" id="term" name="term" placeholder="Type any word here..." tabindex="1" type="text" />
246
+ </div>
247
+ <div class='small-2 large-4 columns'>
248
+ <button class='button large success postfix' type='submit'>
249
+ <div class='hide-for-large-up'>
250
+ <i class='icon-ud_search'></i>
251
+ </div>
252
+ <div class='show-for-large-up'>
253
+ search
254
+ </div>
255
+ </button>
256
+ </div>
257
+ </div>
258
+ </form>
259
+
260
+ </div>
261
+ <div class='main-actions show-for-medium-up'>
262
+ <a class='circle-button' href='http://www.urbandictionary.com/add.php'>
263
+ <i class='icon-add202'></i>
264
+ </a>
265
+ <a class='circle-button' href='http://www.urbandictionary.com/random.php'>
266
+ <i class='icon-ud_shuffle'></i>
267
+ </a>
268
+ <a class='circle-button account-button' href='http://www.urbandictionary.com/users.php'>
269
+ <i class='icon-user58'></i>
270
+ </a>
271
+
272
+ </div>
273
+ </div>
274
+ </div>
275
+ <div class='full-width-nav'>
276
+ <div class='row'>
277
+ <nav class='top-bar' data-topbar='' role='navigation'>
278
+ <ul class='title-area'>
279
+ <li class='toggle-topbar'>
280
+ <a href='javascript:void(0)'>
281
+ <span>Menu</span>
282
+ </a>
283
+ </li>
284
+ </ul>
285
+ <section class='top-bar-section'>
286
+ <ul class='left'>
287
+ <li><a href="http://www.urbandictionary.com/">Word of the Day</a></li><li><a href="http://www.urbandictionary.com/game.php">Approve new words</a></li><li><a href="http://www.urbandictionary.com/browse.php?character=A">Browse by letter</a></li><li><a href="http://www.urbandictionary.com/favorites.php">Favorites</a></li><li><a href="http://www.urbandictionary.com/products.php">Shop</a></li>
288
+ <li class='has-dropdown'>
289
+ <a href='javascript:void(0)'>English</a>
290
+ <ul class='dropdown'>
291
+ <li>
292
+ <a href='http://ar.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Arabic</a>
293
+ </li>
294
+ <li>
295
+ <a href='http://az.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Azerbaijani</a>
296
+ </li>
297
+ <li>
298
+ <a href='http://bn.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Bengali</a>
299
+ </li>
300
+ <li>
301
+ <a href='http://bg.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Bulgarian</a>
302
+ </li>
303
+ <li>
304
+ <a href='http://zh.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Chinese</a>
305
+ </li>
306
+ <li>
307
+ <a href='http://cs.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Czech</a>
308
+ </li>
309
+ <li>
310
+ <a href='http://da.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Danish</a>
311
+ </li>
312
+ <li>
313
+ <a href='http://nl.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Dutch</a>
314
+ </li>
315
+ <li>
316
+ <a href='define.php?term=impromptu&amp;defid=266132'>English</a>
317
+ </li>
318
+ <li>
319
+ <a href='http://tl.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Filipino</a>
320
+ </li>
321
+ <li>
322
+ <a href='http://fr.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>French</a>
323
+ </li>
324
+ <li>
325
+ <a href='http://de.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>German</a>
326
+ </li>
327
+ <li>
328
+ <a href='http://el.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Greek</a>
329
+ </li>
330
+ <li>
331
+ <a href='http://he.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Hebrew</a>
332
+ </li>
333
+ <li>
334
+ <a href='http://hu.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Hungarian</a>
335
+ </li>
336
+ <li>
337
+ <a href='http://id.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Indonesian</a>
338
+ </li>
339
+ <li>
340
+ <a href='http://it.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Italian</a>
341
+ </li>
342
+ <li>
343
+ <a href='http://ja.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Japanese</a>
344
+ </li>
345
+ <li>
346
+ <a href='http://ko.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Korean</a>
347
+ </li>
348
+ <li>
349
+ <a href='http://nb.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Norwegian</a>
350
+ </li>
351
+ <li>
352
+ <a href='http://pl.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Polish</a>
353
+ </li>
354
+ <li>
355
+ <a href='http://pt.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Portuguese</a>
356
+ </li>
357
+ <li>
358
+ <a href='http://ro.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Romanian</a>
359
+ </li>
360
+ <li>
361
+ <a href='http://ru.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Russian</a>
362
+ </li>
363
+ <li>
364
+ <a href='http://sr.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Serbian</a>
365
+ </li>
366
+ <li>
367
+ <a href='http://es.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Spanish</a>
368
+ </li>
369
+ <li>
370
+ <a href='http://sv.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Swedish</a>
371
+ </li>
372
+ <li>
373
+ <a href='http://th.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Thai</a>
374
+ </li>
375
+ <li>
376
+ <a href='http://tr.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Turkish</a>
377
+ </li>
378
+ <li>
379
+ <a href='http://uk.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Ukrainian</a>
380
+ </li>
381
+ <li>
382
+ <a href='http://vi.urbandictionary.com/define.php?term=impromptu&amp;defid=266132'>Vietnamese</a>
383
+ </li>
384
+ <li>
385
+ <a href='http://bit.ly/translateud' target='_blank'>Help translate!</a>
386
+ </li>
387
+ </ul>
388
+ </li>
389
+ </ul>
390
+ </section>
391
+ </nav>
392
+ </div>
393
+ </div>
394
+
395
+ <div id='outer'>
396
+ <div class='three-columns'>
397
+ <div class='row show-for-medium-up text-center'>
398
+ <div class='columns'>
399
+ <div id='nav2'>
400
+ <span>Browse:</span><a href="http://www.urbandictionary.com/popular.php?character=A">A</a><a href="http://www.urbandictionary.com/popular.php?character=B">B</a><a href="http://www.urbandictionary.com/popular.php?character=C">C</a><a href="http://www.urbandictionary.com/popular.php?character=D">D</a><a href="http://www.urbandictionary.com/popular.php?character=E">E</a><a href="http://www.urbandictionary.com/popular.php?character=F">F</a><a href="http://www.urbandictionary.com/popular.php?character=G">G</a><a href="http://www.urbandictionary.com/popular.php?character=H">H</a><a class="active" href="http://www.urbandictionary.com/browse.php?word=impromptu">I</a><a href="http://www.urbandictionary.com/popular.php?character=J">J</a><a href="http://www.urbandictionary.com/popular.php?character=K">K</a><a href="http://www.urbandictionary.com/popular.php?character=L">L</a><a href="http://www.urbandictionary.com/popular.php?character=M">M</a><a href="http://www.urbandictionary.com/popular.php?character=N">N</a><a href="http://www.urbandictionary.com/popular.php?character=O">O</a><a href="http://www.urbandictionary.com/popular.php?character=P">P</a><a href="http://www.urbandictionary.com/popular.php?character=Q">Q</a><a href="http://www.urbandictionary.com/popular.php?character=R">R</a><a href="http://www.urbandictionary.com/popular.php?character=S">S</a><a href="http://www.urbandictionary.com/popular.php?character=T">T</a><a href="http://www.urbandictionary.com/popular.php?character=U">U</a><a href="http://www.urbandictionary.com/popular.php?character=V">V</a><a href="http://www.urbandictionary.com/popular.php?character=W">W</a><a href="http://www.urbandictionary.com/popular.php?character=X">X</a><a href="http://www.urbandictionary.com/popular.php?character=Y">Y</a><a href="http://www.urbandictionary.com/popular.php?character=Z">Z</a><a href="http://www.urbandictionary.com/browse.php?character=%2A">#</a><a href="http://www.urbandictionary.com/yesterday.php">new</a>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ <div class='row'>
405
+ <div class='small-12 large-8 columns'>
406
+ <div class='infinite-scroll' id='content'>
407
+ <div class='jscroll-inner'>
408
+ <div class='def-panel' data-defid='266132'>
409
+ <div class='row'>
410
+ <div class='small-6 columns'>
411
+ <div class='ribbon'>
412
+ Top Definition
413
+ </div>
414
+ </div>
415
+ <div class='share small-6 columns'>
416
+ <a class='addthis_button_twitter' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;s=twitter&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F266132&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
417
+ <i class='icon-ud_twitter'></i>
418
+ </a>
419
+ <a class='addthis_button_facebook' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;s=facebook&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F266132&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
420
+ <i class='icon-ud_facebook'></i>
421
+ </a>
422
+ <a class='addthis_button_more' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F266132&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
423
+ <i class='icon-ud_share'></i>
424
+ </a>
425
+ <a class='favorite-star' href='http://www.urbandictionary.com/favorites.form.php?defid=266132' id='favorite-266132'>
426
+ <i class='icon-ud_heartunfilled'></i>
427
+ </a>
428
+ </div>
429
+ </div>
430
+ <div class='def-header'>
431
+ <a class="word" href="define.php?term=impromptu&amp;defid=266132">impromptu</a>
432
+ </div>
433
+ <div class='meaning'>
434
+ Something that is made up on the spot and given little time to gather and present. Usually referring to speeches that are given only a few minutes to prepare for.
435
+ </div>
436
+ <div class='example'>
437
+ I had to write an impromptu speech about Anal Cancer in 3 minutes without using the word &#39;ass&#39; &#39;anus&#39; &#39;shit&#39; or &#39;hair&#39;.
438
+ </div>
439
+ <div class='contributor'>
440
+ by <a class="author" href="http://www.urbandictionary.com/author.php?author=Bastardized+Bottomburp">Bastardized Bottomburp</a>
441
+ September 26, 2003
442
+ </div>
443
+ <div class='def-footer'>
444
+ <div class='row'>
445
+ <div class='small-9 medium-5 columns'><a class='thumb up' data-direction='up' href='javascript:void(0)'>
446
+ <i class='icon-ud_upvote'></i>
447
+ <span class='count'>68</span>
448
+ </a><a class='thumb down' data-direction='down' href='javascript:void(0)'>
449
+ <i class='icon-ud_downvote'></i>
450
+ <span class='count'>23</span>
451
+ </a>
452
+ </div>
453
+ <div class='small-3 columns show-for-small-only'>
454
+ <a class='dotdotdot right-link'>
455
+ <i class='icon-ud_more'></i>
456
+ </a>
457
+ </div>
458
+ <div class='medium-4 columns show-for-medium-up dotdotdot-tooltip'>
459
+ <a class='right-link' data-reveal-ajax='/images.new.php?defid=266132' data-reveal-id='remote_modal' id='image-266132'>
460
+ <i class='icon-ud_photo'></i>
461
+ </a>
462
+ <a class='right-link' data-reveal-ajax='/sound.modal.php?defid=266132' data-reveal-id='remote_modal' id='record-266132'>
463
+ <i class='icon-ud_record'></i>
464
+ </a>
465
+ <a class='right-link' data-reveal-ajax='/video.php?defid=266132' data-reveal-id='remote_modal' id='video-266132'>
466
+ <i class='icon-ud_video'></i>
467
+ </a>
468
+ </div>
469
+ <div class='medium-3 columns show-for-medium-up dotdotdot-tooltip'>
470
+ <a class='buy' href='http://www.urbandictionary.com/products.php?term=impromptu&amp;defid=266132'>
471
+ <i class='icon-ud_merch'></i>
472
+ <span>Shop</span>
473
+ </a>
474
+
475
+ </div>
476
+ </div>
477
+ </div>
478
+ </div>
479
+
480
+ <div class='definition-count-panel show-for-medium-up'>
481
+ <div class='row'>
482
+ <div class='medium-7 columns big-text'>
483
+ 2 more definitions
484
+ </div>
485
+ <div class='medium-5 columns'>
486
+ <a class="button with-icon large expand radius" href="http://www.urbandictionary.com/add.php"><i class='icon-add202'></i>
487
+ <span>Add your own</span>
488
+ </a></div>
489
+ </div>
490
+ </div>
491
+ <div class='tags-panel'>
492
+ <div class='small-caps'>
493
+ 10 Words
494
+ related to
495
+ impromptu
496
+ </div>
497
+ <ul class='tags no-bullet'>
498
+ <li class='tag'>
499
+ <a href="http://www.urbandictionary.com/define.php?term=tattoo">tattoo</a>
500
+ </li>
501
+ <li class='tag'>
502
+ <a href="http://www.urbandictionary.com/define.php?term=ad-lib">ad-lib</a>
503
+ </li>
504
+ <li class='tag'>
505
+ <a href="http://www.urbandictionary.com/define.php?term=bitch">bitch</a>
506
+ </li>
507
+ <li class='tag'>
508
+ <a href="http://www.urbandictionary.com/define.php?term=extemporaneous">extemporaneous</a>
509
+ </li>
510
+ <li class='tag'>
511
+ <a href="http://www.urbandictionary.com/define.php?term=ihdp">ihdp</a>
512
+ </li>
513
+ <li class='tag'>
514
+ <a href="http://www.urbandictionary.com/define.php?term=party">party</a>
515
+ </li>
516
+ <li class='tag'>
517
+ <a href="http://www.urbandictionary.com/define.php?term=pibe">pibe</a>
518
+ </li>
519
+ <li class='tag'>
520
+ <a href="http://www.urbandictionary.com/define.php?term=shit+your+pants">shit your pants</a>
521
+ </li>
522
+ <li class='tag'>
523
+ <a href="http://www.urbandictionary.com/define.php?term=speech">speech</a>
524
+ </li>
525
+ <li class='tag'>
526
+ <a href="http://www.urbandictionary.com/define.php?term=trini">trini</a>
527
+ </li>
528
+ </ul>
529
+ </div>
530
+ <div class='random_button'>
531
+ <a class="button large" href="http://www.urbandictionary.com/random.php"><i class='icon-ud_shuffle'></i>
532
+ <span>Random Word</span>
533
+ </a></div>
534
+ <div class='def-panel' data-defid='313210'>
535
+ <div class='row'>
536
+ <div class='small-6 columns'>
537
+ <div class='ribbon'>
538
+ 2
539
+ </div>
540
+ </div>
541
+ <div class='share small-6 columns'>
542
+ <a class='addthis_button_twitter' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;s=twitter&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F313210&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
543
+ <i class='icon-ud_twitter'></i>
544
+ </a>
545
+ <a class='addthis_button_facebook' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;s=facebook&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F313210&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
546
+ <i class='icon-ud_facebook'></i>
547
+ </a>
548
+ <a class='addthis_button_more' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F313210&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
549
+ <i class='icon-ud_share'></i>
550
+ </a>
551
+ <a class='favorite-star' href='http://www.urbandictionary.com/favorites.form.php?defid=313210' id='favorite-313210'>
552
+ <i class='icon-ud_heartunfilled'></i>
553
+ </a>
554
+ </div>
555
+ </div>
556
+ <div class='def-header'>
557
+ <a class="word" href="http://www.urbandictionary.com/define.php?term=impromptu&amp;defid=313210">impromptu</a>
558
+ </div>
559
+ <div class='meaning'>
560
+ On the spot
561
+ </div>
562
+ <div class='example'>
563
+ When my chik walked in on me with my mistress, I had to make up an impromptu excuse for why my purple headed yogurt slinger was in her tuna taco.
564
+ </div>
565
+ <div class='contributor'>
566
+ by <a class="author" href="http://www.urbandictionary.com/author.php?author=Vigilante+DB">Vigilante DB</a>
567
+ October 25, 2003
568
+ </div>
569
+ <div class='def-footer'>
570
+ <div class='row'>
571
+ <div class='small-9 medium-5 columns'><a class='thumb up' data-direction='up' href='javascript:void(0)'>
572
+ <i class='icon-ud_upvote'></i>
573
+ <span class='count'>43</span>
574
+ </a><a class='thumb down' data-direction='down' href='javascript:void(0)'>
575
+ <i class='icon-ud_downvote'></i>
576
+ <span class='count'>19</span>
577
+ </a>
578
+ </div>
579
+ <div class='small-3 columns show-for-small-only'>
580
+ <a class='dotdotdot right-link'>
581
+ <i class='icon-ud_more'></i>
582
+ </a>
583
+ </div>
584
+ <div class='medium-4 columns show-for-medium-up dotdotdot-tooltip'>
585
+ <a class='right-link' data-reveal-ajax='/images.new.php?defid=313210' data-reveal-id='remote_modal' id='image-313210'>
586
+ <i class='icon-ud_photo'></i>
587
+ </a>
588
+ <a class='right-link' data-reveal-ajax='/sound.modal.php?defid=313210' data-reveal-id='remote_modal' id='record-313210'>
589
+ <i class='icon-ud_record'></i>
590
+ </a>
591
+ <a class='right-link' data-reveal-ajax='/video.php?defid=313210' data-reveal-id='remote_modal' id='video-313210'>
592
+ <i class='icon-ud_video'></i>
593
+ </a>
594
+ </div>
595
+ <div class='medium-3 columns show-for-medium-up dotdotdot-tooltip'>
596
+ <a class='buy' href='http://www.urbandictionary.com/products.php?term=impromptu&amp;defid=313210'>
597
+ <i class='icon-ud_merch'></i>
598
+ <span>Shop</span>
599
+ </a>
600
+
601
+ </div>
602
+ </div>
603
+ </div>
604
+ </div>
605
+
606
+ <div class='ad-panel'>
607
+ <div class='dfp' id='306f309c85a8e0a9d747b7874fb83709'></div>
608
+ </div>
609
+ <div class='def-panel' data-defid='263663'>
610
+ <div class='row'>
611
+ <div class='small-6 columns'>
612
+ <div class='ribbon'>
613
+ 3
614
+ </div>
615
+ </div>
616
+ <div class='share small-6 columns'>
617
+ <a class='addthis_button_twitter' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;s=twitter&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F263663&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
618
+ <i class='icon-ud_twitter'></i>
619
+ </a>
620
+ <a class='addthis_button_facebook' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;s=facebook&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F263663&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
621
+ <i class='icon-ud_facebook'></i>
622
+ </a>
623
+ <a class='addthis_button_more' href='http://www.addthis.com/bookmark.php?v=300&amp;winname=addthis&amp;pub=ra-50dc926d011f6845&amp;source=tbx-300&amp;lng=en-US&amp;url=http%3A%2F%2Fimpromptu.urbanup.com%2F263663&amp;title=Urban%20Dictionary%3A%20impromptu' target='_blank'>
624
+ <i class='icon-ud_share'></i>
625
+ </a>
626
+ <a class='favorite-star' href='http://www.urbandictionary.com/favorites.form.php?defid=263663' id='favorite-263663'>
627
+ <i class='icon-ud_heartunfilled'></i>
628
+ </a>
629
+ </div>
630
+ </div>
631
+ <div class='def-header'>
632
+ <a class="word" href="http://www.urbandictionary.com/define.php?term=impromptu&amp;defid=263663">impromptu</a>
633
+ </div>
634
+ <div class='meaning'>
635
+ Something that is made up on the spot. Can also mean a speech that was made with little or no preparation.
636
+ </div>
637
+ <div class='example'>
638
+ The drug dealer had to come up with an impromptu excuse to his boss for losing the shipment of crack to the police.
639
+ </div>
640
+ <div class='contributor'>
641
+ by <a class="author" href="http://www.urbandictionary.com/author.php?author=AYB">AYB</a>
642
+ September 24, 2003
643
+ </div>
644
+ <div class='def-footer'>
645
+ <div class='row'>
646
+ <div class='small-9 medium-5 columns'><a class='thumb up' data-direction='up' href='javascript:void(0)'>
647
+ <i class='icon-ud_upvote'></i>
648
+ <span class='count'>42</span>
649
+ </a><a class='thumb down' data-direction='down' href='javascript:void(0)'>
650
+ <i class='icon-ud_downvote'></i>
651
+ <span class='count'>26</span>
652
+ </a>
653
+ </div>
654
+ <div class='small-3 columns show-for-small-only'>
655
+ <a class='dotdotdot right-link'>
656
+ <i class='icon-ud_more'></i>
657
+ </a>
658
+ </div>
659
+ <div class='medium-4 columns show-for-medium-up dotdotdot-tooltip'>
660
+ <a class='right-link' data-reveal-ajax='/images.new.php?defid=263663' data-reveal-id='remote_modal' id='image-263663'>
661
+ <i class='icon-ud_photo'></i>
662
+ </a>
663
+ <a class='right-link' data-reveal-ajax='/sound.modal.php?defid=263663' data-reveal-id='remote_modal' id='record-263663'>
664
+ <i class='icon-ud_record'></i>
665
+ </a>
666
+ <a class='right-link' data-reveal-ajax='/video.php?defid=263663' data-reveal-id='remote_modal' id='video-263663'>
667
+ <i class='icon-ud_video'></i>
668
+ </a>
669
+ </div>
670
+ <div class='medium-3 columns show-for-medium-up dotdotdot-tooltip'>
671
+ <a class='buy' href='http://www.urbandictionary.com/products.php?term=impromptu&amp;defid=263663'>
672
+ <i class='icon-ud_merch'></i>
673
+ <span>Shop</span>
674
+ </a>
675
+
676
+ </div>
677
+ </div>
678
+ </div>
679
+ </div>
680
+
681
+ <div class='ad-panel'>
682
+ <div class='dfp' id='f0e542ad06298afed14427436f74cbc4'></div>
683
+ </div>
684
+
685
+
686
+
687
+ </div>
688
+ </div>
689
+ </div>
690
+ <div class='large-4 columns show-for-large-up'>
691
+ <div class='panel'>
692
+ <a class="button with-icon large expand radius" href="http://www.urbandictionary.com/add.php"><i class='icon-add202'></i>
693
+ <span>Define a Word</span>
694
+ </a><div id='like_buttons'>
695
+ <div class='row'>
696
+ <a class='like-button' data-reveal-id='subscribe_modal' href='javascript:void(0)' id='subscribe-button'>
697
+ <i class='icon-close13'></i>
698
+ <span>Subscribe</span>
699
+ </a>
700
+ <a class='like-button' href='https://urbandictionary.wufoo.com/forms/how-can-we-help-you/'>
701
+ <i class='icon-comment3'></i>
702
+ <span>Feedback</span>
703
+ </a>
704
+ </div>
705
+ <div class='row'>
706
+ <iframe allowtransparency='true' data-src='https://www.facebook.com/plugins/like.php?locale=en_US&amp;href=http%3A%2F%2Ffacebook.com%2Furbandictionary&amp;send=false&amp;layout=button_count&amp;width=100&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21' frameborder='0' scrolling='no' style='border:none; overflow:hidden; width:82px; height:21px; display: inline; margin-top: 1px; margin-right: 10px'></iframe>
707
+ <iframe allowtransparency='true' data-src='https://platform.twitter.com/widgets/follow_button.html?lang=en&amp;screen_name=urbandictionary&amp;show_count=true&amp;show_screen_name=false' frameborder='0' scrolling='no' style='width:144px; height:21px; margin-right: 10px' title='Twitter Follow Button'></iframe>
708
+ </div>
709
+ </div>
710
+ </div>
711
+ <div class='panel-margin'>
712
+ <div id="div-gpt-ad-1420425574801-6"><script>
713
+ //<![CDATA[
714
+ googletag.cmd.push(function() {
715
+ googletag.display('div-gpt-ad-1420425574801-6');
716
+ googletag.pubads().refresh([window['div-gpt-ad-1420425574801-6']]);
717
+ });
718
+
719
+ //]]>
720
+ </script></div>
721
+ </div>
722
+ <div class='panel'>
723
+ <h4>
724
+ <div class='underline'>
725
+ Ten Words Trending Now
726
+ </div>
727
+ </h4>
728
+ <ul class='no-bullet trending'>
729
+ <li>
730
+ <a href="http://www.urbandictionary.com/define.php?term=thot">thot</a>
731
+ </li>
732
+ <li>
733
+ <a href="http://www.urbandictionary.com/define.php?term=tl%3Bdr">tl;dr</a>
734
+ </li>
735
+ <li>
736
+ <a href="http://www.urbandictionary.com/define.php?term=punchpology">punchpology</a>
737
+ </li>
738
+ <li>
739
+ <a href="http://www.urbandictionary.com/define.php?term=blowjob">blowjob</a>
740
+ </li>
741
+ <li>
742
+ <a href="http://www.urbandictionary.com/define.php?term=pussy">pussy</a>
743
+ </li>
744
+ <li>
745
+ <a href="http://www.urbandictionary.com/define.php?term=cum">cum</a>
746
+ </li>
747
+ <li>
748
+ <a href="http://www.urbandictionary.com/define.php?term=blumpkin">blumpkin</a>
749
+ </li>
750
+ <li>
751
+ <a href="http://www.urbandictionary.com/define.php?term=milf">milf</a>
752
+ </li>
753
+ <li>
754
+ <a href="http://www.urbandictionary.com/define.php?term=slut">slut</a>
755
+ </li>
756
+ <li>
757
+ <a href="http://www.urbandictionary.com/define.php?term=donkey+punch">donkey punch</a>
758
+ </li>
759
+ </ul>
760
+ </div>
761
+ <div class='panel'>
762
+ <h4>
763
+ <div class='underline'>
764
+ Alphabetical List
765
+ </div>
766
+ </h4>
767
+ <ul class='no-bullet alphabetical'>
768
+ <li>
769
+ <a href="http://www.urbandictionary.com/define.php?term=imprisonment">imprisonment</a>
770
+ </li>
771
+ <li>
772
+ <a href="http://www.urbandictionary.com/define.php?term=Imprist">Imprist</a>
773
+ </li>
774
+ <li>
775
+ <a href="http://www.urbandictionary.com/define.php?term=imprn">imprn</a>
776
+ </li>
777
+ <li>
778
+ <a href="http://www.urbandictionary.com/define.php?term=I%27m+Pro">I&#39;m Pro</a>
779
+ </li>
780
+ <li>
781
+ <a href="http://www.urbandictionary.com/define.php?term=improbement">improbement</a>
782
+ </li>
783
+ <li>
784
+ <a href="http://www.urbandictionary.com/define.php?term=Improdiblass">Improdiblass</a>
785
+ </li>
786
+ <li>
787
+ <a href="http://www.urbandictionary.com/define.php?term=Improe">Improe</a>
788
+ </li>
789
+ <li>
790
+ <a href="http://www.urbandictionary.com/define.php?term=improgae">improgae</a>
791
+ </li>
792
+ <li>
793
+ <a href="http://www.urbandictionary.com/define.php?term=Improlted">Improlted</a>
794
+ </li>
795
+ <li>
796
+ <a href="http://www.urbandictionary.com/define.php?term=impromperaneous">impromperaneous</a>
797
+ </li>
798
+ <li>
799
+ <a href="http://www.urbandictionary.com/define.php?term=Imprompoo">Imprompoo</a>
800
+ </li>
801
+ <li>
802
+ <a href="http://www.urbandictionary.com/define.php?term=impromptattoo">impromptattoo</a>
803
+ </li>
804
+ <li>
805
+ <a href="http://www.urbandictionary.com/define.php?term=Imprompter">Imprompter</a>
806
+ </li>
807
+ <li>
808
+ <a href="http://www.urbandictionary.com/define.php?term=Impromptitude">Impromptitude</a>
809
+ </li>
810
+ <li>
811
+ <a href="http://www.urbandictionary.com/define.php?term=impromptpoo">impromptpoo</a>
812
+ </li>
813
+ <li>
814
+ <a href="http://www.urbandictionary.com/define.php?term=impromptu">impromptu</a>
815
+ </li>
816
+ <li>
817
+ <a href="http://www.urbandictionary.com/define.php?term=Impromptu+Ding+Dong">Impromptu Ding Dong</a>
818
+ </li>
819
+ <li>
820
+ <a href="http://www.urbandictionary.com/define.php?term=impromptu+peanutbutter+sandwich">impromptu peanutbutter sandwich</a>
821
+ </li>
822
+ <li>
823
+ <a href="http://www.urbandictionary.com/define.php?term=Impromptu+Protein+Party">Impromptu Protein Party</a>
824
+ </li>
825
+ <li>
826
+ <a href="http://www.urbandictionary.com/define.php?term=Impromptuvationalist">Impromptuvationalist</a>
827
+ </li>
828
+ <li>
829
+ <a href="http://www.urbandictionary.com/define.php?term=impromtu">impromtu</a>
830
+ </li>
831
+ <li>
832
+ <a href="http://www.urbandictionary.com/define.php?term=impronathon">impronathon</a>
833
+ </li>
834
+ <li>
835
+ <a href="http://www.urbandictionary.com/define.php?term=improovisation">improovisation</a>
836
+ </li>
837
+ <li>
838
+ <a href="http://www.urbandictionary.com/define.php?term=impropaganda">impropaganda</a>
839
+ </li>
840
+ <li>
841
+ <a href="http://www.urbandictionary.com/define.php?term=Improper+Benefits+Bowl">Improper Benefits Bowl</a>
842
+ </li>
843
+ <li>
844
+ <a href="http://www.urbandictionary.com/define.php?term=Improper+bo+I+don%E2%80%99t+tell+thou">Improper bo I don’t tell thou</a>
845
+ </li>
846
+ <li>
847
+ <a href="http://www.urbandictionary.com/define.php?term=improper+dumpling">improper dumpling</a>
848
+ </li>
849
+ <li>
850
+ <a href="http://www.urbandictionary.com/define.php?term=improper+fraction">improper fraction</a>
851
+ </li>
852
+ <li>
853
+ <a href="http://www.urbandictionary.com/define.php?term=Improperganda">Improperganda</a>
854
+ </li>
855
+ <li>
856
+ <a href="http://www.urbandictionary.com/define.php?term=impropertuity">impropertuity</a>
857
+ </li>
858
+ <li>
859
+ <a href="http://www.urbandictionary.com/define.php?term=improprietous">improprietous</a>
860
+ </li>
861
+ <li>
862
+ <a href="http://www.urbandictionary.com/define.php?term=improps">improps</a>
863
+ </li>
864
+ <li>
865
+ <a href="http://www.urbandictionary.com/define.php?term=Improstable">Improstable</a>
866
+ </li>
867
+ <li>
868
+ <a href="http://www.urbandictionary.com/define.php?term=Improta+Bush">Improta Bush</a>
869
+ </li>
870
+ <li>
871
+ <a href="http://www.urbandictionary.com/define.php?term=improtantly">improtantly</a>
872
+ </li>
873
+ <li>
874
+ <a href="http://www.urbandictionary.com/define.php?term=improtivation">improtivation</a>
875
+ </li>
876
+ <li>
877
+ <a class="popular" href="http://www.urbandictionary.com/define.php?term=improv">improv</a>
878
+ </li>
879
+ <li>
880
+ <a class="popular" href="http://www.urbandictionary.com/define.php?term=improvagasm">improvagasm</a>
881
+ </li>
882
+ <li>
883
+ <a href="http://www.urbandictionary.com/define.php?term=improvasationalist">improvasationalist</a>
884
+ </li>
885
+ <li>
886
+ <a href="http://www.urbandictionary.com/define.php?term=improveder">improveder</a>
887
+ </li>
888
+ <li>
889
+ <a href="http://www.urbandictionary.com/define.php?term=improveise">improveise</a>
890
+ </li>
891
+ </ul>
892
+ </div>
893
+ <div class='panel-margin'>
894
+ <a class='twitter-timeline' data-widget-id='268841906782486528' height='500' href='https://twitter.com/search?q=urbandictionary' style='display: block; width: 300px; height: 500px' width='300'></a>
895
+ </div>
896
+ <div class='panel'>
897
+ &copy; 1999-2015 Urban Dictionary &reg;
898
+ <ul class='no-bullet'>
899
+ <li>
900
+ <a href="http://www.urbandictionary.com/static.tos.php">terms of service</a>
901
+ </li>
902
+ <li>
903
+ <a href="http://www.urbandictionary.com/static.tos.php">privacy</a>
904
+ </li>
905
+ <li>
906
+ <a href='https://urbandictionary.wufoo.com/forms/how-can-we-help-you/'>feedback</a>
907
+ </li>
908
+ <li>
909
+ <a href="http://www.urbandictionary.com/remove.php">remove</a>
910
+ </li>
911
+ <li>
912
+ <a href='http://ads.urbandictionary.com/'>advertise</a>
913
+ </li>
914
+ <li>
915
+ <a href='javascript:void(0)' onclick="javascript:window.open('http://urbandictionary.wufoo.com/forms/api-interest-form/', 'wufoo', 'width=640,height=600'); return false">api</a>
916
+ </li>
917
+ <li>
918
+ <a href="http://www.urbandictionary.com/static.chat.php">chat</a>
919
+ </li>
920
+ <li>
921
+ <a href="http://www.urbandictionary.com/static.poweredby.php">technology</a>
922
+ </li>
923
+ </ul>
924
+ </div>
925
+
926
+ </div>
927
+ </div>
928
+ </div>
929
+ </div>
930
+ <script type='text/javascript'>
931
+ Page.bottom();
932
+ </script>
933
+ <noscript>
934
+ <div style='display: none;'>
935
+ <img alt='Quantcast' height='1' src='http://pixel.quantserve.com/pixel/p-77H27_lnOeCCI.gif' width='1'>
936
+ </div>
937
+ </noscript>
938
+
939
+ <div class='reveal-modal' data-reveal='' id='remote_modal'></div>
940
+
941
+ <div class='reveal-modal' data-reveal='' id='subscribe_modal'>
942
+ <h1>Free Daily Email</h1>
943
+ <p class='text-center' id='subscribe_status'>
944
+ Type your email address below to get our <b>free Urban Word of the Day</b> every morning!
945
+ </p>
946
+ <form action='http://urbandictionary.us8.list-manage.com/subscribe/post?u=6ce0cb1e6dbef3cf7e723174b&amp;amp;id=bc0fbb01ef' class='form-horizontal' method='post' role='form'>
947
+ <div class='form-group'>
948
+ <label class='control-label col-sm-3' for='mce-EMAIL'>
949
+ Email Address
950
+ </label>
951
+ <div class='col-sm-9'>
952
+ <input class='form-control' id='mce-EMAIL' name='EMAIL' type='email' value=''>
953
+ </div>
954
+ </div>
955
+ <div class='form-group'>
956
+ <label class='control-label col-sm-3' for='mce-FNAME'>First Name</label>
957
+ <div class='col-sm-9'>
958
+ <input class='form-control' id='mce-FNAME' name='FNAME' type='text' value=''>
959
+ </div>
960
+ </div>
961
+ <div class='form-group'>
962
+ <label class='control-label col-sm-3' for='mce-LNAME'>Last Name</label>
963
+ <div class='col-sm-9'>
964
+ <input class='form-control' id='mce-LNAME' name='LNAME' type='text' value=''>
965
+ </div>
966
+ </div>
967
+ <div style='position: absolute; left: -5000px;'>
968
+ <input name='b_6ce0cb1e6dbef3cf7e723174b_bc0fbb01ef' tabindex='-1' type='text' value=''>
969
+ </div>
970
+ <div class='form-group'>
971
+ <div class='col-sm-offset-3 col-sm-9'>
972
+ <input class='button btn btn-default' id='mc-embedded-subscribe' name='subscribe' type='submit' value='Subscribe'>
973
+ </div>
974
+ </div>
975
+ </form>
976
+ <p class='text-center'>Emails are sent from daily@urbandictionary.com. We'll never spam you.</p>
977
+ <a class='close-reveal-modal'>×</a>
978
+ </div>
979
+
980
+ </body>
981
+ </html>